Access control hook on Robinhood Chain
Uniswap v4 Hook Contract 0x2310d4113b3d88e5f5b47b111cc93cebacb5c840 on Robinhood Chain · Access control
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 3,192 (1,142 traders)
- Total swaps
- 3,192
What it does
This hook gates liquidity adds behind a signer's approval and checks every swap against a sell-enabled flag and limit, charging no extra fee but possibly blocking sells, while LPs can always withdraw.
This read was written for the hook 0x1c28…0840 on Robinhood Chain and reused here: the two run the same code.
How it works step by step
- Checks a signature from a fixed signer address before letting someone add liquidity, using per-user nonces to stop replays.
- Runs a check after every swap that reads a sellEnabled flag and a stored threshold value, so it may block sells or certain swap amounts.
- Keeps a nonce per user that is updated on liquidity adds and swaps.
- Exposes view helpers such as the signer, nonces, the sell flag and stored lists.
- Swap behaviour
- After each swap the hook runs checks against a sellEnabled flag and a stored limit, and may revert the swap; sells may be blocked when that flag is off. It cannot take tokens from swaps because swap return deltas are disabled.
- Liquidity behaviour
- Adding liquidity appears to require a valid signature from the configured signer, so only approved users can add. Remove-liquidity callbacks are disabled, so LPs can always withdraw freely.
- Fee behaviour
- Uses the pool's static fee; the hook takes no extra fee.
- Owner & admin controls
- No setter functions were found; the signer, sell flag and limit look fixed at deployment, but the signer decides who may add liquidity and possibly who may trade.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, afterSwap
beforeAddLiquidity: verifies signer approval and nonce for LP deposits; afterSwap: enforces the sell flag and limit checks and updates nonces.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: A single signer address approves liquidity adds and possibly trades. The sell flag appears fixed and may permanently prevent selling.
Risk to user funds: The hook cannot take tokens or charge fees, and LP principal can always be withdrawn. Traders may be unable to sell their tokens through this pool if sells are disabled.
Security findings
- [high] Possible sell blocking: The afterSwap check reads a sellEnabled flag that has no visible setter; if it is false, sells may revert while buys succeed, which is honeypot-like behaviour.
- [medium] Signature-gated liquidity: Adding liquidity appears to need a signature from a single signer address, so that signer controls who can provide liquidity.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block withdrawals.
Contract details
- Verified source
- No
- Bytecode size
- 12,193 bytes
- Upgradeable proxy
- No