Launchpad hook on Ethereum
Uniswap v4 Hook Contract 0x4f4e9855a3edac3974e6134ea191cc1e6188e0c4 on Ethereum · Launchpad
- Volume (24h)
- $13.60K
- Value locked (TVL)
- $0
- All-time volume
- $13.60K
- Pools using this hook
- 1
- Swaps (24h)
- 58 (31 traders)
- Total swaps
- 58
What it does
This hook taxes swaps of launch-pool tokens through a return-delta fee on afterSwap, with buys and sells charged at their configured rates and the proceeds sent to a treasury, while liquidity actions are not taxed.
How it works step by step
- Acts as a Uniswap v4 hook for a token launch pool, initializing and tracking pool state in beforeInitialize and storing the pool key and pool id.
- Applies a buy tax and a sell tax in basis points on swaps, configured through BUY_TAX_BPS and SELL_TAX_BPS, with a taxedTokens list tracked on-chain.
- Uses afterSwap with return deltas to take the tax from the swap output and forward it through the pool manager, with a treasury address used as the tax recipient.
- Counts swaps and burn activity in storage slots that the afterSwap path updates (swapBurned and a swap counter).
- Restricts administration to an Ownable owner who can transfer or renounce ownership, and references a kernel and shell contract for coordination.
- Swap behaviour
- beforeSwap and afterSwap run on every swap. afterSwap can take a tax from the swap output via return deltas, so buys and sells of taxed tokens pay the configured BUY_TAX_BPS or SELL_TAX_BPS, with the tax sent to the treasury. Which direction pays more depends on the stored tax values, which cannot be read from the bytecode alone.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are present as selectors, but the bytecode does not show clear logic for them beyond standard pass-through; treat liquidity changes as not taxed based on the decoded functions alone.
- Fee behaviour
- The pool's fee is not described as dynamic. The hook applies a separate tax through afterSwap return deltas on top of the pool fee, using BUY_TAX_BPS and SELL_TAX_BPS, with proceeds going to the treasury.
- Owner & admin controls
- Owner can transfer or renounce ownership (transferOwnership, renounceOwnership). Tax parameters and treasury may be adjustable by the owner, but the exact setter functions are not visible in the decoded selectors, so this is not confirmed.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, afterSwapReturnDelta
beforeInitialize sets up pool state for the launch pool; beforeSwap gates or prepares swaps; afterSwap computes and takes the tax and updates counters; afterSwapReturnDelta lets the hook take part of the swap output as a delta.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: A single owner key controls ownership and possibly tax settings and the treasury address. A compromised or malicious owner could redirect taxes or raise them to extreme values on taxed tokens.
Risk to user funds: The hook can take a portion of swap output via return deltas and send it to the treasury, so trader proceeds on taxed tokens are directly reduced. It does not appear to hold a long-term balance beyond transit of taxes.
Security findings
- [medium] Return-delta tax on swaps: afterSwapReturnDelta lets the hook take a share of each swap's output and move it to the treasury, so the hook directly moves user funds on taxed swaps.
- [medium] Owner controls token and tax parameters: The contract is Ownable and exposes ownership transfer and renounce functions; if tax rates or treasury are owner-settable, the owner could raise taxes on swaps.
- [info] Unverified source: No verified source is available, so tax math, treasury handling and any upgrade or pause logic were inferred from selectors and storage only.
Contract details
- Verified source
- No
- Bytecode size
- 5,858 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, ownable, return-delta, tax
Pools using Launchpad hook
- ETH / QOS (1.00% fee) — 24h volume $13.60K, TVL $0, 58 swaps today