Hook 0xc52f…54c0 on Robinhood Chain
Uniswap v4 Hook Contract 0xc52fc52698479e42f0da9a8a75296ec3871454c0 on Robinhood Chain · Other
- Volume (24h)
- $738.03K
- Value locked (TVL)
- $1.91M
- All-time volume
- $47.10M
- Pools using this hook
- 319
- Swaps (24h)
- 3,418 (389 traders)
- Total swaps
- 379,779
What it does
An unverified, owner-managed hook that tracks pools for registered tokens and runs custom logic around swaps and liquidity adds, apparently using Uniswap V3 pools, WETH and USDG as references, though its exact purpose cannot be confirmed.
How it works step by step
- Registers pools on initialization (afterInitialize writes to per-address flag mappings) and keeps a per-token list of pools (tokenPools, getTokenPools, MAX_TOKEN_POOLS).
- Exposes V3_FACTORY, WETH, USDG, poolFee1, poolFee2 and TICK_SPACING constants, which suggests it compares or routes against Uniswap V3 pools and uses USDG and WETH as reference assets.
- Reads an executor address (storage slot 0) in beforeSwap, afterSwap and afterAddLiquidity, so swap and add-liquidity handling probably depends on an external executor contract.
- Has an owner who can change the owner and the executor, enable or disable addresses (enabled(address)), and register or update token-to-pool lists.
- Keeps a mapping from an address pair to an address (slot 6) and a pair flag (slot 7), written by an owner-only-looking function 0x161ba132 and read in the swap and add-liquidity callbacks.
- Swap behaviour
- beforeSwap and afterSwap are enabled. From the decoded storage reads, they check the enabled flags, the token pool lists and the pair mappings, and call the executor address. The exact effect, such as a fee change, a block, a rebalance or a price check, cannot be determined from the bytecode summary.
- Liquidity behaviour
- afterAddLiquidity is enabled and reads the executor address and the pair mappings. The exact action cannot be determined. No remove-liquidity callbacks are enabled.
- Fee behaviour
- No fee-setting or fee-taking callback was identified. The permissions do not include return-delta flags, and the pool's fee is not shown to be overridden. The poolFee1 and poolFee2 constants most likely refer to V3 pool fee tiers.
- Owner & admin controls
- The owner (slot 1) can change the owner (changeOwner) and the executor address (changeExecutorAddress, which writes slot 0). Several other owner-gated functions, which I could not name, write the enabled mappings, the token pool lists and the pair mappings. No pause function or upgrade mechanism was identified in the decoded functions.
Enabled Uniswap v4 callbacks
afterInitialize, afterAddLiquidity, beforeSwap, afterSwap
afterInitialize registers or flags the new pool in the hook's mappings. afterAddLiquidity runs custom logic after liquidity is added, probably involving the executor. beforeSwap runs checks or logic before each swap using the enabled flags, pool lists and executor. afterSwap runs follow-up logic after each swap using the same state.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: The owner can replace the executor, change the owner, and edit the enabled flags, token pool lists and pair mappings. Depending on how the callbacks use them, this could alter or block swaps and liquidity adds on affected pools.
Risk to user funds: No return-delta permissions are set, so the hook cannot directly take pool funds through deltas. Whether it holds tokens or sends them to the executor cannot be determined without source. The main identified risk is that swaps or liquidity adds could be blocked or altered by hook logic and the executor.
Security findings
- [medium] Unverified source: No verified source is available. Behavior is inferred from selectors and storage access, so the true logic of beforeSwap, afterSwap and afterAddLiquidity is unconfirmed.
- [medium] Owner-changeable executor: changeExecutorAddress writes the address in slot 0, which beforeSwap, afterSwap and afterAddLiquidity read. A new executor could change what the hook does on every swap and add-liquidity.
- [medium] Swap gating by owner-set state: beforeSwap reads the enabled mapping and owner-managed pool and pair mappings. If a failed check reverts, the owner could stop swaps on affected pools, though this is not confirmed.
- [low] Direct owner transfer: changeOwner appears to set the owner in one step without a pending-owner confirmation, so a mistaken address would permanently lose control.
- [info] No return-delta permissions: The enabled permissions do not include the return-delta flags, so the hook cannot take tokens from swaps or liquidity changes through deltas.
Contract details
- Verified source
- No
- Bytecode size
- 19,429 bytes
- Upgradeable proxy
- No
Pools using Hook 0xc52f…54c0
- WETH / WTH (0.05% fee) — 24h volume $490.09K, TVL $871.17K, 2,065 swaps today
- WETH / WTH (0.10% fee) — 24h volume $235.96K, TVL $840.45K, 910 swaps today
- AMC / USDG (0.00% fee) — 24h volume $5.90K, TVL $5.81K, 71 swaps today
- USDG / NVDA (0.0375% fee) — 24h volume $1.29K, TVL $2.69K, 28 swaps today
- ETH / DUEL (2.00% fee) — 24h volume $910, TVL $1.16K, 13 swaps today
- SPY / USDG (0.0075% fee) — 24h volume $839, TVL $1.29K, 21 swaps today
- SPCX / USDG (0.10% fee) — 24h volume $642, TVL $474, 35 swaps today
- ETH / HOOKR (0.10% fee) — 24h volume $389, TVL $732, 50 swaps today
- ETH / SHROOM (0.90% fee) — 24h volume $319, TVL $1.54K, 35 swaps today
- USDG / SHROOM (10.00% fee) — 24h volume $312, TVL $1.35K, 27 swaps today
- GOOGL / USDG (0.0375% fee) — 24h volume $283, TVL $826, 19 swaps today
- USDG / SNAP (0.00% fee) — 24h volume $238, TVL $672, 7 swaps today
- USDG / SHROOM (0.75% fee) — 24h volume $203, TVL $665, 30 swaps today
- USDG / SGOV (0.00% fee) — 24h volume $202, TVL $1.99K, 6 swaps today
- GOOGL / USDG (0.10% fee) — 24h volume $124, TVL $528, 7 swaps today
- ETH / SHROOM (0.00% fee) — 24h volume $111, TVL $276, 26 swaps today
- USDG / MU (0.10% fee) — 24h volume $63, TVL $0, 8 swaps today
- USDG / MU (0.0375% fee) — 24h volume $58, TVL $715, 5 swaps today
- ETH / CASHCAT (0.10% fee) — 24h volume $39, TVL $131, 13 swaps today
- USDG / NVDA (0.10% fee) — 24h volume $18, TVL $217, 2 swaps today