Likely launchpad hook on Avalanche

Uniswap v4 Hook Contract 0x02d9e58cdde22fd2a60b2f3c2d80901dd85568a8 on Avalanche · Liquidity management

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
1
Swaps (24h)
0 (0 traders)
Total swaps
6

What it does

A Euler-style swap hook that appears to route pool swaps through external lending vaults and adjust swap amounts via return deltas, though its exact behaviour cannot be fully confirmed without source.

This read was written for the hook 0x023d…a8a8 on Avalanche and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Runs beforeSwap and can return a delta that changes swap amounts (beforeSwapReturnDelta)
  • Moves tokens via transfer, approve, take and settle calls
  • Tracks reserves packed in a uint112 pair with a timestamp slot
  • Exposes getReserves, getLimits, computeQuote and getAssets views for quoting
  • Calls external vault functions such as deposit, repay and enableController, suggesting lending-vault integration
  • Is upgradeable through a proxy pointing to a separate implementation
Swap behaviour
beforeSwap is dispatched and the hook can return a swap delta and move currency through take, settle and transfer calls; the exact pricing logic is not determinable from the bytecode.
Liquidity behaviour
beforeAddLiquidity hook is enabled, and an afterRemoveLiquidity and afterAddLiquidity selector are dispatched, but their logic cannot be determined without source.
Fee behaviour
Fee is not set by this hook's own logic beyond the pool configuration; no fee-setting function identified.
Owner & admin controls
Not stated.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, beforeDonate, beforeSwapReturnDelta

beforeInitialize: runs when the pool is initialized. beforeAddLiquidity: runs before liquidity is added. beforeSwap: runs before each swap and can modify swap deltas. beforeDonate: runs before donations. beforeSwapReturnDelta: lets the hook return a delta that changes the swap amounts, so it can take or supply tokens during a swap.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: The proxy is upgradeable, so the implementation can be replaced by whoever controls the upgrade path; the controlling key and any admin functions could not be identified from the decoded bytecode.

Risk to user funds: Because beforeSwapReturnDelta is enabled and the hook calls transfer, approve, take and settle, the hook can take, hold or supply tokens on swaps and may interact with external vaults; the exact conditions cannot be determined from the bytecode alone.

Security findings

  • [medium] Upgradeable proxy: Hook is a proxy delegating all calls to implementation 0x4f4fdee3568ac31c46634fb2df3ff44a156be351, which can likely be changed by an upgrade authority.
  • [medium] Hook can move pool currency: beforeSwapReturnDelta is enabled and the bytecode includes transfer, approve and take/settle calls, so the hook can move tokens during swaps.
  • [info] External vault dependencies: Selectors for Euler-style integration (EVC, vault deposit, borrow/repay, controller enable) and an eulerSwapCall callback suggest the hook interacts with lending vaults and may depend on external vault state.
  • [info] Unverified source: No source is verified, so admin roles, pausing and parameter controls could not be confirmed.

Contract details

Verified source
No
Bytecode size
438 bytes
Upgradeable proxy
Yes
Detected patterns
erc20, moves-currency, return-delta, upgradeable

Pools using Likely launchpad hook