Access control hook on BNB Chain

Uniswap v4 Hook Contract 0x2d3cad766ba4ec4bdaf1df496e2a90a47b5b0800 on BNB Chain · Access control

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
$1.31M
Pools using this hook
106
Swaps (24h)
0 (0 traders)
Total swaps
22,113

What it does

A whitelist-gated hook that restricts which addresses are allowed to add liquidity to its pool.

How it works step by step

  • Enables only the beforeAddLiquidity callback
  • Reads a whitelist mapping (address to bool) stored in slot 0
  • Checks whether the liquidity provider address is whitelisted before liquidity is added
  • Exposes isWhitelisted, whitelistSize and policyVersion view functions
  • Likely references the position manager and ownerOf for position ownership checks
Swap behaviour
No swap callbacks.
Liquidity behaviour
beforeAddLiquidity checks a whitelist mapping (storage slot 0) and appears to gate liquidity additions to whitelisted addresses; it may also verify ownership of a position via ownerOf(uint256) on the position manager, but this cannot be confirmed without source.
Fee behaviour
Uses the pool's static fee.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

beforeAddLiquidity

beforeAddLiquidity: runs before liquidity is added to the pool and is used to restrict which addresses may add liquidity.

Security & trust assessment

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

Who controls it: The whitelist is populated by logic not visible in the dispatched functions (no add or remove selector was decoded), so whoever controls the whitelist write path could decide which addresses can add liquidity. Any such controlling key cannot be identified from the bytecode alone.

Risk to user funds: The hook does not take or move pool funds (only beforeAddLiquidity is enabled and no return deltas are indicated), but it can block liquidity additions for non-whitelisted addresses. It does not directly hold user funds.

Security findings

  • [info] Whitelist write path not identified: Only read-only whitelist accessors are dispatched; the function that writes to the whitelist mapping was not identified, so the admin path is unclear.
  • [low] Liquidity provision restricted to whitelist: beforeAddLiquidity reverts for non-whitelisted callers based on the mapping read in slot 0, which would block liquidity provision for everyone else.

Contract details

Verified source
No
Bytecode size
1,448 bytes
Upgradeable proxy
No

Pools using Access control hook