Launchpad hook on BNB Chain
Uniswap v4 Hook Contract 0x16f2c7c2eacad761af5e791d26908cd505553a80 on BNB Chain · Launchpad
- Volume (24h)
- $14.00K
- Value locked (TVL)
- $28.99K
- All-time volume
- $2.58M
- Pools using this hook
- 1
- Swaps (24h)
- 582 (174 traders)
- Total swaps
- 84,704
What it does
A launch-style hook that gates trading behind an admin-controlled switch and enforces launch-period restrictions and oracle-pool liquidity rules for a Uniswap v4 pool.
How it works step by step
- Lets an admin enable trading once with enableTrading and disable it with disableTrading.
- Blocks swaps with TradingNotOpen until trading is enabled.
- Applies a launch protection window and cooldown period read from storage during swaps.
- Records oracle observations and cardinality for a designated oracle pool.
- Restricts liquidity placement for the oracle pool to full-range, locked positions.
- Swap behaviour
- beforeSwap checks whether trading is enabled and any launch protection window applies, and records oracle observations for the pool.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity are enabled and afterAddLiquidity/afterRemoveLiquidity selectors exist. Oracle-pool logic references OraclePoolMustLockLiquidity and OraclePositionsMustBeFullRange, suggesting liquidity placement constraints for the oracle pool.
- Fee behaviour
- Uses the pool's static fee. No fee-setting logic found in the decoded selectors.
- Owner & admin controls
- Role-based access control (DEFAULT_ADMIN_ROLE with grantRole, revokeRole, renounceRole). Admin can enable and disable trading (enableTrading, disableTrading) and the hook appears to set launch parameters via 0x78e66231. No pause, upgrade proxy or fee-setting function identified from decoded selectors, but the role holder can gate swaps.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap
beforeInitialize and afterInitialize set up pool state and oracle observations; beforeAddLiquidity and beforeRemoveLiquidity enforce liquidity rules for the oracle pool; beforeSwap checks whether trading is open and records observations.
Security & trust assessment
Risk level: medium (decoded bytecode, medium confidence).
Who controls it: A DEFAULT_ADMIN_ROLE holder can grant roles, enable or disable trading and possibly reconfigure launch parameters, which can block all swaps for the pool.
Risk to user funds: The hook does not take tokens via return deltas based on the decoded selectors, but it can block swaps and liquidity actions, so user funds may be temporarily inaccessible if trading is disabled.
Security findings
- [medium] Admin can halt trading: disableTrading and TradingNotOpen error indicate an admin switch that can block swaps in the pool.
- [info] Time-based launch restrictions: Launch protection and cooldown values are stored in storage slots and read during swaps, suggesting time-based restrictions on trading.
- [info] Role-based admin control: Role administration functions (grantRole, revokeRole, renounceRole) are present, so control depends on who holds the admin role.
- [low] Liquidity restrictions for oracle pool: Oracle pool and oracle position constraints are enforced in liquidity callbacks, which can prevent certain LPs from adding or removing liquidity.
Contract details
- Verified source
- No
- Bytecode size
- 12,767 bytes
- Upgradeable proxy
- No
Pools using Launchpad hook
- USDT / QVX (0.00% fee) — 24h volume $14.00K, TVL $28.99K, 582 swaps today