Skip to content

Add AggHook hook on ethereum#676

Open
hooklist-generator[bot] wants to merge 1 commit into
mainfrom
hooks/ethereum/0x190fde31adce92c21651c33b39dd064949dc6888
Open

Add AggHook hook on ethereum#676
hooklist-generator[bot] wants to merge 1 commit into
mainfrom
hooks/ethereum/0x190fde31adce92c21651c33b39dd064949dc6888

Conversation

@hooklist-generator

Copy link
Copy Markdown

Summary

AggHook intercepts swaps via beforeSwapReturnsDelta to route liquidity across multiple registered V3 and V4 pools (including Uniswap V3 and PancakeSwap V3 via swap callbacks), performing multi-hop execution and charging a protocol fee via the pool manager's donate function. Routing data and pool addresses are baked into the contract bytecode; add-liquidity and initialization are restricted to an admin address (tx.origin check).

Flags

Flag Value
beforeInitialize true
afterInitialize false
beforeAddLiquidity true
afterAddLiquidity false
beforeRemoveLiquidity false
afterRemoveLiquidity false
beforeSwap true
afterSwap false
beforeDonate false
afterDonate false
beforeSwapReturnsDelta true
afterSwapReturnsDelta false
afterAddLiquidityReturnsDelta false
afterRemoveLiquidityReturnsDelta false

Properties

Property Value
dynamicFee false
upgradeable false
requiresCustomSwapData false
vanillaSwap false
swapAccess none

Warnings

  • Submitter-proposed description rejected: exceeds 500-character limit and contains promotional marketing language not substantiated by the verified source. Using AI-generated description.

Closes #675

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hooklist Ready Ready Preview, Comment Jun 19, 2026 10:06pm

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: hooks/ethereum/0x190fde31adce92c21651c33b39dd064949dc6888.json

Address Flags

Address suffix 0x6888 = 0110 1000 1000 1000 binary. Lower 14 bits: 10 1000 1000 1000.

Bit Flag Address File Match
13 beforeInitialize 1 true
12 afterInitialize 0 false
11 beforeAddLiquidity 1 true
10 afterAddLiquidity 0 false
9 beforeRemoveLiquidity 0 false
8 afterRemoveLiquidity 0 false
7 beforeSwap 1 true
6 afterSwap 0 false
5 beforeDonate 0 false
4 afterDonate 0 false
3 beforeSwapReturnsDelta 1 true
2 afterSwapReturnsDelta 0 false
1 afterAddLiquidityReturnsDelta 0 false
0 afterRemoveLiquidityReturnsDelta 0 false

Properties

  • dynamicFee=false ✅ — beforeSwap returns a hardcoded zero fee override (mstore(0x40, 0)). The _fee() helper calls V4_DONATE_SELECTOR (donation-based protocol fee), not updateDynamicLPFee().
  • upgradeable=false ✅ — No proxy pattern, delegatecall, mutable implementation storage, or SELFDESTRUCT.
  • requiresCustomSwapData=false ✅ — The bytes calldata hookData parameter in beforeSwap is unnamed and never accessed; routing is determined solely from SwapParams.
  • vanillaSwap=false ✅ — Correct: beforeSwapReturnsDelta=true disqualifies it, and the hook executes nested V3/V4 swaps and donates fees inside beforeSwap.
  • swapAccess="none" ✅ — beforeSwap only verifies _onlyPoolManager() (structural enforcement that caller == pool manager). No user-level allowlist, temporal gate, or governance flag.

Metadata

  • verifiedSource=true ✅ — Confirmed by source_meta.json ("verified": true).
  • chainId=1 ✅ — ethereum maps to chainId 1 in chains.json.
  • name="AggHook" ✅ — Matches contractName from Etherscan metadata.
  • description ✅ — Accurately describes: swap interception via beforeSwapReturnsDelta, multi-pool routing across V3 (Uniswap + PancakeSwap, confirmed by uniswapV3SwapCallback/pancakeV3SwapCallback) and V4 pools, donate-based protocol fee via _fee(), bytecode-baked pool addresses (confirmed by DATA constant in Config.sol), and tx.origin-based admin gate on beforeAddLiquidity/beforeInitialize (confirmed by _onlyAdmin() using origin()).

All fields verified against on-chain source. No issues found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

hook: USDC/USDT Aggregator hook

0 participants