AquinasPoolHook on Base
Uniswap v4 Hook Contract 0xd3c1f2174f37f88811f99b1b1b4c1356c0246000 on Base · Access control · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $17.56K
- All-time volume
- $6.76M
- Pools using this hook
- 24
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 143,258
What it does
Restricts who can create a given Aquinas DAO pool: only the Safe address the factory registered for that pool can initialize it, and only once.
How it works step by step
- Enables only the beforeInitialize callback; all other hook callbacks are disabled.
- The factory calls authorizePoolInitializer once per pool to record the Safe allowed to initialize it, and a second authorization for the same pool reverts.
- On PoolManager.initialize, the hook checks that the caller (sender) equals the authorized Safe for that pool ID and reverts otherwise.
- A separate initialized mapping ensures each pool can be initialized through this hook only once.
- Holds no tokens, takes no swap or liquidity deltas, and has no fee logic.
- Swap behaviour
- No swap callbacks.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- The factory address is immutable and is the only caller allowed to authorize initializers. Authorization is one-time per pool and cannot be changed or revoked. There is no owner, pause, upgrade path or parameter setter in the source. The PoolManager and factory addresses are fixed at construction.
Enabled Uniswap v4 callbacks
beforeInitialize
beforeInitialize is used to verify that the initializer is the authorized Safe for the pool and that the pool has not already been initialized, then records initialization and emits PoolInitialized.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: The factory can authorize one initializer per pool and cannot change it afterward. It cannot pause pools, change fees, move funds, or alter hook logic. The contract has no upgrade mechanism.
Risk to user funds: The hook does not hold, move or take user or pool funds, and it does not return deltas. Its only effect on funds is to block pool initialization for unauthorized callers or for pools that have already been initialized.
Security findings
- [info] Pool creation depends on factory authorization: If the factory never calls authorizePoolInitializer for a pool, or registers the wrong Safe, no one can initialize that pool through this hook, and the authorization cannot be corrected because it is one-time only.
- [info] Initializer must call PoolManager directly: The check compares the immediate caller of PoolManager.initialize with the stored Safe. If the Safe initializes through an intermediary contract such as a router or multicall, the check will fail.
- [info] No restriction on liquidity after initialization: The hook only gates initialization. Once a pool is initialized, the hook does not restrict adding or removing liquidity or swapping, so protection against frontrunning liquidity provision depends on the pool's own design rather than on this hook.
Contract details
- Verified source
- Yes (AquinasPoolHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 4,661 bytes
- Upgradeable proxy
- No
Pools using AquinasPoolHook
- ETH / Ti (1.00% fee) — 24h volume $0, TVL $1.82K, 0 swaps today
- ETH / ICCM (1.00% fee) — 24h volume $0, TVL $2.53K, 0 swaps today
- ETH / FIRE (1.00% fee) — 24h volume $0, TVL $2.19K, 0 swaps today
- ETH / PP (1.00% fee) — 24h volume $0, TVL $3.08K, 0 swaps today
- ETH / AUCTION (1.00% fee) — 24h volume $0, TVL $2.72K, 0 swaps today
- ETH / LIMORA (1.00% fee) — 24h volume $0, TVL $3.21K, 0 swaps today
- ETH / ATLAS (1.00% fee) — 24h volume $0, TVL $1.01K, 0 swaps today
- ETH / CLAWCOLONY (1.00% fee) — 24h volume $0, TVL $935, 0 swaps today
- ETH / BMWM8 (1.00% fee) — 24h volume $0, TVL $15, 0 swaps today
- ETH / MEMEBMW (1.00% fee) — 24h volume $0, TVL $21, 0 swaps today
- ETH / TEST (1.00% fee) — 24h volume $0, TVL $3.35, 0 swaps today
- ETH / CODWAW (1.00% fee) — 24h volume $0, TVL $16, 0 swaps today
- ETH / TEST (1.00% fee) — 24h volume $0, TVL $3.33, 0 swaps today
- ETH / FAKE (1.00% fee) — 24h volume $0, TVL $1.34, 0 swaps today
- ETH / CLAW99 (1.00% fee) — 24h volume $0, TVL $0.03, 0 swaps today
- ETH / LAST (1.00% fee) — 24h volume $0, TVL $1.34, 0 swaps today
- ETH / COD (1.00% fee) — 24h volume $0, TVL $0.06, 0 swaps today
- ETH / CLAWWW (1.00% fee) — 24h volume $0, TVL $0.03, 0 swaps today
- ETH / CLAWCOLONY (1.00% fee) — 24h volume $0, TVL $0.03, 0 swaps today
- ETH / DRY (1.00% fee) — 24h volume $0, TVL $0.16, 0 swaps today