Liquidity management hook on Robinhood Chain
Uniswap v4 Hook Contract 0xeaa3e1775a1bb2d1fe161d5d6dca3cd99a6d2fc0 on Robinhood Chain · Liquidity management
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 7 (4 traders)
- Total swaps
- 7
What it does
This hook is set up to gate and track liquidity additions, removals and swaps in a Uniswap v4 pool, wired once to a vault, house and swapper, though its exact fee and token-movement behaviour can't be confirmed without source.
How it works step by step
- Hook is wired once through wire(address,address,address,address) by a deployer, which stores the manager, vault, swapper and house addresses and sets a wired flag
- Gates liquidity additions and removals and swaps with before-callbacks that check the poolLock and wired state before allowing the operation
- Runs after-callbacks on add liquidity, remove liquidity and swap, which reference the house and vault addresses
- Exposes a getHookPermissions function and a FLAGS value, consistent with a standard v4 hook
- Contains custom errors HookNotImplemented, OnlyDeployer, ZeroAddress and AlreadyWired, plus a Panic error
- Swap behaviour
- Swap callbacks are enabled (beforeSwap and afterSwap). Decoded bytecode does not reveal the fee or delta logic in detail, so the exact effect on swap pricing or fees cannot be confirmed.
- Liquidity behaviour
- Before and after callbacks run on both add and remove liquidity, with checks on poolLock and wired state. The exact accounting, including any token movement to or from the vault or house, cannot be fully determined from the bytecode.
- Fee behaviour
- Uses the pool's static fee as far as the decoded bytecode shows; no dynamic fee setter was identified.
- Owner & admin controls
- A deployer address is set during construction and can call wire once; the wired state is then fixed. No owner-style pause or parameter-change function was identified, and no upgrade mechanism was found.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap
beforeInitialize and afterInitialize-era setup is used to validate pool initialization; beforeAddLiquidity and afterAddLiquidity gate and track LP deposits; beforeRemoveLiquidity and afterRemoveLiquidity gate and track LP withdrawals; beforeSwap and afterSwap gate and observe swaps.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: The deployer controls the single wiring step that sets the manager, vault, swapper and house addresses. After wiring, no owner key was identified with the ability to pause, upgrade or change fees.
Risk to user funds: The hook interacts with the vault and house addresses during liquidity and swap callbacks, so it may hold or route funds that depend on those contracts. The exact extent cannot be confirmed without source.
Security findings
- [medium] Unverified source: No verified source is available, so the exact accounting and token-movement logic in the before and after callbacks cannot be fully audited from bytecode alone.
- [low] One-time wiring by deployer: The deployer can wire the hook to manager, vault, swapper and house addresses once; a misconfigured wiring call would be permanent.
- [info] Multiple liquidity and swap callbacks enabled: Eight hook callbacks are enabled, so any logic error in the before or after paths would affect every add, remove and swap in the pool.
Contract details
- Verified source
- No
- Bytecode size
- 3,883 bytes
- Upgradeable proxy
- No
- Detected patterns
- liquidity-management