Launchpad hook on Ethereum
Uniswap v4 Hook Contract 0x4edd4d520c7d40e1063b02a86c682b36971d40cc on Ethereum · Launchpad
- Volume (24h)
- $10.38K
- Value locked (TVL)
- $0
- All-time volume
- $10.38K
- Pools using this hook
- 1
- Swaps (24h)
- 125 (41 traders)
- Total swaps
- 125
What it does
This launchpad-style hook takes a share of swap flow through return deltas, but the exact trades that pay more or less cannot be confirmed from the decoded bytecode.
How it works step by step
- Exposes launch, create, register, setup, open and initialize entry points that pair a new token with a pair token inside a pool keyed by fee and tick spacing
- Gates beforeSwap and afterSwap with a stored flag and a per-address exemption mapping, so only certain trades run the hook's logic
- Uses beforeSwapReturnDelta and afterSwapReturnDelta, so the hook can take a share of swap amounts through the pool manager, which is how it moves currency during trades
- Tracks burned amounts (totalBurned, MAX_BURN_FEE_BPS) and exposes staking, deposit, claim and reward-related selectors (stake, claim, supply, fund, seed, mint)
- Calls the pool manager with unlock, take, settle, sync and modifyLiquidity, and has an unlockCallback handler to run those actions inside a locked context
- Has performUpkeep and relay selectors, suggesting automated or keeper-driven execution of queued actions
- Swap behaviour
- beforeSwap and afterSwap are both enabled and both return deltas, so the hook can adjust swap amounts and take a portion of the flow on swaps; which trades pay more or less cannot be determined from the decoded bytecode alone.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are present as view selectors, but the hook permissions do not enable them, so liquidity callbacks are not active.
- Fee behaviour
- The hook does not appear to set a dynamic LP fee; fee handling is through return deltas on swaps and a burn-related parameter (MAX_BURN_FEE_BPS), and the exact split cannot be confirmed without source.
- Owner & admin controls
- Storage slots hold owner-style mappings written by several admin-looking selectors (approval/allowlist style writes on mapping slot 8 and 13, and an exemption mapping on slot 11), and a bool flag is written by unlock-style functions; the exact owner and pause controls cannot be confirmed from bytecode.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap is used to gate and process swaps for the hook logic; afterSwap is used to process post-swap accounting; beforeSwapReturnDelta lets the hook take or give currency before the swap settles; afterSwapReturnDelta lets it take a share after settlement.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: A privileged key appears able to manage exemptions, trigger execution through exec or relay style calls, and possibly change parameters, which could redirect fees or pause trading for users.
Risk to user funds: The hook can hold and move pool currency through return deltas and take/settle calls during swaps, so user funds in the pool are exposed to the hook's logic and any admin-controlled execution path.
Security findings
- [high] Return deltas move user currency: beforeSwapReturnDelta and afterSwapReturnDelta are enabled, so the hook can take tokens from swaps through the pool manager, and the take and settle selectors indicate active currency movement.
- [medium] Privileged mappings gate execution: Mapping-based allow and exempt lists written by privileged-looking selectors can control which addresses are exempt from or subject to hook logic, so a privileged key can change swap treatment.
- [medium] Possible upgradeability or delegated execution: Generic exec, execute, relay and multicall entry points plus a self-unlock path mean the contract can run arbitrary delegated actions; if this is a proxy or the owner can point it elsewhere, behaviour can change after deployment.
- [info] Unverified source: No verified source is available, so function names, owner checks and pause logic are inferred from selectors and storage only.
Contract details
- Verified source
- No
- Bytecode size
- 21,603 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, erc6909-claims, launchpad, moves-currency, return-delta, rewards, self-unlock
Pools using Launchpad hook
- ETH / GOAT (1.00% fee) — 24h volume $10.38K, TVL $0, 125 swaps today