Likely access control hook on Polygon

Uniswap v4 Hook Contract 0xba309cc28f4d4b06f12960cd4a406f198ae5df00 on Polygon · Access control

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
$2.27K
Pools using this hook
4
Swaps (24h)
0 (0 traders)
Total swaps
59

What it does

An owner-gated access-control hook that restricts which Uniswap v4 pools can add or remove liquidity and includes a bootstrap configuration for early liquidity.

How it works step by step

  • Maintains a per-pool allowlist keyed by pool id, set by the owner in single or batch form
  • Checks the allowlist in beforeAddLiquidity and beforeRemoveLiquidity
  • Records pool state on afterInitialize
  • Runs post-liquidity bookkeeping in afterAddLiquidity and afterRemoveLiquidity
  • Exposes a bootstrap flag and bootstrapper address configurable by the owner
Swap behaviour
No swap callbacks.
Liquidity behaviour
beforeAddLiquidity and beforeRemoveLiquidity are view functions that appear to gate liquidity actions by checking the per-pool allowlist mapping; afterAddLiquidity and afterRemoveLiquidity are nonpayable and may perform bootstrap-related bookkeeping, but their exact logic cannot be confirmed without source.
Fee behaviour
Hook does not appear to set or take fees; uses the pool's static fee.
Owner & admin controls
Owner (Ownable) can transfer or renounce ownership, toggle per-pool allowlist via setPoolAllowed and setPoolAllowedBatch, and set bootstrap config (bootstrapEnabled flag and bootstrapper address) via setBootstrapConfig. No pause or upgrade mechanism identified.

Enabled Uniswap v4 callbacks

afterInitialize, beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity

afterInitialize: records pool allowlist/bootstrap state when a pool is initialized. beforeAddLiquidity: gates adding liquidity against the allowlist. afterAddLiquidity: post-add bookkeeping, likely tied to bootstrap. beforeRemoveLiquidity: gates removals against the allowlist. afterRemoveLiquidity: post-remove bookkeeping, likely tied to bootstrap.

Security & trust assessment

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

Who controls it: The owner controls which pools are allowed and the bootstrap configuration, so it can restrict which pools accept liquidity changes and redirect the bootstrapper address. Ownership can be transferred or renounced.

Risk to user funds: The hook does not appear to take custody of tokens or return deltas from the decoded functions, but it can block liquidity adds and removes for pools it controls, and bootstrap logic in after-liquidity callbacks may interact with liquidity. Exact fund movement cannot be confirmed without source.

Security findings

  • [medium] Owner-controlled bootstrap configuration: Owner can set bootstrapper address and enable/disable bootstrap, which may affect how liquidity is handled in allowed pools.
  • [medium] Owner can block liquidity actions per pool: Liquidity add and remove hooks are gated by a mapping keyed by pool id; the owner can toggle pools off, potentially blocking liquidity changes for those pools.
  • [info] Single-owner control: Single Ownable owner with no timelock or multisig evident in bytecode.

Contract details

Verified source
No
Bytecode size
5,803 bytes
Upgradeable proxy
No
Detected patterns
ownable

Pools using Likely access control hook