Launchpad hook on Ethereum
Uniswap v4 Hook Contract 0x6e7a39730afc04ff36d382ae56139b33596140cc on Ethereum · Launchpad
- Volume (24h)
- $20.65K
- Value locked (TVL)
- $0
- All-time volume
- $20.65K
- Pools using this hook
- 1
- Swaps (24h)
- 203 (48 traders)
- Total swaps
- 203
What it does
This hook appears to be a launchpad-style token hook that takes a cut of swaps through return-delta permissions, but without verified source the exact fee direction and which trades pay more or less cannot be determined.
How it works step by step
- Has a pool-initialization and launch flow: functions such as launch, create, register, open and setup take a token, fee, tick spacing and sqrtPrice and create or configure a pool keyed to the hook.
- Stores a token address and pair token address in storage slots and exposes token() and pairToken() getters.
- Implements beforeSwap and afterSwap callbacks that read and update counters and mappings, with the return-delta permissions enabled so the hook can alter the swap amounts it returns to the PoolManager.
- Moves currency through the PoolManager unlock pattern (unlock, unlockCallback, settle, take, sync) and uses ERC20 transfer and transferFrom and ERC6909 mint and burn.
- Contains staking, deposit, claim, fund, seed and burn-related functions (stake, deposit, claim, supply, burn, totalBurned) suggesting a token distribution, reward or burn mechanism alongside the pool.
- Has an exempt(address) check and per-address mappings that gate which addresses are treated specially.
- Swap behaviour
- beforeSwap and afterSwap are both enabled with return-delta permissions, so the hook can change the amount a swap receives or pays and can take or distribute currency during the swap. The exact per-trade logic cannot be confirmed from decoded bytecode.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are present as view-style selectors but are not enabled in the hook permissions, so they are not called by the PoolManager.
- Fee behaviour
- Fee logic is not confirmed from the bytecode. A MAX_BURN_FEE_BPS getter and a totalBurned getter suggest a burn fee taken on trades, which may be applied through the swap return delta.
- Owner & admin controls
- A stored owner-like address and a mapping of authorized accounts appear to control launch and configuration functions, and a flag set by a function that appears to set a boolean state toggles a lock or pause. Exact admin powers cannot be confirmed without source.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap: runs before each swap and can gate or adjust it. afterSwap: runs after each swap and can take or distribute currency based on the swap. beforeSwapReturnDelta: lets the hook change the swap amount it returns from beforeSwap. afterSwapReturnDelta: lets the hook change the amount returned from afterSwap, so it can take a cut of the output.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: A privileged account with authorized-address rights could likely launch or reconfigure pools, adjust parameters and control reward or burn distributions, potentially changing trade outcomes or extracting value.
Risk to user funds: The hook has return-delta permissions and performs currency movements through the PoolManager, so it can hold, take and redirect value from swaps; a flaw or malicious configuration could affect user funds.
Security findings
- [high] Return-delta permissions on swaps: Both beforeSwapReturnDelta and afterSwapReturnDelta are enabled, so the hook can change swap amounts and take currency from trades, which means user proceeds depend entirely on the hook's logic.
- [medium] Privileged configuration and launch functions: Multiple nonpayable launch, create, initialize, configure and setup functions are gated by stored authorized-address mappings, so a privileged key can create or reconfigure pools and token parameters.
- [medium] Possible burn fee and treasury flows: Getters for MAX_BURN_FEE_BPS and totalBurned, together with functions such as burn, fund and claim, indicate fee or treasury flows whose rates and recipients may be adjustable by an admin.
- [info] Unverified source: No verified source is available, so function behaviour is inferred only from selectors and storage access and may be incomplete.
Contract details
- Verified source
- No
- Bytecode size
- 21,063 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, erc6909-claims, launchpad, moves-currency, return-delta, rewards, self-unlock
Pools using Launchpad hook
- FOREVER / WETH (1.00% fee) — 24h volume $20.65K, TVL $0, 203 swaps today