Access control hook on BNB Chain
Uniswap v4 Hook Contract 0xa9f34ae9c1ccfd561e56358a8b701510ef394800 on BNB Chain · Access control
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $15.28M
- Pools using this hook
- 271
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 300,243
What it does
An allowlist hook that only lets approved liquidity provider addresses add liquidity to a pool, with an owner who manages the list.
How it works step by step
- Implements beforeAddLiquidity and checks a mapping(address => bool) of allowed providers in storage slot 1.
- Exposes isAllowedProvider(address) so anyone can see whether an address may add liquidity.
- The owner (storage slot 0) can set allowed status for one address (0xc4ed4354 with address,bool) or for many addresses at once (0x65d24453 with address[],bool).
- A function 0x6ff1f06e(address) writes slot 0, which is most likely an ownership transfer, though its name is not known.
- Custom error selectors E1 and E3(address) are used, probably to reject unauthorized callers or disallowed providers; their exact meaning cannot be confirmed.
- Swap behaviour
- No swap callbacks.
- Liquidity behaviour
- Before liquidity is added, the hook reads the allowlist and, judging by the custom errors, reverts if the provider is not approved. Which address is checked (the sender or the position owner) cannot be determined from the decoded output. Removing liquidity is not hooked, so exits are not blocked by this hook.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- A single owner address in slot 0 can add or remove providers individually or in batches. The owner can probably be changed through function 0x6ff1f06e(address), which is unnamed. No pause, upgrade or fee controls were found in the decoded functions.
Enabled Uniswap v4 callbacks
beforeAddLiquidity
beforeAddLiquidity is used to enforce the liquidity provider allowlist before any position is increased.
Security & trust assessment
Risk level: low (decoded bytecode, medium confidence).
Who controls it: The owner controls which addresses may add liquidity and can change the list at any time. If ownership can be transferred, the owner role can be handed to another address. The owner has no visible way to change fees, pause swaps or move funds.
Risk to user funds: Low. The hook has no return-delta permissions, no swap or remove-liquidity callbacks and no visible token transfer logic. The only effect on users is that non-approved addresses cannot add liquidity.
Security findings
- [info] Owner-controlled LP allowlist: Functions 0xc4ed4354 and 0x65d24453 write the allowlist mapping in slot 1 and read the owner in slot 0. The owner therefore decides who may add liquidity.
- [low] Liquidity can be gated by the owner: The owner can remove any address from the allowlist, which blocks new liquidity additions. This does not affect removals, because beforeRemoveLiquidity is not enabled.
- [info] Unnamed ownership function: Function 0x6ff1f06e(address) is the only function other than the owner-gated setters that writes slot 0. It is most likely a transfer of ownership, but this is inferred from the storage layout rather than confirmed.
- [info] No swap, delta or fee logic: Only beforeAddLiquidity is enabled, with no return-delta permissions, so the hook cannot take tokens from swaps or liquidity operations.
Contract details
- Verified source
- No
- Bytecode size
- 1,685 bytes
- Upgradeable proxy
- No
Pools using Access control hook
- 富贵 / U (0.1813% fee) — 24h volume $0, TVL $0, 0 swaps today
- Dust / U (0.0752% fee) — 24h volume $0, TVL $0, 0 swaps today
- Dust / U (0.0744% fee) — 24h volume $0, TVL $0, 0 swaps today
- 富贵 / U (0.1811% fee) — 24h volume $0, TVL $0, 0 swaps today
- 老子 / U (0.1299% fee) — 24h volume $0, TVL $0, 0 swaps today
- 老子 / U (0.0895% fee) — 24h volume $0, TVL $0, 0 swaps today
- 猫姐 / U (0.199% fee) — 24h volume $0, TVL $0, 0 swaps today
- Dust / U (0.1188% fee) — 24h volume $0, TVL $0, 0 swaps today
- U / Libra (0.0293% fee) — 24h volume $0, TVL $0, 0 swaps today
- 老子 / U (0.2501% fee) — 24h volume $0, TVL $0, 0 swaps today
- 猫姐 / U (0.0773% fee) — 24h volume $0, TVL $0, 0 swaps today
- 老子 / U (0.0839% fee) — 24h volume $0, TVL $0, 0 swaps today
- 猫姐 / U (0.0777% fee) — 24h volume $0, TVL $0, 0 swaps today
- 老子 / U (0.0641% fee) — 24h volume $0, TVL $0, 0 swaps today
- 富贵 / U (0.0109% fee) — 24h volume $0, TVL $0, 0 swaps today
- U / Libra (0.0303% fee) — 24h volume $0, TVL $0, 0 swaps today
- 富贵 / U (0.1955% fee) — 24h volume $0, TVL $0, 0 swaps today
- Dust / U (0.0792% fee) — 24h volume $0, TVL $0, 0 swaps today
- Dust / U (0.0693% fee) — 24h volume $0, TVL $0, 0 swaps today
- 富贵 / U (0.2333% fee) — 24h volume $0, TVL <$0.01, 0 swaps today