Skip to content

Add Flaunch PositionManager hook on ethereum#1122

Merged
marktoda merged 1 commit into
mainfrom
hooks/ethereum/0x5cf8e499c7c466c7e2cf127bdf129f57151e65dc
Jul 21, 2026
Merged

Add Flaunch PositionManager hook on ethereum#1122
marktoda merged 1 commit into
mainfrom
hooks/ethereum/0x5cf8e499c7c466c7e2cf127bdf129f57151e65dc

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

Uniswap v4 hook for the Flaunch token-launch platform that manages memecoin pool creation, an internal swap pool that fills fee inventory against incoming swaps, fee distribution to creators/protocol/BidWall/referrers, and TWAP oracle recording. Swaps on newly scheduled pools are time-gated until the configured launch timestamp.

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 #1112

@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:42pm

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

Address Flags

Address suffix 0x65DC → lowest 14 bits = 0x25DC = 0010 0101 1101 1100.

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

All 14 flags match. Confirmed independently by getHookPermissions() in src_contracts_PositionManager.sol.

Properties

  • dynamicFee: false ✓ — The pool is initialized with fee: 0 (static). _beforeSwap returns 0 for the uint24 fee slot. No updateDynamicLPFee or OVERRIDE_FEE_FLAG usage found in the hook contract.

  • upgradeable: false ✓ — No delegatecall, proxy pattern, or selfdestruct found in the PositionManager. source_meta.json confirms proxy: false. Owner-settable references (initialPrice, flaunchContract) are configurability, not upgradeability.

  • requiresCustomSwapData: false ✓ — hookData in _beforeSwap / _afterSwap is only used for the optional referrer-fee feature (_distributeReferrerFees). A swap with empty hookData executes normally; no revert path requires it.

  • vanillaSwap: false ✓ — Correctly false: beforeSwapReturnsDelta and afterSwapReturnsDelta are both true; additionally the hook executes an internal swap (InternalSwapPool) in beforeSwap and captures fees in afterSwap, materially altering swap execution.

  • swapAccess: "temporal" ✓ — _beforeSwap checks flaunchesAt[poolId] against block.timestamp and reverts with TokenNotFlaunched if the current time is before the scheduled launch. This is a classic temporal gate.

Metadata

  • verifiedSource: true ✓ — Confirmed by source_meta.json ("verified": true).
  • chainId: 1 ✓ — Matches Ethereum in chains.json.
  • name: "Flaunch PositionManager" ✓ — contractName is PositionManager; project name "Flaunch" is substantiated throughout the source (package paths, contract comments, event names). No promotional/audit/endorsement language.
  • description ✓ — Accurately describes memecoin pool creation, the internal swap pool filling fee inventory against incoming swaps, fee distribution to creators/protocol/BidWall/referrers, TWAP oracle recording, and time-gated launch scheduling — all directly verifiable in the Solidity logic.

All fields are correct. Approving.

@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. Flaunch PositionManager (ethereum). Full lifecycle hook: beforeInitialize, afterAdd/RemoveLiquidity, before/afterSwap (+returnsDelta), afterDonate. LGTM.

@marktoda
marktoda merged commit 4d3ca1b into main Jul 21, 2026
7 checks passed
@marktoda
marktoda deleted the hooks/ethereum/0x5cf8e499c7c466c7e2cf127bdf129f57151e65dc branch July 21, 2026 16:24
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 Ethereum

1 participant