FullRangeLBPStrategy on Ethereum
Uniswap v4 Hook Contract 0x890681cff5ad2069f020027f41f5f68f6a292000 on Ethereum · Launchpad · Verified contract
- Volume (24h)
- $19.36K
- Value locked (TVL)
- $810.34K
- All-time volume
- $40.17M
- Pools using this hook
- 1
- Swaps (24h)
- 46 (41 traders)
- Total swaps
- 40,701
What it does
Appears to be a Uniswap v4 launch hook that initializes a pool for a token distribution, using a configured LP fee, tick spacing and reserve amount, with time-based migration and sweep phases.
How it works step by step
- Validates and configures the pool in beforeInitialize
- Exposes launch parameters such as poolLPFee, poolTickSpacing and reserveTokenAmount
- Tracks migrationBlock, endBlock and sweepBlock to gate launch phases
- Receives tokens through onTokensReceived and holds a reserve token amount
- Provides sweepToken and sweepCurrency to recover assets after the launch
- Caps liquidity provisioning through maxCurrencyAmountForLP
- Swap behaviour
- beforeSwap and afterSwap selectors are present, but no specific swap logic was decoded from the bytecode.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity selectors are present in the dispatcher, but their bodies were not decoded in detail. Selectors such as maxCurrencyAmountForLP and reserveTokenAmount hint that liquidity is restricted to a capped amount and reserved for a launch, though this is unconfirmed.
- Fee behaviour
- Exposes poolLPFee() and poolTickSpacing(), suggesting it initializes the pool with a configured LP fee and tick spacing rather than changing fees dynamically; no fee manipulation logic was decoded.
- Owner & admin controls
- Storage slot 0 (an address) is read by the migrate, initializer and onTokensReceived selectors and written by onTokensReceived, which suggests a stored initializer or operator address; no owner setter was decoded. Parameters appear fixed at initialization through initializerParameters, and the only write path found is onTokensReceived.
Enabled Uniswap v4 callbacks
beforeInitialize
beforeInitialize is the only enabled permission and is used to validate and configure the pool at creation time, likely checking currency and initializer parameters.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: Without verified source, the operator and initializer roles cannot be fully assessed; a privileged operator may control sweepToken, sweepCurrency and fund routing, which could redirect proceeds.
Risk to user funds: The hook may hold tokens during the launch and can potentially transfer them through the sweep functions and the migration path; exact access control on these functions could not be verified from bytecode alone.
Security findings
- [medium] Sweep functions can move held assets: Selectors sweepToken and sweepCurrency are nonpayable and not gated by any decoded access check; if they are callable by the operator they can move tokens held by the hook.
- [info] Time-gated launch phases controlled by operator: The hook is deployed as an address with an operator and fundsRecipient, and migrationBlock, endBlock and sweepBlock indicate time-gated phases that depend on the operator.
- [info] No upgrade mechanism detected: No proxy or upgrade selectors were found, so the contract appears non-upgradeable from the decoded bytecode.
Contract details
- Verified source
- Yes (FullRangeLBPStrategy)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 14,852 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20
Pools using FullRangeLBPStrategy
- ETH / wOCT (0.30% fee) — 24h volume $19.36K, TVL $810.34K, 46 swaps today