Skip to content

Add uTokenHook hook on ethereum - #7153

Merged
Ponx merged 1 commit into
mainfrom
hooks/ethereum/0xd1cf932ce8d86b6b19720c064ea19683131100cc
Sep 17, 2026
Merged

Ponx merged 1 commit into
mainfrom
hooks/ethereum/0xd1cf932ce8d86b6b19720c064ea19683131100cc

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

Deflationary hook for ETH/token pools that burns a configurable percentage (up to 10%) of the token on every swap. Burn is applied in beforeSwap for token-specified swaps and in afterSwap for unspecified token output. Pool initialization and liquidity management are restricted to an immutable authorized address.

Flags

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

Properties

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

Warnings

  • Submitter did not provide a name. Using AI-derived "uTokenHook".
  • Submitter did not provide a description. Using AI-generated description.

Closes #7141

@vercel

vercel Bot commented Sep 16, 2026

Copy link
Copy Markdown

Deployment failed for project hooklist with the following error:

Resource is limited - try again in 60 minutes (more than 450, code: "api-deployments-paid-per-hour").

Learn More: https://vercel.com/uniswap?upgradeToPro=build-rate-limit

@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/0xd1cf932ce8d86b6b19720c064ea19683131100cc.json

Contract: uTokenHook (file: src_DeflationaryHook.sol) — verified on Ethereum mainnet.

Flags

Address low 14 bits: 0x00ccbeforeSwap=1, afterSwap=1, beforeSwapReturnsDelta=1, afterSwapReturnsDelta=1, all others 0. Matches getHookPermissions() in source and the hook file exactly. ✓

Properties

  • dynamicFee=false: No updateDynamicLPFee() or lpFeeOverride. The pool fee is a static uint24 set at initialization. ✓
  • upgradeable=false: No proxy pattern, no mutable delegatecall target. poolManager and authorized are immutable. ✓
  • requiresCustomSwapData=false: The hookData parameter is unnamed and unused in both beforeSwap and afterSwap. Swaps function correctly with empty hookData. ✓
  • vanillaSwap=false: Correct — beforeSwapReturnsDelta and afterSwapReturnsDelta are both true, and the hook actively redirects token amounts to burn them, materially changing swap output. ✓
  • swapAccess="none": beforeSwap carries only the onlyPoolManager framework guard; no user-facing access control on swap execution. ✓

Metadata

  • verifiedSource=true: Confirmed by source_meta.json. ✓
  • chainId=1: Ethereum mainnet. ✓
  • name="uTokenHook": Matches the on-chain contract name contract uTokenHook. ✓
  • description: Accurately describes the burn mechanism — up to 10% cap (MAX_BURN_FEE_BPS = 1000), burn applied in beforeSwap when token is the specified currency and in afterSwap for unspecified token output, and authorized (immutable) gates pool init and liquidity operations. ✓

All fields verified against source. No issues found.

@Ponx Ponx left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Bot review verified; Vercel preview is advisory. LGTM.

@Ponx
Ponx merged commit 5c01ca2 into main Sep 17, 2026
5 of 6 checks passed
@Ponx
Ponx deleted the hooks/ethereum/0xd1cf932ce8d86b6b19720c064ea19683131100cc branch September 17, 2026 00:54
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: 0xd1cf932ce8d86b6b19720c064ea19683131100cc on ethereum

1 participant