Launchpad hook on Ethereum

Uniswap v4 Hook Contract 0x2aa2eb22ac48e745e93fecbd42e2b76111cea0cc on Ethereum · Launchpad

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

This launch hook keeps trading closed until enabled and then takes a hook-computed cut of swaps through return deltas, so fee and direction details could not be fully confirmed from bytecode.

How it works step by step

  • Hook is initialized per pool in beforeInitialize, which records pool id, launch factory and round timing parameters in storage
  • Trading is gated until enableTrading is called; beforeSwap reverts with TradingClosed while it is not enabled
  • beforeSwap and afterSwap use the return-delta permissions to adjust swap amounts and take a fee-based share of swap flows during the launch
  • Swap-driven amounts are accounted into rewards and burn claim balances, with award, claim, payout and burnClaims functions for distribution
  • Rounds are closed with closeRound after a minimum number of blocks (MIN_ROUND_BLOCKS) and fees are derived from feeNumerator and feeFor
  • unlockCallback is used for Pool Manager unlock flows to move currency (take) during the launch mechanics
Swap behaviour
Swaps are blocked until trading is enabled. Once enabled, beforeSwap and afterSwap take return deltas and move currency through the pool manager, so swaps are not plain pass-through; the exact direction and size of the extra charge cannot be fully confirmed from bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Fees are computed by the hook (feeNumerator and feeFor) and taken as return deltas on swaps rather than using the pool's static fee; exact rates are not determinable without source.
Owner & admin controls
An owner address (owner()) exists and launch-related functions such as enableTrading, closeRound, flushBurn and payout are callable; the exact access checks cannot be confirmed without source.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize records pool configuration and launch parameters; beforeSwap gates trading and computes the swap-side adjustment; afterSwap accounts results and rewards; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take or give currency on swaps.

Security & trust assessment

Risk level: high, estimated (decoded bytecode, low confidence).

Who controls it: A privileged owner or launch factory can enable trading, close rounds and trigger payouts, which affects when users can trade and where accumulated amounts go.

Risk to user funds: The hook can hold and move pool currency through return deltas and take/unlock calls on swaps, and payout and burn functions move accumulated balances, so user swap flows and pool funds are exposed to the hook's logic.

Security findings

  • [high] Return-delta swap fee: beforeSwapReturnDelta and afterSwapReturnDelta are enabled and the hook moves currency via the pool manager, so the hook can take a portion of every swap's amounts.
  • [medium] Owner-controlled launch flow: The contract is ownable and exposes enableTrading, closeRound, payout and flushBurn, which control when trading opens and how accumulated funds are paid out.
  • [medium] Trading gate: beforeSwap reverts with TradingClosed until enableTrading is called, so swaps can be blocked by the admin path.
  • [info] No source verification: Analysis relies on decoded bytecode and selectors only; access control and fee math could not be confirmed.

Contract details

Verified source
No
Bytecode size
12,769 bytes
Upgradeable proxy
No
Detected patterns
launchpad, moves-currency, ownable, return-delta, rewards, self-unlock

Pools using Launchpad hook