Contracts: TimeArenaBuyRouter — DOUB, CL8Y, ETH, USDm entry paths
Context
DOUB-primary buy router with Kumbaya multi-asset entry. Parent epic: #238 (closed).
Relevant files
- Refactor
contracts/src/TimeCurveBuyRouter.sol→TimeArenaBuyRouter.sol contracts/src/fixtures/AnvilKumbayaFixture.soldocs/integrations/kumbaya.mdfrontend/src/lib/timeCurveKumbayaSingleTx.ts
Acceptance criteria
- DOUB direct:
buy(charmWad)pulls DOUB - CL8Y: swap via CL8Y/DOUB Kumbaya pair → DOUB → buy
- ETH / USDm: multi-hop to CL8Y → DOUB
- Single-tx router:
buyViaKumbayatargets DOUB output equal to gross DOUB need - Balance-delta ingress preserved (#123 (closed))
- Chain-time swap deadlines (#83 (closed))
Verification checklist
- Forge fork/local: each pay asset path
-
bash scripts/verify-timecurve-buy-router-anvil.shreplaced with arena equivalent