Skip to content

Add UniChainHook hook on ethereum - #7149

Merged
Ponx merged 1 commit into
mainfrom
hooks/ethereum/0x4fef97b09b6e2be7ee62331ef47f5fc1bef1a0c4
Sep 16, 2026
Merged

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

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

A Uniswap v4 hook for a deflationary ERC-20 (CHAIN) that burns 1% of token output on buys and uses 5% of ETH output to execute a nested buyback-and-burn on sells, reducing CHAIN total supply on every trade in a single canonical CHAIN/ETH pool.

Flags

Flag Value
beforeInitialize true
afterInitialize false
beforeAddLiquidity false
afterAddLiquidity false
beforeRemoveLiquidity false
afterRemoveLiquidity false
beforeSwap true
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 did not provide a name. Using AI-derived "UniChainHook".
  • Submitter did not provide a description. Using AI-generated description.

Closes #7138

@vercel

vercel Bot commented Sep 16, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
hooklist Ready Ready Preview Sep 16, 2026 9:17pm UTC

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

Contract: UniChainHook — verified source on Ethereum mainnet (chainId 1).

Address Flags

Lowest 14 bits of 0x...a0c4: 0xa0c4 & 0x3FFF = 0x20C4 (8388 decimal) = 10 0000 1100 0100 in binary.

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

All flags match the address bitmask and the source getHookPermissions().

Properties

  • dynamicFee: false ✓ — _beforeSwap always returns lpFeeOverride = 0; no updateDynamicLPFee() calls. The fixed 1%/5% fees are applied as hook deltas in afterSwap, not as LP fee overrides.
  • upgradeable: false ✓ — No proxy pattern, no mutable delegatecall target, no SELFDESTRUCT. uniChain is immutable.
  • requiresCustomSwapData: false ✓ — hookData is accepted but never read in either callback; swaps succeed with empty bytes.
  • vanillaSwap: false ✓ — Correct: afterSwapReturnsDelta is true, and the hook executes nested swaps (buyback) and burns tokens inside _afterSwap, materially changing swap behavior.
  • swapAccess: "none" ✓ — _beforeSwap has no access control. It short-circuits for the internal buyback reentrancy guard and rejects exact-output swaps (ExactOutputUnsupported), but there is no allowlist, governance flag, or temporal gate restricting who may swap.

Metadata

  • chain/chainId: ethereum → chainId 1 ✓
  • verifiedSource: true ✓ — confirmed by source_meta.json ("verified": true)
  • name: "UniChainHook" ✓ — matches the Solidity contract name exactly
  • description ✓ — All technical claims are substantiated:
    • "burns 1% of token output on buys": BUY_FEE_BPS = 100 applied to UniChain output ✓
    • "uses 5% of ETH output to execute a nested buyback-and-burn on sells": SELL_FEE_BPS = 500 triggers poolManager.swap buying back UniChain and burning it ✓
    • "reducing CHAIN total supply on every trade": uniChain.burn() called on both paths ✓
    • "single canonical CHAIN/ETH pool": _beforeInitialize enforces a one-time pool lock ✓
    • No audit, safety, or marketing language present ✓

@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; bitmask/flags/properties check out. LGTM.

@Ponx
Ponx merged commit 3e5bfd0 into main Sep 16, 2026
7 checks passed
@Ponx
Ponx deleted the hooks/ethereum/0x4fef97b09b6e2be7ee62331ef47f5fc1bef1a0c4 branch September 16, 2026 23:05
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: 0x4fef97b09b6e2be7ee62331ef47f5fc1bef1a0c4 on ethereum

1 participant