Skip to content

Add MofoHook (mofo launchpad) hook on robinhood - #10457

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

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

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

A launchpad hook that enforces factory-only pool creation and locker-only liquidity additions. It applies a dynamic LP fee with a time-decaying anti-sniper fee (99% → normal) in the first 3 seconds after launch, and reverts any swap that would push the pool price below its birth price.

Flags

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

Properties

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

Warnings

  • Submitter-proposed description rejected: exceeds 500-character limit and contains unverifiable claims (specific fee for $MOFO token, liquidity locked forever, external verification). Using AI-generated description.

Closes #10456

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

Flags

Last 2 bytes of address: 0xa8c0 = 1010 1000 1100 0000. All 14 permission bits match exactly:

  • beforeInitialize=true, beforeAddLiquidity=true, beforeSwap=true, afterSwap=true — all set
  • All others false

Confirmed also by Hooks.validateHookPermissions(...) in the constructor with identical settings.

Properties

  • dynamicFee: true ✓ — beforeInitialize requires LPFeeLibrary.isDynamicFee(key.fee), and beforeSwap returns fee | LPFeeLibrary.OVERRIDE_FEE_FLAG using currentFeePips(), which applies a time-decaying anti-sniper fee.

  • upgradeable: false ✓ — All state variables (poolManager, factory, locker, openingBuyer) are immutable. No proxy patterns, no delegatecall to mutable addresses, no SELFDESTRUCT.

  • requiresCustomSwapData: false ✓ — beforeSwap and afterSwap both ignore the hookData (bytes calldata) parameter entirely. The fee is derived from block.timestamp and msg.sender.

  • vanillaSwap: false ✓ — dynamicFee is true and afterSwap can revert with BelowBirthPrice, meaning swaps do not behave identically to a standard v4 pool.

  • swapAccess: "none" ✓ — beforeSwap does not reject any caller; it returns a fee override for all swappers. The afterSwap price-floor check is a price constraint, not caller-based access control.

Metadata

  • chainId: 4663 ✓ — matches robinhood in chains.json.

  • verifiedSource: true ✓ — confirmed by source_meta.json.

  • name: "MofoHook (mofo launchpad)" ✓ — contract name is MofoHook; (mofo launchpad) is an acceptable project qualifier.

  • description ✓ — Every technical claim is substantiated:

    • "factory-only pool creation" → beforeInitialize reverts if sender != factory
    • "locker-only liquidity additions" → beforeAddLiquidity reverts if sender != locker
    • "dynamic LP fee with a time-decaying anti-sniper fee (99% → normal) in the first 3 seconds" → SNIPER_START_PIPS = 990_000, SNIPER_SECONDS = 3, fee interpolation in currentFeePips()
    • "reverts any swap that would push the pool price below its birth price" → afterSwap checks sqrtP vs birthSqrtPriceX96

    No promotional, audit, or endorsement language present.

All checks pass.

This branch has not been deployed

No deployments
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: MofoHook (robinhood) 0x665C52D02Ddc506dfb3158C100Edc77FE412a8c0

0 participants