Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x9c8241cd884a6502233e7d9718fd2834afb62aa0 on Robinhood Chain · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $0
- Pools using this hook
- 6
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
An owner-managed Uniswap v4 hook that hooks pool initialization, liquidity changes, swaps and donations, and appears to hold and move currency through the PoolManager, but its exact pricing behaviour is unverified.
How it works step by step
- Enables beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap and beforeDonate callbacks on the pool.
- Stores owner and pending owner addresses with two-step ownership transfer.
- Stores an operator address settable by the owner.
- Maintains an address-keyed int128 mapping and an address array, likely tracking balances or signals.
- Interacts with the PoolManager via unlock, settle and sync, and mints or burns ERC-6909 claims.
- Exposes view functions such as RATIO(), LINEAR(), LIQUIDITY(), signals() and signalCount().
- Swap behaviour
- beforeSwap is enabled and a swap selector with the standard v4 signature is present, so swaps are routed through the hook; the precise swap logic (ratio or linear pricing, quote) cannot be confirmed without source.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity are enabled and expose a view-level selector with the standard v4 signature. The contract also references modifyLiquidity, mint and burn selectors and a LIQUIDITY() view, suggesting it manages its own liquidity position through the PoolManager unlock flow (unlockCallback, settle, sync). Exact liquidity accounting cannot be confirmed from decoded bytecode alone.
- Fee behaviour
- No fee logic identified in the decoded functions; the hook does not appear to set or redirect fees. Fee behaviour cannot be determined with confidence.
- Owner & admin controls
- Owner-controlled via Ownable: owner can transfer ownership (two-step with pending owner accepted via acceptOwnership), and can set an operator via setOperator(address). Owner can also call the batch function 0xf888adaa(address[],uint256[]) which writes to a signal/array-based storage (slot 5 address[] and slot 2 operator-related). No pause or upgrade mechanism identified from the decoded selectors.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, beforeDonate
beforeInitialize: runs on pool initialization, likely to validate or record pool config. beforeAddLiquidity: gates or records liquidity additions. beforeRemoveLiquidity: gates or records liquidity removals. beforeSwap: runs on every swap, possibly to enforce a ratio/linear pricing or signal logic (RATIO(), LINEAR(), quote() selectors present). beforeDonate: runs on donations to the pool.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: The owner, and any operator it designates, can influence the signals/array state and transfer control of the contract. Without source it is unclear whether the owner can change pricing parameters or block swaps.
Risk to user funds: Because the hook can invoke unlockCallback, settle and sync and mint/burn tokens, it can hold and move pool funds. Owner-controlled state can influence swap and liquidity callbacks, so user funds depend on the owner behaving as expected.
Security findings
- [medium] Privileged owner and operator roles: Owner can transfer ownership and set an operator; these privileged roles may gate state-changing behaviour in hook callbacks.
- [medium] Hook moves currency via unlock flow: The contract includes unlockCallback and settle/sync selectors, indicating it can move currency through the PoolManager and hold or transfer pool tokens.
- [medium] Before-callbacks can gate trading: Hook is enabled for beforeSwap and liquidity callbacks, so a bug or privileged change could block or distort swaps and liquidity operations.
- [info] Unverified source: Contract is not verified; behaviour is inferred from selectors and storage only, so intent cannot be confirmed.
Contract details
- Verified source
- No
- Bytecode size
- 19,688 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, erc6909-claims, moves-currency, ownable, self-unlock
Pools using Fee sharing hook
- WETH / sTORC (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- WETH / sFNG (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- WETH / sSPX (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- WETH / sTSLA (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- WETH / sETH (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- WETH / sBTC (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today