Access control hook on Robinhood Chain

Uniswap v4 Hook Contract 0x07c126c2665624351ec80b6673d4fca222e1a080 on Robinhood Chain · Access control

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

What it does

A permissioned hook that appears to gate swaps and pool initialization, with owner-managed versioning and a wallet allowlist that controls who can trade.

How it works step by step

  • Runs a check in beforeInitialize when a pool is created
  • Runs a check in beforeSwap on every swap through the pool
  • Looks up whether a caller address is allowed (isAllowed, storage slot 4)
  • Stores versioned configuration with a mapping from version to a value (slot 3)
  • Supports two-step ownership transfer for administration
Swap behaviour
beforeSwap is exposed and appears to check the caller against an allowlist and active version before allowing the swap to proceed.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee. No fee-setting function is identified among the decoded selectors.
Owner & admin controls
Owner-gated via Ownable-style storage (owner in slot 0, pending owner in slot 1): transferOwnership, renounceOwnership and acceptOwnership (two-step) are exposed. Owner-restricted writes to versioned mappings (slots 2 to 4) appear in selectors 0x40c094ba, 0x6fc96d8d and 0x825671d8, which likely manage version activation and per-wallet allowlists. Exact permissions could not be confirmed without source.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap

beforeInitialize: checks pool initialization conditions (exact logic not determinable from bytecode). beforeSwap: gates swaps, likely via the isAllowed allowlist lookup and version checks in storage.

Security & trust assessment

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

Who controls it: The owner can transfer or renounce ownership and, based on storage writes, likely controls version activation and the allowlist of wallets permitted to trade. A compromised owner key could block specific addresses or versions from swapping.

Risk to user funds: The hook does not appear to take custody of tokens or modify balances directly, but it can block swaps via allowlist or version checks, so user funds could be temporarily inaccessible through trading. Confidence is low due to the lack of verified source.

Security findings

  • [medium] Possible swap gating by wallet allowlist: beforeSwap reads an allowlist mapping (slot 4, keyed by version and address), indicating swaps may be restricted to permitted wallets.
  • [medium] Owner-controlled trading permissions: Owner can add or remove allowed wallets and change the active version, which can freeze or restrict trading for users.
  • [info] Two-step ownership transfer: Ownership uses a two-step transfer (pendingOwner plus acceptOwnership), which reduces accidental transfer risk.
  • [info] Panic revert path present: The contract contains a Panic(uint256) selector, indicating checked arithmetic or assert-style reverts.

Contract details

Verified source
No
Bytecode size
4,728 bytes
Upgradeable proxy
No
Detected patterns
ownable

Pools using Access control hook