Dynamic fee hook on Robinhood Chain
Uniswap v4 Hook Contract 0x66841ecfd6c36db17da8699918b72ce089c44088 on Robinhood Chain · Dynamic fee
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook runs before each swap and can adjust the swap's accounting and move currency out of the pool, but its exact fee and pricing effects cannot be determined from the bytecode alone, so it is unclear which trades pay more or less.
How it works step by step
- Implements a beforeSwap hook that can return a custom delta, letting it take over part of the swap accounting from the pool
- Calls take(address,address,uint256) on the pool manager, which moves currency out of the pool to the hook
- Reads and writes four uint256 storage slots (slots 0 through 3) on each swap and on a view call, suggesting tracked state such as counters, parameters or balances
- Uses a Panic(uint256) error path, indicating checked arithmetic or assertion-style guards
- Swap behaviour
- On every swap, beforeSwap runs and can return a non-zero delta that changes the swap amounts; the hook also withdraws currency from the pool via take. The exact pricing or fee logic cannot be determined from the decoded bytecode alone.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Cannot be determined from the decoded bytecode; the hook does not enable an afterSwap or dynamic fee override that is visible, so fees are not clearly set here.
- Owner & admin controls
- No admin controls found in the decoded selectors; the view function and storage writes do not reveal an owner check, though this cannot be confirmed without source.
Enabled Uniswap v4 callbacks
beforeSwap, beforeSwapReturnDelta
beforeSwap is enabled to inspect and adjust each swap before execution; beforeSwapReturnDelta is enabled so the hook can return a delta that alters the swap's token amounts and moves currency via take.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: Cannot be determined from the bytecode; if any storage slot holds an owner or parameter, that key could change swap amounts or the delta the hook returns.
Risk to user funds: The hook can hold or move pool currency through take and return deltas that adjust swap settlement, so it can affect user trade amounts; whether it can block swaps cannot be confirmed.
Security findings
- [high] Return delta can alter swap accounting: With beforeSwapReturnDelta enabled, the hook can return a delta that changes amounts the pool settles, and it calls take to move currency out of the pool. This gives the hook direct influence over user and pool funds.
- [medium] Currency movement via take: The bytecode contains a take(address,address,uint256) call, so the hook can withdraw tokens from the pool manager during swaps. The conditions for taking are not visible without source.
- [medium] Mutable state written on swap: Storage slots 0 to 3 are written in beforeSwap and read by a view function, so swap behaviour may depend on mutable state that could be changed by whoever controls the writes.
- [info] Unverified source: No verified source is available, so the intent of the logic and any owner or upgrade controls cannot be confirmed from the bytecode.
Contract details
- Verified source
- No
- Bytecode size
- 1,274 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Dynamic fee hook
- ETH / HILT (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today