Skip to content

Add DiamondHandsHook hook on ethereum#650

Merged
marktoda merged 1 commit into
mainfrom
hooks/ethereum/0x1df8e3ce04a62922506e4ba303e1338583155044
Jun 11, 2026
Merged

Add DiamondHandsHook hook on ethereum#650
marktoda merged 1 commit into
mainfrom
hooks/ethereum/0x1df8e3ce04a62922506e4ba303e1338583155044

Conversation

@hooklist-generator

Copy link
Copy Markdown

Summary

Anti-dump hook for a single DMND/WETH pool that charges 0% on buys and a dynamic 0.5–10% fee on sells, scaling with 1h rolling sell pressure via integral pricing. Captured fees are split 50/30/20 between a MerkleDistributor jackpot for DMND holders, WETH→DMND buyback-and-burn, and direct LP donations via poolManager.donate().

Flags

Flag Value
beforeInitialize false
afterInitialize true
beforeAddLiquidity false
afterAddLiquidity false
beforeRemoveLiquidity false
afterRemoveLiquidity false
beforeSwap false
afterSwap true
beforeDonate false
afterDonate false
beforeSwapReturnsDelta false
afterSwapReturnsDelta true
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 includes an unverifiable external URL. Using AI-generated description.

Closes #649

@vercel

vercel Bot commented Jun 11, 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 11, 2026 4:46pm

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

Address Bitmask

Address suffix 0x5044 → lowest 14 bits 0001 0000 0100 0100:

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

All flags correct.

Properties

  • dynamicFee: false ✓ — No updateDynamicLPFee() or lpFeeOverride in beforeSwap (the hook has no beforeSwap). The variable sell fee (0.5–10%) is implemented as a hook fee captured via afterSwapReturnsDelta using the BaseHookFee pattern, not the v4 LP dynamic fee mechanism.
  • upgradeable: false ✓ — No proxy, delegatecall, selfdestruct, or mutable implementation storage. source_meta.json confirms "proxy": false.
  • requiresCustomSwapData: false ✓ — hookData is passed through but never decoded or required. Swaps work correctly with empty hookData.
  • vanillaSwap: false ✓ — afterSwapReturnsDelta: true; the hook captures a fee delta from the swapper on sells. Swap behavior is materially different from a vanilla pool for sells.
  • swapAccess: "none" ✓ — No access control in _afterSwap (hook has no beforeSwap). Anyone may swap freely.

Metadata

  • name "DiamondHandsHook" ✓ — Matches contractName from Etherscan and the NatSpec @title DiamondHandsHook in source.
  • verifiedSource: true ✓ — Confirmed by source_meta.json ("verified": true).
  • chainId: 1 ✓ — Ethereum mainnet.
  • description ✓ — Accurately describes the on-chain logic: 0% buy hook fee (BUY_FEE = 0), dynamic 0.5–10% sell fee (SELL_FEE_BASE = 5_000, SELL_FEE_MAX = 100_000), 1-hour rolling window (PRESSURE_WINDOW = 1 hours), integral pricing (verified in _sellFeeFor), 50/30/20 split (SPLIT_JACKPOT/BUYBACK/LOYALTY), MerkleDistributor jackpot, WETH→DMND buyback-and-burn, and LP donations via poolManager.donate(). No promotional or audit language.

All fields verified. No issues found.

@marktoda marktoda 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.

Bot review verified. DiamondHandsHook on ethereum (0x1df8...5044). Bitmask 0x1044 → afterInitialize, afterSwap, afterSwapReturnsDelta. Description length 327/500 prechecked. LGTM.

@marktoda marktoda merged commit c07e9c6 into main Jun 11, 2026
7 checks passed
@marktoda marktoda deleted the hooks/ethereum/0x1df8e3ce04a62922506e4ba303e1338583155044 branch June 11, 2026 20:16
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: DiamondHandsHook

1 participant