Contracts: TimeArenaBuyRouter — DOUB, CL8Y, ETH, USDm entry paths
## Context DOUB-primary buy router with Kumbaya multi-asset entry. Parent epic: #238. ## Relevant files - Refactor `contracts/src/TimeCurveBuyRouter.sol` → `TimeArenaBuyRouter.sol` - `contracts/src/fixtures/AnvilKumbayaFixture.sol` - `docs/integrations/kumbaya.md` - `frontend/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: `buyViaKumbaya` targets DOUB output equal to gross DOUB need - [ ] Balance-delta ingress preserved (#123) - [ ] Chain-time swap deadlines (#83) ## Verification checklist - [ ] Forge fork/local: each pay asset path - [ ] `bash scripts/verify-timecurve-buy-router-anvil.sh` replaced with arena equivalent
issue