Skip to content

Add Rivers LaunchHook hook on robinhood#1102

Merged
Ponx merged 1 commit into
mainfrom
hooks/robinhood/0xcd87186fc4f809241f3e7ff3ca557bb7cc962acc
Jul 16, 2026
Merged

Add Rivers LaunchHook hook on robinhood#1102
Ponx merged 1 commit into
mainfrom
hooks/robinhood/0xcd87186fc4f809241f3e7ff3ca557bb7cc962acc

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

Singleton Uniswap v4 hook for Rivers protocol launch pools, managing a pre/post-graduation lifecycle. During pre-launch phases, liquidity and swaps are restricted to the pool controller. After graduation, public swaps are enabled with protocol and creator fees taken as BeforeSwapDelta/AfterSwapDelta values and a dynamic LP fee override returned from beforeSwap.

Flags

Flag Value
beforeInitialize true
afterInitialize false
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 governance

Warnings

  • Submitter-proposed name "Rivers LaunchHook (V2)" rejected: "(V2)" versioning suffix is not substantiated in the verified source. Using "Rivers LaunchHook".
  • Submitter did not provide a description. Using AI-generated description.

Closes #1096

@vercel

vercel Bot commented Jul 16, 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 16, 2026 3:08pm

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

Address Flags

The address ends in 0x2acc. Lowest 14 bits = 10 1010 1100 1100:

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

All flags match the address bitmask. The _requiredPermissions() function in the source confirms the same set.

Properties

  • dynamicFee: true ✓ — beforeSwap returns lpFee | LPFeeLibrary.OVERRIDE_FEE_FLAG on every call, overriding the LP fee dynamically (switching between PRE_GRADUATION_LP_FEE and POST_GRADUATION_LP_FEE based on phase).

  • upgradeable: false ✓ — No proxy pattern, delegatecall, or selfdestruct in the source. Immutable poolManager and feeController.

  • requiresCustomSwapData: false ✓ — hookData is optional. When absent (hookData.length != 32), _isProtocolFeeExempt and _isGraduationCrossing return false and swaps proceed normally with fee deduction. The hook does not revert on empty hookData.

  • vanillaSwap: false ✓ — dynamicFee is true, beforeSwapReturnsDelta and afterSwapReturnsDelta are true, and the hook executes token transfers (poolManager.take) inside beforeSwap/afterSwap. Swap execution is materially altered.

  • swapAccess: governance ✓ — In pre-graduation phases, beforeSwap gates on config.phase (set by the controller/admin): if (!feeActive && sender != config.controller) revert UnauthorizedAction(sender). This is a boolean-flag style state set by an owner/admin, fitting the "governance" classification.

Metadata

  • verifiedSource: true ✓ — Confirmed by source_meta.json.
  • chainId: 4663 ✓ — Matches chains.json entry for "robinhood".
  • name: "Rivers LaunchHook" ✓ — Contract is named LaunchHook; NatSpec says "Singleton v4 hook serving registered Rivers launch pools." "Rivers LaunchHook" is a project-qualified label substantiated by the source. No promotional language.
  • description ✓ — Accurately describes the lifecycle (CREATED → SEEDED → BOOTSTRAP_ACTIVE → GRADUATION_PENDING → GRADUATED_LP_ACTIVE → PARTICIPANT_LADDER_SETTLED), pre-graduation access restriction to controller, and post-graduation fee mechanics via BeforeSwapDelta/AfterSwapDelta with dynamic LP fee override. No audit claims or marketing language.

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

@Ponx
Ponx merged commit 378678e into main Jul 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: Rivers LaunchHook (V2) on Robinhood Chain

1 participant