Likely launchpad hook on Ink
Uniswap v4 Hook Contract 0xb6108b8170e0c5153c2a5aa4a0d7e112dbb9aac8 on Ink · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $0.17
- All-time volume
- $2.16
- Pools using this hook
- 10
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 289
What it does
A launchpad-style hook that tracks a token launch on Uniswap v4, applying dynamic fees, anti-sandwich and wallet limits, and routing part of swap value into buyback, airdrop and holder vaults.
How it works step by step
- Stores per-pool launch configuration and state keyed by pool id
- Applies a dynamic fee through dynamicFeeForSwap during the launch phase
- Enforces wallet-size and sandwich-timing restrictions on swaps
- Takes part of swap value via beforeSwapReturnDelta and routes it to vaults
- Tracks registered holders and airdrop entitlements for holders
- Gates liquidity additions and removals through beforeAddLiquidity and beforeRemoveLiquidity
- Swap behaviour
- beforeSwap and afterSwap run checks on swap size, wallet limits and last-swap timing, may take a share of the swap via return delta, and update buyback and airdrop accounting.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity are implemented, along with afterAddLiquidity and afterRemoveLiquidity views; the hook appears to gate or track LP positions by tick range and holder registration, but the precise logic is not confirmed.
- Fee behaviour
- dynamicFeeForSwap(bytes32,uint256,bool) is exposed and the pool appears to use dynamic fees, with per-pool configs and launch state read in beforeSwap and afterSwap; the exact fee formula and any fee share to vaults could not be determined from bytecode alone.
- Owner & admin controls
- Owner (storage slot 0) can call setOwner, setFactory (slot 1), setAirdropVault (slot 2) and setExcluded; the owner is readable via owner(). No pause or upgrade function was found in the decoded selectors, but the exact scope of setFactory and setAirdropVault could not be confirmed without source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta
beforeInitialize registers pool configuration and launch parameters; beforeAddLiquidity and beforeRemoveLiquidity check or track positions; beforeSwap and afterSwap run swap-level checks, per-address last-swap tracking and buyback/airdrop accounting; beforeSwapReturnDelta lets the hook take a share of swap amounts, and the hook also calls donate and take against the pool manager.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: The owner and the configured factory and airdrop vault addresses could redirect value flows or change registration and exclusion settings, which may affect which holders are eligible for airdrops and how fees are routed.
Risk to user funds: The hook can take a portion of swap amounts through return deltas and move value to vault contracts via take and donate, and swaps can be reverted by its wallet and sandwich checks, so traders and LPs are exposed to these flows.
Security findings
- [medium] Hook takes swap value via return delta: beforeSwapReturnDelta is enabled and the bytecode calls take and donate, so the hook can withhold part of swap output and direct it to vaults or buybacks.
- [medium] Owner can reassign vault and factory addresses: The contract stores an owner and a factory address that can be reset, and an airdrop vault whose address can be changed by the owner.
- [medium] Swaps can revert under wallet or sandwich rules: Error selectors for MaxWalletExceeded and SandwichBlocked indicate swaps can revert based on wallet size or last-swap timing, which may block trades.
- [info] Upgrade and pause paths not confirmed: No pause or upgrade selector was found, but source is unavailable so this could not be fully ruled out.
Contract details
- Verified source
- No
- Bytecode size
- 22,107 bytes
- Upgradeable proxy
- No
- Detected patterns
- donates, erc20, moves-currency, return-delta
Pools using Likely launchpad hook
- BIT / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- BIT / wAAPLx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- BIT / wGOOGLx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- BRASS / USDG (Dynamic fee) — 24h volume $0, TVL $0.06, 0 swaps today
- BULL / wMCDx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / MTXV (0.00% fee) — 24h volume $0, TVL $0.12, 0 swaps today
- BRASS / wNFLXx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- BRASS / wAAPLx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- BRASS / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wMSTRx / BRASS (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today