Aggregator hook on Arbitrum
Uniswap v4 Hook Contract 0x2021916a2f473ab70a7d399fd7ca8afd4c606888 on Arbitrum · Aggregator
- Volume (24h)
- $0
- Value locked (TVL)
- $619.57K
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook routes exact-input swaps from one trusted router straight into a single DODO V2 pool with no added hook fee, so traders pay only DODO's own pool fees and there is no v4 liquidity to deposit or lock.
This read was written for the hook 0x2e6a…e888 on Arbitrum and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- Routes Uniswap v4 swaps on its single pool directly into one fixed DODO V2 pool on Arbitrum and returns the DODO output to the trader.
- Only accepts swaps sent through one fixed trusted router; any other swap caller is rejected.
- Supports exact-input swaps only; exact-output swaps revert.
- Blocks all liquidity additions, since the v4 pool holds no liquidity of its own and all pricing comes from DODO.
- Charges no extra hook fee: the fee is fixed at 0% at deployment and cannot be changed.
- Swap behaviour
- Each exact-input swap from the trusted router sends the trader's input to the DODO pool, checks the measured output matches what DODO reported, and passes that output to the trader, so the trader pays only DODO's own pool fees. Swaps from any other sender, exact-output swaps, and native ETH are rejected.
- Liquidity behaviour
- Adding liquidity always reverts because the pool is a pass-through to DODO. Remove-liquidity callbacks are disabled, so the hook can never block withdrawals (there are no v4 LP positions to withdraw).
- Fee behaviour
- The hook's own fee is hard-coded to 0% (deployment reverts on any non-zero fee; the base contract caps it at 1% anyway), and the v4 pool fee must be 0. Traders only pay the DODO pool's internal LP and maintainer fees, already reflected in the output.
- Owner & admin controls
- No admin controls found; the DODO pool, trusted router, fee (0%), vault and exempt list are all immutable. A permissionless sweep function can only send stray hook balances to the fixed vault while no swap is running.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
beforeInitialize: allows one pool only, with fee 0, tick spacing 1 and the DODO pair's tokens; beforeAddLiquidity: always reverts to block LP deposits; beforeSwap: checks the trusted router and executes the swap on DODO; beforeSwapReturnDelta: replaces v4's own pricing with the DODO fill amounts.
Security & trust assessment
Risk level: low, estimated (decoded bytecode, high confidence).
Who controls it: There is no owner or admin key; all parameters are set at deployment and cannot be changed. The worst outcome is that swaps stop working if the fixed router or DODO pool becomes unusable.
Risk to user funds: The hook only handles a trader's input and output within a single atomic swap, with a 0% hook fee. It holds no LP principal, deposits are blocked, and nothing can be locked or drained.
Security findings
- [info] Zero fee, immutable configuration: The hook fee is fixed at 0% with no setter, and the DODO pool and router addresses cannot be changed after deployment.
- [info] Trusted router gating: Only one fixed router address can swap through the hook; other callers are rejected, which limits who can use this route but cannot touch funds.
- [info] Output checked against DODO report: The hook measures the actual tokens received and reverts if they are zero, exceed DODO's reported amount, or do not match the settled amount.
Contract details
- Verified source
- No
- Bytecode size
- 14,913 bytes
- Upgradeable proxy
- No
- Detected patterns
- aggregator, moves-currency, return-delta
Pools using Aggregator hook
- WETH / USDC (0.00% fee) — 24h volume $0, TVL $619.57K, 0 swaps today