Access control hook on Robinhood Chain
Uniswap v4 Hook Contract 0x7fa270f2f5705152687a20f9eaae7ce739302000 on Robinhood Chain · Access control
- Volume (24h)
- $0.39
- Value locked (TVL)
- $83
- All-time volume
- $563
- Pools using this hook
- 8
- Swaps (24h)
- 2 (1 traders)
- Total swaps
- 408
What it does
A Uniswap v4 hook that gates pool initialization through a deployer-controlled authorization mapping and forwards settlement to a one-time-set adapter.
How it works step by step
- Enables only the beforeInitialize permission for this hook address
- Checks and records a pending initialization flag keyed by uint256 in beforeInitialize
- Lets the deployer authorize initialization keys via authorize(bytes32)
- Stores a settlement adapter address once, guarded by AdapterAlreadySet
- Exposes ChangedUserData for deployer-controlled user metadata updates
- Other lifecycle callbacks are present as view stubs with no observed state effects
- Swap behaviour
- No swap callbacks.
- Liquidity behaviour
- Only beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are dispatched as view stubs; no liquidity state changes were identified.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- A deployer-gated authorize(bytes32) and a ChangedUserData(address,string,string,address) setter write to storage; the deployer address is immutable-style and checked via OnlyDeployer. The settleAdapter slot is set once (AdapterAlreadySet guard), so the adapter cannot be replaced after first set. No pause or upgrade mechanism was found.
Enabled Uniswap v4 callbacks
beforeInitialize
beforeInitialize is enabled and is the only callback with a state-writing body; it consults a pending-init mapping keyed by uint256 before a pool is initialized. The remaining dispatched hook callbacks appear as view stubs and do not appear to modify state.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: The deployer key controls authorize and ChangedUserData writes and can authorize pool initialization keys; a compromised deployer key could gate which pools may initialize through this hook.
Risk to user funds: No evidence the hook holds, moves or blocks user or pool funds; its influence is on pool initialization authorization and the configured adapter, with no token transfers identified in the decoded bytecode.
Security findings
- [medium] Pool initialization gated by hook state: beforeInitialize is the only enabled permission and writes to a mapping keyed by uint256 gated by a pending-init check, so pool creation depends on this hook's authorization state.
- [medium] Single privileged deployer key: authorize and ChangedUserData are callable only by the deployer role, so a single privileged key controls authorization.
- [info] Adapter set once: The settleAdapter storage slot is written once with an AdapterAlreadySet guard, limiting later changes to the settlement adapter.
- [info] No swap or liquidity fund handling detected: Swap, donate and liquidity callbacks exist as view stubs without observed state writes, so they should not move or block user funds.
Contract details
- Verified source
- No
- Bytecode size
- 1,791 bytes
- Upgradeable proxy
- No
Pools using Access control hook
- SPCX / VG (1.00% fee) — 24h volume $0.20, TVL $7.13, 1 swaps today
- WETH / VG (1.00% fee) — 24h volume $0.19, TVL $47, 1 swaps today
- GME / VG (1.00% fee) — 24h volume $0, TVL $7.56, 0 swaps today
- KEK / VG (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- VG / AAPL (1.00% fee) — 24h volume $0, TVL $7.15, 0 swaps today
- VG / NVDA (1.00% fee) — 24h volume $0, TVL $7.04, 0 swaps today
- TSLA / VG (1.00% fee) — 24h volume $0, TVL $7.29, 0 swaps today
- VG / SNDK (1.00% fee) — 24h volume $0, TVL $0.43, 0 swaps today