Skip to content

Add Flaunch PositionManager hook on robinhood#1119

Open
hooklist-generator[bot] wants to merge 1 commit into
mainfrom
hooks/robinhood/0x5cf8e499c7c466c7e2cf127bdf129f57151e65dc
Open

Add Flaunch PositionManager hook on robinhood#1119
hooklist-generator[bot] wants to merge 1 commit into
mainfrom
hooks/robinhood/0x5cf8e499c7c466c7e2cf127bdf129f57151e65dc

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

A Uniswap v4 hook that manages memecoin launches on the Flaunch platform, featuring an internal swap pool for pre-swap fee conversion, temporal gating for scheduled token launches, a BidWall for buy-side liquidity support, and fee distribution to protocol, creators, and optional referrers.

Flags

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

Properties

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

Warnings

  • Submitter did not provide a description. Using AI-generated description.

Closes #1114

@vercel

vercel Bot commented Jul 20, 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 Jul 20, 2026 2:41pm

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

Address Flag Verification

Address suffix 0x65dc = 0110 0101 1101 1100 (binary). All 14 permission bits match the hook file exactly:

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

Also confirmed against getHookPermissions() in source (dev comment: 10 0101 1101 1100 == 25DC; with bits 14-15 from the 0x65 prefix this matches 0x65DC).

Properties Verification

  • dynamicFee: false ✓ — Pool is initialized with fee: 0 (zero, not the 0x800000 dynamic fee flag). _beforeSwap returns a zero fee override. No poolManager.updateDynamicLPFee() call anywhere.
  • upgradeable: false ✓ — No proxy pattern, no delegatecall to a mutable implementation, no SELFDESTRUCT. Admin setters (setFlaunch, setInitialPrice) update external component contracts, not the hook itself.
  • requiresCustomSwapData: false ✓ — _hookData is used only for optional referrer fee routing in _distributeReferrerFees. The temporal gate, internal swap pool, BidWall, and all core swap logic operate independently of hookData. Empty hookData does not cause revert or materially incorrect behavior.
  • vanillaSwap: false ✓ — beforeSwapReturnsDelta is true: the InternalSwapPool can fill trades from fee inventory before they hit the Uniswap pool, returning a BeforeSwapDelta. afterSwapReturnsDelta is true: the hook takes swap fees. Swap execution is materially different from a standard v4 pool.
  • swapAccess: "temporal" ✓ — _beforeSwap checks flaunchesAt[poolId] > block.timestamp and reverts with TokenNotFlaunched if the scheduled launch timestamp hasn't passed yet. This is a pure temporal gate (configurable per-pool at launch time).

Metadata Verification

  • chainId: 4663 ✓ — Matches robinhood entry in chains.json.
  • verifiedSource: true ✓ — source_meta.json confirms "verified": true.
  • name: "Flaunch PositionManager" ✓ — On-chain contract name is PositionManager; "Flaunch" qualifier is substantiated throughout the source (project-level imports like @flaunch/, function flaunch(), IFlaunch, FlaunchParams, etc.). No promotional, audit, or affiliation language.
  • description ✓ — All four claims are factually grounded in the Solidity logic: internal swap pool (_processInternalSwap / IInternalSwapPool), temporal gating (flaunchesAt mapping + timestamp revert), BidWall (IBidWall bidWall, bidWall.deposit()), and fee distribution to protocol/creators/referrers (_distributeFees, _distributeReferrerFees). No marketing language.

Verdict

All flags, properties, and metadata are correct. Approving.

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: Flaunch PositionManager on Robinhood Chain

0 participants