VirtualLBPStrategyBasic on Ethereum
Uniswap v4 Hook Contract 0xd53006d1e3110fd319a79aeec4c527a0d265e080 on Ethereum · Launchpad · Verified contract
- Volume (24h)
- $2.38M
- Value locked (TVL)
- $14.95M
- All-time volume
- $323.11M
- Pools using this hook
- 1
- Swaps (24h)
- 1,767 (201 traders)
- Total swaps
- 193,396
What it does
A launchpad strategy hook that runs a token auction, then migrates the raised funds and reserved tokens into a Uniswap v4 pool as a full-range liquidity position, with swaps gated until governance approves.
How it works step by step
- Receives the total token supply via onTokensReceived() and deploys a continuous clearing auction through the auction factory with a share of the supply.
- Keeps the reserve token supply aside for liquidity seeding after the auction ends.
- migrate() after migrationBlock checkpoints the auction, reads currency raised and clearing price, and initializes a v4 pool using this contract as the hook.
- Seeds a full-range liquidity position and optionally a one-sided position through the position manager, owned by positionRecipient.
- beforeSwap gates trading on governance approval of migration; beforeInitialize ensures only the hook itself can initialize the pool.
- After sweepBlock the operator can sweep any remaining token or currency balances.
- Swap behaviour
- beforeSwap reverts unless governance has called approveMigration(); once approved it returns a zero delta and no fee override, so swaps execute against the pool at its static fee.
- Liquidity behaviour
- No liquidity callbacks. Liquidity is seeded once at migration by the strategy via the position manager into a full-range position (plus optional one-sided position) owned by positionRecipient.
- Fee behaviour
- Uses the pool's static LP fee (poolLPFee, immutable); the hook returns a zero delta and zero fee override on swaps, and takes no fees.
- Owner & admin controls
- Governance address (immutable, set at construction) can call approveMigration() once to allow swaps and migration; no pause, no upgrade path, no parameter changes; operator (immutable) can sweep leftover token and currency balances after sweepBlock.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap
beforeInitialize restricts pool initialization to the hook itself (only migrate() can initialize the pool). beforeSwap reverts with MigrationNotApproved until governance calls approveMigration(), then returns a zero delta.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: Governance can only unlock trading once and cannot move funds or change parameters. Operator can sweep any token or currency balance held by the contract after sweepBlock, which is intended to recover residual balances but applies to all held assets. Position recipient controls the LP NFT after migration.
Risk to user funds: The hook itself does not take swap fees or deltas. It holds the distributed token and raised currency during the auction and until migrate(), and the operator can sweep leftover balances after sweepBlock. Swaps can be blocked indefinitely if governance never approves migration.
Security findings
- [medium] Governance gate blocks all swaps: Until approveMigration() is called by governance, every swap on the pool reverts, so trading is fully blocked by a single privileged key.
- [low] Operator sweep of contract balances: The operator can transfer the full token and currency balance of the contract to itself after sweepBlock, which is only expected to hold residual or leftover amounts.
- [info] Contract custodies auction funds before migration: Auction proceeds and migration funds are held by the contract until migrate() runs, so the contract temporarily custodies both the distributed token and raised currency.
- [info] Immutable configuration: The hook is deployed with fixed immutable parameters for fee, tick spacing and recipients; no admin path exists to alter them.
Contract details
- Verified source
- Yes (VirtualLBPStrategyBasic)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 17,344 bytes
- Upgradeable proxy
- No
- Detected patterns
- auction, erc20
Pools using VirtualLBPStrategyBasic
- ETH / AZTEC (0.05% fee) — 24h volume $2.38M, TVL $14.95M, 1,767 swaps today