Skip to content

[P5-8] ZapPlotLinkMCV2 Contract #8

@realproject7

Description

@realproject7

Context

§4.5 — fork MintPad's ZapUniV4MCV2 and add a second MCV2 Bond hop so readers can buy storyline tokens with ETH/USDC/HUNT in a single transaction.

Existing MintPad zap (single hop): ETH/USDC → Uni V4 → HUNT → MCV2 Bond → Child Token
PlotLink zap (double hop): ETH/USDC → Uni V4 → HUNT → MCV2 Bond → $PLOT → MCV2 Bond → Storyline Token

Functions: mint() (exact output), mintReverse() (exact input), estimateMint() (view), estimateMintReverse() (view)

Immutable state: BOND, BOND_PERIPHERY, ROUTER, PLOT, HUNT addresses

Changes from MintPad Zap: Add second MCV2 Bond mint hop, remove MT support, add $PLOT as immutable, double approval setup.

Sub-tickets

  • P5-8a: Fork ZapUniV4MCV2.solZapPlotLinkMCV2.sol. Add the second MCV2 Bond hop (HUNT → $PLOT → Storyline Token). Remove MT support. Add $PLOT as immutable address. Both mint() and mintReverse() + corresponding view estimate functions.
  • P5-8b: Write tests for the double-hop mint — test all input paths (ETH, USDC, HUNT), slippage protection, refund logic.
  • P5-8c: Deploy to Base Sepolia, verify gas estimates match §4.5 predictions (~350-450k for ETH/USDC, ~250-350k for HUNT).

Operator Task

  • P5-8-OP: Deploy Zap contract to Base Sepolia.

Proposal Reference

§4.5 (Zap Contract — One-Click Buy)

Dependencies

P2-7 (StoryFactory deployed to Sepolia), $PLOT token created (P5-OP)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions