LanternHook on Robinhood Chain

Uniswap v4 Hook Contract 0xa4848c977950c7a66afd9a9f3669da9d9ce4e840 on Robinhood Chain · Launchpad · Verified contract

Volume (24h)
$18.45K
Value locked (TVL)
$65
All-time volume
$18.45K
Pools using this hook
1
Swaps (24h)
183 (68 traders)
Total swaps
183

What it does

LanternHook is a launch-only pool hook that lets one initializer-controlled liquidity add happen and caps any single transaction's token buys to 3% of supply for the first two minutes, with no fee changes, so after the window trading and fees behave like a normal static-fee pool.

How it works step by step

  • Locks a launch pool so that liquidity can be added exactly once, inside the initializer's launch transaction, via a transient-storage flag set by openLaunchAdd
  • Records the pool's initialization sender and initial sqrt price and only accepts initialization from the designated initializer at that exact price, once
  • Starts a two-minute launch window at initialization time
  • During the launch window, caps gross token buys to 3% of the launch token supply per transaction, tracked in transient storage
  • Only accepts liquidity additions to the canonical pool key and only once in total
Swap behaviour
afterSwap runs on every swap in the pool. During the first two minutes after initialization, buys (zeroForOne with a positive amount1 output) are counted per transaction and the transaction reverts with MaxBuy if the gross bought amount exceeds 3% of launchTokens. Outside the launch window, or for sells, it does nothing. The hook takes no fee and does not alter the swap's delta.
Liquidity behaviour
beforeAddLiquidity allows a single add only when the initializer's openLaunchAdd flag is set in the same transaction; after that liquidityAdded is set true permanently and all further adds revert with LiquidityLocked. Removals are not hooked and are not restricted by the hook.
Fee behaviour
Uses the pool's static lpFee set at construction; the hook does not set, take or share fees. The whole LP fee accrues to the single launch position because no other liquidity can be added.
Owner & admin controls
No owner, pause, upgrade or parameter-change functions were found. Immutable parameters (token, initializer, price, fee, spacing, launchTokens) are fixed at deployment. The only privileged role is the initializer, which can open the one-time launch add and initialize the pool.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, afterSwap

beforeInitialize gates pool initialization to the initializer at the launch price and records launchedAt. beforeAddLiquidity restricts adds to the one launch position in the launch transaction. afterSwap enforces the per-transaction buy cap during the launch window.

Security & trust assessment

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

Who controls it: The initializer address can initialize the pool at the fixed price and perform the single launch liquidity add; it has no ability to change fees, pause swaps or alter the hook after deployment.

Risk to user funds: The hook never holds funds and returns zero deltas, so it cannot move pool funds. It can revert buys above the per-transaction cap during the launch window, which can block large purchases temporarily but cannot seize funds.

Security findings

  • [info] Launch-window buy cap: afterSwap reverts buys exceeding 3% of launchTokens per transaction for two minutes after initialization, so large buys in that window can be blocked and must be split across transactions.
  • [info] Single liquidity add by initializer: Only the initializer can open the one-time launch add via openLaunchAdd, so liquidity provision is controlled by that address during the launch transaction.
  • [info] Immutable configuration: No upgrade path or admin setter exists; the hook does not hold tokens and does not use return deltas, so it cannot move or freeze user funds directly.

Contract details

Verified source
Yes (LanternHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
3,942 bytes
Upgradeable proxy
No
Detected patterns
launchpad

Pools using LanternHook