Add Ring FewV2 Direct Routing Hook hook on ethereum#601
Add Ring FewV2 Direct Routing Hook hook on ethereum#601hooklist-generator[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Review: hooks/ethereum/0x1c94eb938ffb066c3a5f0d43e44a428f35a1e888.json
Contract Identity
- Source contract name:
RingAggregatorHook(confirmed insource_meta.jsonand NatSpec@title) - Verified source:
true✓ (matchessource_meta.json:"verified": true,"proxy": false) - ChainId:
1✓ (matcheschains.jsonforethereum)
Flags (address bitmask vs. JSON)
0x...e888 → 0b1110_1000_1000_1000, lower 14 bits: 10_1000_1000_1000
| Bit | Flag | Address | JSON | Source getHookPermissions() |
|---|---|---|---|---|
| 13 | beforeInitialize | 1 | true | true ✓ |
| 12 | afterInitialize | 0 | false | false ✓ |
| 11 | beforeAddLiquidity | 1 | true | true ✓ |
| 10 | afterAddLiquidity | 0 | false | false ✓ |
| 9 | beforeRemoveLiquidity | 0 | false | false ✓ |
| 8 | afterRemoveLiquidity | 0 | false | false ✓ |
| 7 | beforeSwap | 1 | true | true ✓ |
| 6 | afterSwap | 0 | false | false ✓ |
| 5 | beforeDonate | 0 | false | false ✓ |
| 4 | afterDonate | 0 | false | false ✓ |
| 3 | beforeSwapReturnsDelta | 1 | true | true ✓ |
| 2 | afterSwapReturnsDelta | 0 | false | false ✓ |
| 1 | afterAddLiquidityReturnsDelta | 0 | false | false ✓ |
| 0 | afterRemoveLiquidityReturnsDelta | 0 | false | false ✓ |
All 14 flags match the address bitmask and the getHookPermissions() return value.
Properties
-
dynamicFee: false✓ —_beforeSwapalways returns0as the third value (no fee override). No call topoolManager.updateDynamicLPFee()anywhere in the source. -
upgradeable: false✓ — No proxy pattern, nodelegatecall, noSELFDESTRUCT, no mutable implementation pointer. All wiring (fewFactory,fewV2Factory,weth,feeRecipient,uniBurner) isimmutable. The only mutable state is_approved(a gas-optimization approval cache, internal only). -
requiresCustomSwapData: false✓ —_beforeSwapacceptsbytes calldata(hookData) but never decodes or uses it. Swaps execute correctly with empty hookData. -
vanillaSwap: false✓ — The hook intercepts the full swap viabeforeSwapReturnsDelta: true. In_beforeSwapit takes the input token, wraps it to a FewToken, routes through the corresponding FewV2 pair, unwraps the output, and settles aBeforeSwapDeltaback to PoolManager. The swap execution is entirely replaced by the FewV2 route — it cannot be vanilla. -
swapAccess: "none"✓ —_beforeSwapperforms no access control. There is no allowlist, owner check, governance flag, or temporal gate. Any caller can initiate a swap.
Metadata
-
name: "Ring FewV2 Direct Routing Hook"✓ — The contract isRingAggregatorHookand its NatSpec@titleexplicitly references "Ring FewV2 direct-pair" routing. The label is substantiated by the source and contains no promotional, audit, or endorsement language. -
description✓ — Accurately describes the contract: ownerless, wraps input to FewToken, routes through FewV2 pair, unwraps output, settles via PoolManager, no hookData decoding, liquidity blocked (_beforeAddLiquidityalways reverts), no admin. Every claim is directly verifiable in the Solidity source.
All flags, properties, and metadata are correct. Approving.
|
Adding deployment evidence for reviewers:
Smoke swap details:
Both contracts are verified on Etherscan. Audit is in progress; we’ll update the audit URL once the final report is available. |
Summary
Ownerless Uniswap v4 hook that exposes Ring FewV2 direct-pair liquidity through v4 swaps. The hook wraps the input token into its canonical FewToken, swaps through the corresponding FewV2 pair, unwraps the output token, and settles back through PoolManager. It does not require or decode custom hookData, does not allow liquidity in the v4 pool, and has no hook owner, pause, upgrade path, or route-control admin.
Flags
Properties
Warnings
None
Closes #600