SummerHook on Ethereum

Uniswap v4 Hook Contract 0x3beb2eb4023a2bb007cacf8c63dec9b24e03a844 on Ethereum · Rewards · Verified contract

Volume (24h)
$0
Value locked (TVL)
$25.85K
All-time volume
$620.98K
Pools using this hook
1
Swaps (24h)
0 (0 traders)
Total swaps
1,724

What it does

Adds farming rewards for SUMMER/ETH liquidity providers who stake full-range LP NFTs, with 75% of rewards vesting and a 0.25% swap fee that ends after four weeks.

How it works step by step

  • Stakes full-range Uniswap v4 LP NFTs and accrues SUMMER emissions per unit of liquidity over time, following a 4-week halving-style schedule.
  • Splits each reward into 25% paid immediately and 75% locked in a per-user vest bucket that unlocks linearly over 4 weeks.
  • Lets early exits forfeit unvested rewards with 25% kept, 50% burned and 25% recycled to active stakers.
  • Takes a 0.25% protocol fee from the unspecified side of swaps during the farming window and accumulates it for flushing to the EOA.
  • Lets Phase 1 founders mint a one-per-wallet Genesis Badge NFT whose transferable claim rights pull a share of the Founders Pool.
  • Restricts pool initialization to the Launchpad with the exact SUMMER/ETH config and enforces full-range LP positions on the pool.
Swap behaviour
afterSwap takes a 0.25% fee from the unspecified currency during the first 4 weeks after graduation, then stops charging it; swaps are not otherwise blocked.
Liquidity behaviour
Only full-range positions (ticks -887250 to 887250) can be added to the pool via beforeAddLiquidity. LP NFTs can be staked into the hook to earn a time-weighted share of SUMMER emissions, and unstake or unstakeTo returns the NFT. Emissions are throttled by total LP depth relative to the initial LP.
Fee behaviour
Takes 0.25% (25 bps) of the unspecified-currency side of each swap via afterSwapReturnDelta and poolManager.take, credited to protocolFeeEth or protocolFeeSummer and flushable to EOA; the protocol fee sunsets permanently 4 weeks after graduation. The pool's static LP fee of 0.25% is separate and goes to liquidity positions.
Owner & admin controls
Deployer address can call wire() exactly once on SummerToken and SummerHook to set TOKEN, LAUNCHPAD and BADGE refs; after that wiring is frozen with no owner, pause, upgrade or parameter setters. No ongoing admin controls found in the decoded interface.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, afterSwap, afterSwapReturnDelta

beforeInitialize restricts pool initialization to the Launchpad with the exact SUMMER/ETH configuration to prevent front-running. beforeAddLiquidity enforces full-range positions only on the Summer pool. afterSwap collects the 0.25% protocol fee during the 4-week farming window. afterSwapReturnDelta lets that fee be settled as a return delta on the swap.

Security & trust assessment

Risk level: low (verified source, high confidence).

Who controls it: No privileged key after wiring; the deployer only had the one-time wire() call. Users' funds are not controlled by any owner, so centralization risk is low, though the Launchpad and deployer are trusted at wiring time.

Risk to user funds: The hook holds locked SUMMER vesting reserves and staked LP NFTs and can move tokens only through its own claim, unstake, earlyExit and fee-take paths. It cannot be paused or drained by an admin, and swaps are never blocked by the hook beyond the full-range and pool checks.

Security findings

  • [info] One-shot wiring by deployer: wire() can only be called by DEPLOYER, once, and must receive nonzero addresses, after which the refs are frozen.
  • [info] Vesting reserve held by hook: Claims and early exits route 75% of emissions into a vesting bucket held by the hook; early exit burns 50% and recycles 25% of unvested tokens back into emissions, so vested reserves are backed by the hook's own token balance.
  • [low] Unclaimed founders share is sedimented: Founders Pool rewards follow badge NFT ownership, and wallets that never mint a badge leave their share permanently unclaimable, as designed.
  • [low] Hook takes swap tokens as protocol fee: The hook takes tokens from the swap delta via poolManager.take and returns a positive delta, so swappers pay the 0.25% fee on the unspecified side while the protocol fee accumulates in the hook.
  • [low] Dependence on Launchpad for pool setup: The Launchpad pre-initialization gate and the full-range LP requirement make the pool's price and depth depend on the Launchpad contract and hook; a bug there could affect graduation rather than users' existing funds.

Contract details

Verified source
Yes (SummerHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
13,971 bytes
Upgradeable proxy
No
Detected patterns
erc20, launchpad, moves-currency, return-delta, rewards

Pools using SummerHook