Skip to content

Add ShitGiftHook hook on ethereum#580

Merged
marktoda merged 1 commit into
mainfrom
hooks/ethereum/0x0f7ff748f58d16876ba71783f3a7cf2cf3f2c040
May 25, 2026
Merged

Add ShitGiftHook hook on ethereum#580
marktoda merged 1 commit into
mainfrom
hooks/ethereum/0x0f7ff748f58d16876ba71783f3a7cf2cf3f2c040

Conversation

@hooklist-generator
Copy link
Copy Markdown

Summary

Uniswap V4 afterSwap hook for the ShitVerse meme ecosystem. On any qualifying buy (≥ 42069 SHIT) of the canonical ETH/SHIT 1% pool, rolls a 1% RNG and on win transfers 1 ether of a randomly-picked community-deposited 'art' token (ERC-20/ERC-1155 dual-surface DualToken) to tx.origin. Per-origin 24h cooldown; CEI ordering with all state writes committed before the external transfer. Pool membership gated by ShitVerseFactory.isValidToken at deposit time.

Flags

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

Properties

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

Warnings

None

Closes #579

@vercel
Copy link
Copy Markdown

vercel Bot commented May 23, 2026

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

Project Deployment Actions Updated (UTC)
hooklist Ready Ready Preview, Comment May 23, 2026 2:14am

Request Review

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Review: hooks/ethereum/0x0f7ff748f58d16876ba71783f3a7cf2cf3f2c040.json

Contract: ShitGiftHook — verified source on Ethereum mainnet.

Address Flags

0x...c040 → lowest 14 bits = 0x0040 → only bit 6 set = afterSwap. Matches JSON and confirmed by getHookPermissions() in source.

Flags ✓

All 14 flags correct. Only afterSwap: true.

Properties ✓

  • dynamicFee: falseafterSwap returns (selector, 0); no updateDynamicLPFee() call anywhere.
  • upgradeable: false — no proxy pattern, no delegatecall, no mutable implementation pointer. source_meta.json confirms proxy: false.
  • requiresCustomSwapData: falsehookData is ignored (bytes calldata /* hookData */). Swaps proceed normally without it.
  • vanillaSwap: false — correct. afterSwap calls IERC20(art).safeTransfer(origin, 1 ether), i.e. it transfers tokens inside afterSwap, so the swap does not behave identically to a standard v4 pool.
  • swapAccess: "none" — correct. No beforeSwap flag. The pool-key matching in afterSwap is pool identity verification, not swap access control.

Metadata ✓

  • chainId: 1 matches chains.json for ethereum.
  • name: "ShitGiftHook" matches contractName in source_meta.json and the contract definition. No promotional or endorsement language.
  • verifiedSource: true matches source_meta.json.
  • description accurately reflects the Solidity logic: 42069 SHIT minimum (MIN_BUY = 42069 ether), 1% RNG (DROP_CHANCE_BPS = 100), 1 ether art token transfer to tx.origin, 24h cooldown (DROP_COOLDOWN = 1 days), CEI ordering explicitly enforced in code, factory-gated deposits. No audit claims or marketing language.

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

@dogeshitmeme
Copy link
Copy Markdown

Closing — references the abandoned hook at 0x0f7ff748F58D16876BA71783F3a7cF2Cf3f2C040 (never used, no pool initialized). The live production deploy at 0xEf2dEBE958d3d3B8Cb8Bf489961BDDf23ca20040 is in PR #582 (issue #581).

@dogeshitmeme
Copy link
Copy Markdown

Please close — superseded by #582.

The hook at 0x0f7ff748F58D16876BA71783F3a7cF2Cf3f2C040 was deployed but never used (no pool initialized; zero on-chain interactions since deployment). It was abandoned in favor of a Future-RANDAO queue-model redesign.

The live production hook for this project is deployed at 0xEf2dEBE958d3d3B8Cb8Bf489961BDDf23ca20040 (verified on Etherscan, submitted in #581 / PR #582). Issue #579 has been closed as superseded.

Merging this PR would register a stale, never-to-be-used entry. Please close in favor of #582.

Copy link
Copy Markdown
Contributor

@marktoda marktoda left a comment

Choose a reason for hiding this comment

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

Bot review verified. ShitGiftHook at 0x0f7f... (afterSwap only, bit 6, bitmask 0x40). Description at 455/500 chars — close to limit but compliant. Properties consistent with source. LGTM.

@marktoda marktoda merged commit 1d423c1 into main May 25, 2026
7 checks passed
@marktoda marktoda deleted the hooks/ethereum/0x0f7ff748f58d16876ba71783f3a7cf2cf3f2c040 branch May 25, 2026 21:20
marktoda added a commit that referenced this pull request May 27, 2026
This reverts commit 1d423c1 (PR #580).

The submitter (@dogeshitmeme, who opened issue #579) requested PR #580 be
closed before it was merged: the hook at
0x0f7ff748F58D16876BA71783F3a7cF2Cf3f2C040 was deployed but never used
(no pool initialized, zero on-chain interactions) and was abandoned in
favor of a Future-RANDAO queue-model redesign deployed at
0xEf2dEBE958d3d3B8Cb8Bf489961BDDf23ca20040 (PR #582, already on main).

Issue #579 was closed by the submitter as superseded. The close-request
comments arrived after the bot's APPROVED review and were not surfaced
to the triage fast-path before merge.

regenerate.yml will rebuild hooklist.json on merge to drop the stale entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
marktoda added a commit that referenced this pull request May 27, 2026
This reverts commit 1d423c1 (PR #580).

The submitter (@dogeshitmeme, who opened issue #579) requested PR #580 be
closed before it was merged: the hook at
0x0f7ff748F58D16876BA71783F3a7cF2Cf3f2C040 was deployed but never used
(no pool initialized, zero on-chain interactions) and was abandoned in
favor of a Future-RANDAO queue-model redesign deployed at
0xEf2dEBE958d3d3B8Cb8Bf489961BDDf23ca20040 (PR #582, already on main).

Issue #579 was closed by the submitter as superseded. The close-request
comments arrived after the bot's APPROVED review and were not surfaced
to the triage fast-path before merge.

regenerate.yml will rebuild hooklist.json on merge to drop the stale entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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:

2 participants