Likely launchpad hook on Avalanche
Uniswap v4 Hook Contract 0x091f17e8470abae421ad02bb134b5ed7ebd328a8 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
- 0
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
- AUSD / USDC (0.01% fee) — 24h volume $0, TVL $0, 0 swaps today