Launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0xa346e83fadce65e83b3ccc662d781d56625de0cc on Robinhood Chain · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 16 (8 traders)
- Total swaps
- 16
What it does
A Uniswap v4 hook tied to a launch engine and token that uses swap return deltas to take currency and is initialized once by the deployer.
How it works step by step
- Stores the launch engine, token and pool id in its own storage during a deployer-only initialization.
- Records a launch timestamp that swap logic reads.
- Runs custom logic in beforeSwap and afterSwap.
- Uses beforeSwapReturnDelta and afterSwapReturnDelta to adjust swap accounting and take currency.
- Exposes liquidity and donate callbacks that were dispatched but not decoded in detail.
- Swap behaviour
- beforeSwap and afterSwap run custom logic and can return deltas, allowing the hook to take a share of swap currency through the pool manager.
- Liquidity behaviour
- beforeAddLiquidity, beforeRemoveLiquidity, afterAddLiquidity and afterRemoveLiquidity selectors are present and dispatched, but their internal logic could not be decoded; the hook appears to read launch state and may gate liquidity actions.
- Fee behaviour
- Hook pulls or takes currency via the pool manager during swaps through return deltas; fee setting logic could not be determined from the decoded bytecode.
- Owner & admin controls
- A one-time initializer at selector 0x467a7c98 (address,address) writes the engine, token and pool id slots and a launch timestamp, guarded by a deployer check (NotDeployer). No owner, pause or upgrade functions were identified in the decoded selectors.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize validates or records the new pool; beforeSwap and afterSwap run custom logic around swaps; beforeSwapReturnDelta and afterSwapReturnDelta let the hook alter the swap's settled amounts, which the take(address,address,uint256) selector suggests it uses to take currency.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: The hook name suggests a launch-style contract with a deployer-only initialization path; the exact privileged powers beyond initialization could not be confirmed without source.
Risk to user funds: The hook can take tokens during swaps through return deltas, so user swap proceeds could be redirected or reduced by the hook logic; the exact conditions could not be confirmed from bytecode alone.
Security findings
- [medium] Hook takes currency via return deltas: beforeSwapReturnDelta and afterSwapReturnDelta are enabled and the bytecode calls take(address,address,uint256), so the hook can take or account for swap tokens outside the standard pool flow.
- [info] Deployer-gated initialization: The contract contains a NotDeployer guard on an initializer that writes core addresses (engine, token, pool id) into storage, so initialization depends on the deployer being the caller.
- [info] Swap logic depends on initialized config: Storage slots for engine, token and launch timestamp are written only in the initializer and read during swaps, indicating swap behaviour depends on this configuration.
Contract details
- Verified source
- No
- Bytecode size
- 4,712 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Launchpad hook
- WOJAK / QOTR (0.30% fee) — 24h volume $0, TVL $0, 16 swaps today