Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0xff6ab1a3d12d3d427b1e05546c940bc2ed34bacc on Robinhood Chain · Launchpad

Volume (24h)
<$0.01
Value locked (TVL)
$0.12
All-time volume
<$0.01
Pools using this hook
1
Swaps (24h)
2 (1 traders)
Total swaps
2

What it does

A Uniswap v4 hook for a launch or campaign-style pool that gates liquidity with allow lists and time-based locks, applies dynamic fees and custom swap routing, and lets the owner sweep hook-held funds to a treasury.

How it works step by step

  • Gates liquidity additions through allowedLiquidity and whitelisted liquidity routers
  • Records liquidity add timestamps per position and checks them on removal, implying a lock period
  • Applies a dynamic LP fee via the pool manager
  • Runs custom swap logic with before and after hooks and can take or give currency deltas
  • Supports an owner-managed set of swap routes with enable and disable controls
  • Provides an owner-triggered sweep of hook-held funds to a treasury
Swap behaviour
Swaps run beforeSwap and afterSwap hook logic that checks routes and campaign state, and the hook can adjust currency deltas through return delta permissions.
Liquidity behaviour
beforeAddLiquidity is gated by allowedLiquidity and liquidityRouters mappings, and by lpGateEnabled; liquidity additions are recorded per position key (liquidityAddedAt), and beforeRemoveLiquidity checks recorded timestamps, suggesting a lock or vesting period before withdrawal. Liquidity can be routed through whitelisted routers only.
Fee behaviour
Hook uses a dynamic LP fee via updateDynamicLPFee and a FEE_PIPS constant; fee logic is inferred from selectors only and the exact fee formula cannot be determined without source.
Owner & admin controls
Owner (two-step ownership via transferOwnership/acceptOwnership) can set the pass signer, add or remove allowed liquidity addresses, enable or disable liquidity routers and trusted forwarders, enable or disable swap routes, and call sweepToTreasury; renounceOwnership exists but appears guarded (RenounceDisabled error). Owner can also open liquidity forever via openLiquidityForever.

Enabled Uniswap v4 callbacks

beforeInitialize, afterInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize and afterInitialize set up pool state and pool key; beforeAddLiquidity and beforeRemoveLiquidity gate and time-track positions; beforeSwap and afterSwap run custom swap logic and may apply checks against routes and campaign parameters; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take or give currency deltas on swaps; beforeDonate and afterDonate are present in the dispatcher but purpose is unclear from bytecode alone.

Security & trust assessment

Risk level: medium (decoded bytecode, low confidence).

Who controls it: The owner controls liquidity and router whitelists, trusted forwarders, the pass signer used for authorization, swap routes, and treasury sweeps. A compromised owner or pass signer could block liquidity, redirect or sweep hook-held funds to the treasury, or alter route availability.

Risk to user funds: The hook can hold tokens via return deltas and move them via take and treasury sweep, and can gate liquidity deposits and withdrawals via allow lists and time locks, so user funds may be blocked or redirected by privileged actions.

Security findings

  • [medium] Hook holds and moves currency: Hook takes currency via return deltas and moves currency through take and swap calls, so it can hold or redirect pool-related tokens.
  • [medium] Owner treasury sweep: sweepToTreasury lets the owner move accumulated funds to the TREASURY address.
  • [medium] Owner gating of liquidity access: Owner can add or remove allowed liquidity and router addresses, which can block liquidity providers from adding or removing liquidity.
  • [medium] Signature-based authorization key: A pass signer is used for authorization, so compromise of that key may allow unauthorized actions.
  • [info] Ownership model: Ownable with two-step transfer; renounceOwnership appears disabled.

Contract details

Verified source
No
Bytecode size
23,432 bytes
Upgradeable proxy
No
Detected patterns
donates, dynamic-fee, moves-currency, ownable, return-delta

Pools using Launchpad hook