Liquidity management hook on Robinhood Chain

Uniswap v4 Hook Contract 0x31c8dba489fa6a4480daa896925f4b2f52dfc880 on Robinhood Chain · Liquidity management

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
1
Swaps (24h)
26 (1 traders)
Total swaps
26

What it does

This hook gates liquidity additions and swaps through a wired house contract, but from the bytecode alone it is not clear whether trades pay more or less, so no fee direction can be stated.

How it works step by step

  • Uses beforeAddLiquidity and beforeSwap hook callbacks, with a wire(address,address,address,address) setup function that stores four addresses in storage slots 0 to 2 and a packed slot 3.
  • Stores a manager address, a vault address, a house address, a swapper address and a deployer address, and gates the wire call with a one-time AlreadyWired check and an OnlyDeployer check.
  • beforeAddLiquidity reads the stored wiring and the pool lock state, indicating it can gate or redirect liquidity additions through the house contract.
  • beforeSwap reads the swapper and house addresses, indicating swaps are routed or checked against the house-contract logic before execution.
  • Exposes getHookPermissions and FLAGS so the Uniswap v4 PoolManager can read its declared permissions; the other callbacks are present but not enabled in the address permissions.
Swap behaviour
beforeSwap is enabled and reads the swapper, house and wiring state from storage; the exact fee or delta logic cannot be determined from the decoded bytecode, so whether swaps are charged more or less is unknown.
Liquidity behaviour
beforeAddLiquidity is enabled and reads the wiring state and pool lock; removals are not gated by a hook permission, and no afterAddLiquidity or remove-side logic is enabled.
Fee behaviour
Uses the pool's static fee as far as the enabled permissions show; no fee-setting function or return-delta permission was identified in the decoded bytecode.
Owner & admin controls
A deployer-only wire function sets the manager, vault, house, and swapper addresses once; after wiring it cannot be changed based on the observed AlreadyWired guard. No pause or upgrade mechanism was identified.

Enabled Uniswap v4 callbacks

beforeAddLiquidity, beforeSwap

beforeAddLiquidity: checks or gates liquidity additions against the wired house/vault state. beforeSwap: checks or routes swaps against the wired swapper and house state.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: The deployer sets the wiring once; after that no owner key was identified, so the main central dependency is the immutable deployer-chosen addresses and the external house contract.

Risk to user funds: The hook does not appear to hold tokens itself, but beforeAddLiquidity and beforeSwap can revert based on external house state, which could block liquidity additions or swaps; exact fund movement could not be determined.

Security findings

  • [info] One-time deployer wiring: The wire function is gated by OnlyDeployer and AlreadyWired, so the referenced manager, vault, house and swapper addresses are fixed after setup; correctness depends on those addresses being right.
  • [medium] Unverified house contract dependency: beforeAddLiquidity and beforeSwap both read the house address, so the hook's behaviour depends on an external contract whose logic cannot be inspected from this bytecode.
  • [medium] Liquidity addition gated by external state: beforeAddLiquidity reads the pool lock and wired addresses before allowing additions, so a misconfigured or halted house or vault could block new liquidity.

Contract details

Verified source
No
Bytecode size
2,566 bytes
Upgradeable proxy
No
Detected patterns
liquidity-management

Pools using Liquidity management hook