Skip to content

Add StonkHookV3 hook on robinhood - #4495

Merged
Ponx merged 1 commit into
mainfrom
hooks/robinhood/0x9265a95731ce3324d3560573f642ed7006789acc
Sep 16, 2026
Merged

Ponx merged 1 commit into
mainfrom
hooks/robinhood/0x9265a95731ce3324d3560573f642ed7006789acc

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

A Uniswap v4 hook that gates swaps on a pluggable market-hours oracle (NYSE schedule), withholds an asset-leg fee on every swap split between permanent pool liquidity and project beneficiaries, and applies an exponentially decaying anti-snipe surcharge. Liquidity can only increase: beforeRemoveLiquidity unconditionally reverts any negative delta from any caller.

Flags

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

Properties

Property Value
dynamicFee true
upgradeable false
requiresCustomSwapData false
vanillaSwap false
swapAccess temporal

Warnings

  • Submitter-proposed description rejected: exceeds 500-character limit. Using AI-generated description.

Closes #4494

@vercel

vercel Bot commented Sep 14, 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 14, 2026 6:09pm 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/robinhood/0x9265a95731ce3324d3560573f642ed7006789acc.json

Address Flags

Decoded from address 0x9265a95731ce3324d3560573f642ed7006789acc (last 14 bits: 0x9ACC & 0x3FFF = 0x1ACC):

Bit Flag Address Hook File Source (getHookPermissions)
13 beforeInitialize 0 false false ✓
12 afterInitialize 1 true true ✓
11 beforeAddLiquidity 1 true true ✓
10 afterAddLiquidity 0 false false ✓
9 beforeRemoveLiquidity 1 true true ✓
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 1 true true ✓
2 afterSwapReturnsDelta 1 true true ✓
1 afterAddLiquidityReturnsDelta 0 false false ✓
0 afterRemoveLiquidityReturnsDelta 0 false false ✓

All 14 flags match.

Properties

  • dynamicFee: true — Correct. beforeSwap returns LPFeeLibrary.OVERRIDE_FEE_FLAG and computes a time-varying fee via _feeNow(), which decays from launchFee to fee over the launch window using exponential halvings. LP fee is effectively always overridden.

  • upgradeable: false — Correct. Contract explicitly states "not upgradeable, no delegatecall, no owner." Constructor sets only immutable variables. No proxy patterns, no SELFDESTRUCT, no mutable implementation references. factory and feeLocker are immutable.

  • requiresCustomSwapData: false — Correct. In beforeSwap, hookData is only used if hookData.length == 32 to decode an optional referrer address and emit SwapReferred. This has no effect on swap execution — swaps function identically with empty hookData.

  • vanillaSwap: false — Correct. beforeSwapReturnsDelta and afterSwapReturnsDelta are both true, and the hook materially modifies swap execution by withholding asset-leg fees, applying exponential anti-snipe surcharges, and routing fee shares into permanent pool liquidity.

  • swapAccess: "temporal" — Correct. beforeSwap calls IStonkTokenV3(cfg.token).isTradingOpen() which reads a pluggable market-hours oracle (NYSE schedule). Per the interface, the oracle exposes nextWindowOpen, windowClose, and launchTime — all timestamp-based fields. Swaps are fully closed outside market hours and open during them, fitting the "temporal" classification.

Metadata

  • chainId: 4663 — Matches robinhood entry in chains.json
  • name: "StonkHookV3" — Matches contractName in source_meta.json
  • verifiedSource: true — Confirmed by source_meta.json ("verified": true) ✓
  • description — Accurate. The description correctly identifies: (1) market-hours oracle gating (NYSE schedule) via isTradingOpen(); (2) asset-leg fee withholding on every swap, split between permanent pool liquidity (pendingLiquidity) and beneficiaries (pendingFees); (3) exponentially decaying anti-snipe surcharge (_feeNow / StonkLaunchFee); (4) beforeRemoveLiquidity unconditionally reverting any negative liquidityDelta. No audit claims, safety guarantees, or promotional language present. ✓
  • auditUrl: "" — No issues.

Conclusion

All flags, properties, and metadata are consistent with the verified on-chain source code. Approving.

@Ponx
Ponx merged commit 45f320a into main Sep 16, 2026
7 checks passed
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:

1 participant