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
- ETH / V4RC (Dynamic fee) — 24h volume <$0.01, TVL $0.12, 2 swaps today