Liquidity management hook on Robinhood Chain
Uniswap v4 Hook Contract 0x8f592cb6d4ab726d0c1a1a111940aaeb50b3eac0 on Robinhood Chain · Liquidity management
- Volume (24h)
- $0
- Value locked (TVL)
- $2.75
- All-time volume
- $0
- Pools using this hook
- 3
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook runs a hook-managed liquidity pool where LPs hold share tokens, and every swap pays an admin-adjustable dynamic fee capped by hard-coded limits, with a capped portion going to a treasury.
How it works step by step
- Manages pool liquidity itself: LPs deposit through the hook and receive share tokens instead of adding liquidity directly to the pool.
- Blocks direct add and remove liquidity calls to the pool, so liquidity moves only through the hook's own deposit and withdraw functions.
- Uses a dynamic LP fee that the admin can set within hard-coded minimum and maximum bounds.
- Takes a treasury fee share, also within a hard-coded maximum, and sends it to a treasury address.
- Records price observations during swaps so the pool can serve as a price oracle.
- Swap behaviour
- Before each swap the hook updates its price observations and applies the pool's dynamic LP fee. After the swap it updates its internal per-pool accounting. It cannot take tokens from swaps through return deltas.
- Liquidity behaviour
- Direct add and remove liquidity calls to the pool appear to be rejected. LPs deposit and withdraw through the hook, which mints and burns share tokens and moves liquidity using its own unlock flow. Whether withdrawals are always available depends on the hook's own withdraw path and pool state, which cannot be fully verified from bytecode.
- Fee behaviour
- The pool uses a dynamic LP fee that the admin sets between MIN_LP_FEE and MAX_LP_FEE, starting from a default value. A treasury fee in basis points, capped at MAX_TREASURY_FEE_BPS, goes to the treasury address. The exact percentages are not visible in the decoded data.
- Owner & admin controls
- The admin can set the LP fee within hard-coded min and max bounds, change the treasury address, set the factory, transfer admin rights in two steps, and call rescue on tokens. The exact fee caps and what rescue is allowed to move cannot be confirmed from bytecode.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap
beforeInitialize: sets up pool state and checks the pool configuration; beforeAddLiquidity: blocks direct liquidity adds that bypass the hook; beforeRemoveLiquidity: blocks direct removals that bypass the hook; beforeSwap: applies the fee and records oracle observations; afterSwap: updates the hook's accounting after each trade.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A single admin, changeable through a two-step transfer, controls the fee level within caps, the treasury address, the factory, and rescue. The worst case is a raised fee up to the cap, or rescue moving tokens if it is not properly limited.
Risk to user funds: The hook owns the pool liquidity on behalf of LPs, and LPs hold shares that they redeem through the hook. Fees are capped by constants of unknown exact size, and whether LP principal can be withdrawn freely depends on unverified withdraw and rescue logic.
Security findings
- [medium] Hook-controlled liquidity: The remove-liquidity callback is enabled, and all LP liquidity is owned by the hook and held as shares. LP withdrawals depend on the hook's own withdraw logic, which is unverified.
- [medium] Admin rescue function: A rescue function reads the treasury address and share data, so it may be limited to stray tokens. Its exact limits cannot be verified from bytecode.
- [info] Bounded dynamic fee: The LP fee and treasury fee are checked against hard-coded maximum constants, and an invalid value causes the update to revert.
Contract details
- Verified source
- No
- Bytecode size
- 21,624 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, erc20, moves-currency, self-unlock
Pools using Liquidity management hook
- SHROOM / MU (Dynamic fee) — 24h volume $0, TVL $0.90, 0 swaps today
- SHROOM / NVDA (Dynamic fee) — 24h volume $0, TVL $0.90, 0 swaps today
- USDG / SHROOM (Dynamic fee) — 24h volume $0, TVL $0.90, 0 swaps today