Likely access control hook on Ethereum
Uniswap v4 Hook Contract 0x040c7b3580f412e7714a511f533eea0feeeeca00 on Ethereum · Access control
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
A hook that runs custom bookkeeping before liquidity is added or removed from its pool, with no swap-time behaviour decoded.
How it works step by step
- Enables beforeAddLiquidity and beforeRemoveLiquidity callbacks only
- Writes to a single mapping at storage slot 0 during both liquidity callbacks
- Reads the same mapping via view selector 0x2a9b665f
- Exposes the standard v4 hook view functions getHookPermissions and poolManager
- Does not implement swap, fee override or donate logic based on the decoded selectors
- Swap behaviour
- No swap callbacks.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity are implemented and write to a single mapping(uint256 => uint256) at storage slot 0, apparently keyed by a value derived from the liquidity call; the exact bookkeeping logic cannot be determined without source.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- No admin controls found.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, beforeRemoveLiquidity
beforeAddLiquidity runs before liquidity is added and records state in slot 0; beforeRemoveLiquidity runs before liquidity is removed and also updates slot 0; no other callbacks are enabled.
Security & trust assessment
Risk level: low, estimated (decoded bytecode, low confidence).
Who controls it: No owner or privileged role was identified in the decoded functions, so no privileged key was found that could alter user outcomes.
Risk to user funds: The decoded callbacks only touch internal storage and do not show token transfers or return deltas, so the hook does not appear able to hold or move pool funds; a revert inside the liquidity callbacks could still block add or remove operations, which cannot be ruled out without source.
Security findings
- [info] Narrow permission set: Only two liquidity callbacks are enabled, and the hook has no swap callbacks, so it does not directly intercept swaps or move pool tokens.
- [info] Standard hook scaffolding, no admin surface found: The hook implements a HookNotImplemented error and a getHookPermissions view, consistent with standard v4 hook scaffolding; no upgrade or ownership functions were decoded.
- [low] Unverified liquidity gating logic: The mapping written in beforeAddLiquidity and beforeRemoveLiquidity is not obviously gating add or remove operations from the decoded selectors, but the exact revert conditions could not be verified without source.
Contract details
- Verified source
- No
- Bytecode size
- 2,141 bytes
- Upgradeable proxy
- No
Pools using Likely access control hook
- USDC / WETH (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today