Hook 0x7098…3a80 on Optimism
Uniswap v4 Hook Contract 0x7098bf7dff80532aa6bbdb52df4ac4992bec3a80 on Optimism · Other
- Volume (24h)
- $61
- Value locked (TVL)
- $1.43K
- All-time volume
- $25.05K
- Pools using this hook
- 4
- Swaps (24h)
- 66 (1 traders)
- Total swaps
- 35,296
What it does
A Uniswap v4 hook for a SuperDCA-related pool that adjusts swap fees and gates liquidity actions, with privileged roles controlling fees, listings and routers.
How it works step by step
- Registers and validates pool initialization via beforeInitialize and afterInitialize
- Gates liquidity additions and removals through beforeAddLiquidity and beforeRemoveLiquidity based on internal or verified address status
- Applies swap-time fee logic in beforeSwap using stored internal, external and keeper fees
- Lets privileged roles change fees and listing, staking and verified router addresses
- Supports a keeper role with a deposit and fee via becomeKeeper
- Calls donate and token transfer functions, so it can move currency
- Swap behaviour
- beforeSwap is enabled and applies fee and routing logic based on the caller, using the internal, external and keeper fee settings and verified router checks.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity callbacks are enabled and check whether the sender is an internal or verified address; the exact enforcement logic could not be confirmed from bytecode alone.
- Fee behaviour
- Fees are not static: the hook stores internal, external and keeper pool fees (uint24 values in storage slot 4) that can be changed through setFee by privileged roles, and the keeper role is taken via becomeKeeper with a deposit. Exact fee tiers and which fee applies to which caller could not be fully determined without source.
- Owner & admin controls
- Owner or role-holders (DEFAULT_ADMIN_ROLE and MANAGER_ROLE via AccessControl-style grantRole/revokeRole) can call setFee(uint8,uint24) to change the internal, external and keeper pool fees, setListing, setStaking, setInternalAddress, setVerifiedRouter, updateManager, and transferOwnership. The hook also exposes returnSuperDCATokenOwnership and becomeKeeper, which change keeper status and fees.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap
beforeInitialize and afterInitialize are used to register or validate pool setup; beforeAddLiquidity and beforeRemoveLiquidity gate liquidity changes based on address status; beforeSwap applies the fee and routing logic for swaps; the hook also calls donate and moves currency (settle, sync, transfer, transferFrom) as indicated by the heuristic tags.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: A privileged admin or manager can change pool fees, the listing and staking addresses, verified routers and internal addresses, and can transfer ownership. A malicious or compromised key could raise fees or alter routing and access to liquidity actions.
Risk to user funds: The hook can move tokens through transfer, transferFrom, donate and settle calls and can alter fees and routing, so user and pool funds depend on the honesty and key security of the privileged roles. Exact exposure could not be fully determined without source.
Security findings
- [medium] Admin-adjustable pool fees: setFee lets role holders change internal, external and keeper fees stored in slot 4, so fees are controlled by a privileged key rather than fixed at deployment.
- [medium] Centralized role and address control: The hook holds the Ownable/AccessControl owner and manager roles and can reassign listing, staking and verified router addresses, concentrating control in one key.
- [medium] Hook moves currency: The hook makes token transfers and donations (transfer, transferFrom, donate, settle, sync), so it can move pool or user funds, and the exact flows could not be verified without source.
- [info] Unverified source: No verified source was available, so the function logic was inferred from selectors and storage only and may be incomplete.
Contract details
- Verified source
- No
- Bytecode size
- 16,970 bytes
- Upgradeable proxy
- No
- Detected patterns
- donates, moves-currency, ownable
Pools using Hook 0x7098…3a80
- ETH / DCA (Dynamic fee) — 24h volume $30, TVL $577, 27 swaps today
- USDC / DCA (Dynamic fee) — 24h volume $22, TVL $353, 23 swaps today
- WBTC / DCA (Dynamic fee) — 24h volume $8.85, TVL $503, 10 swaps today
- OP / DCA (Dynamic fee) — 24h volume $0, TVL $0, 6 swaps today