Context
§4.5 — the frontend needs a zap helper that estimates costs and executes the multi-hop buy. Follow the MintPad pattern (mintpad/src/helpers/zap.ts and hunt.town-ai agent-skills).
Revised Approach (2026-03-22)
Unblocked by using PL_TEST token instead of waiting for $PLOT:
- Zap contract: Fork
ZapUniV4MCV2.sol, make target token owner-updatable (onlyOwner setter) instead of immutable. Deploy with PL_TEST address.
- Frontend integration: Build and test against PL_TEST + test Uniswap pool.
- Production cutover: When $PLOT launches, call
setPlotToken() on Zap contract — no redeploy needed. Update constants.
Sub-tickets (all T3)
Deployer Wallet Balance (Base Sepolia)
- 0.0275 ETH
- 1816.345 PL_TEST
Note
MCV2_BondPeriphery (0x20fBC8a650d75e4C2Dab8b7e85C27135f0D64e89 on Base Sepolia) provides exact-input routing for MCV2_Bond.mint(). The Zap integration should leverage BondPeriphery for computing multi-hop swap amounts.
Proposal Reference
§4.5 (Frontend Integration)
Context
§4.5 — the frontend needs a zap helper that estimates costs and executes the multi-hop buy. Follow the MintPad pattern (
mintpad/src/helpers/zap.tsandhunt.town-ai agent-skills).Revised Approach (2026-03-22)
Unblocked by using PL_TEST token instead of waiting for $PLOT:
ZapUniV4MCV2.sol, make target token owner-updatable (onlyOwnersetter) instead ofimmutable. Deploy with PL_TEST address.setPlotToken()on Zap contract — no redeploy needed. Update constants.Sub-tickets (all T3)
lib/contracts/constants.tswith Uniswap pool + Zap contract addresses..env.locallib/zap.ts—getZapQuote()andexecuteZapMint()functions. Apply slippage buffer (default 0.5%).Deployer Wallet Balance (Base Sepolia)
Note
MCV2_BondPeriphery(0x20fBC8a650d75e4C2Dab8b7e85C27135f0D64e89on Base Sepolia) provides exact-input routing forMCV2_Bond.mint(). The Zap integration should leverageBondPeripheryfor computing multi-hop swap amounts.Proposal Reference
§4.5 (Frontend Integration)