Frontend: Unified Arena page — multi-timer hero, buy hub, four podiums #256
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega#256
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Unified TimeArena frontend replacing Simple/Arena split. Parent epic: #238.
Relevant files
TimeCurveSimplePage.tsx+TimeCurveArenaView.tsx→TimeArenaPage.tsxfrontend/src/pages/timecurve/TimeCurveTimerHero.tsx— multi-timer variantfrontend/src/pages/timecurve/TimeCurveSimplePodiumSection.tsx/arenaprimary; redirect/timecurveAcceptance criteria
Verification checklist
e2e/anvil-*.spec.ts)marked as related to #238
mentioned in issue #238
mentioned in issue #262
mentioned in issue #243
Implementation summary
TimeArenaPage,/arenaroute,/timecurveredirect,ArenaTimerChips,timeArenaReadAbi.Acceptance criteria
/arenapageVerification checklist
e2e/anvil-arena.spec.tsmentioned in issue #263
marked as related to #264
mentioned in issue #264
marked as related to #266
mentioned in issue #266
mentioned in issue #269
mentioned in commit
895a53c38fmentioned in commit
6c100d8c14mentioned in commit
5e6d551149mentioned in commit
1a3e8a3804mentioned in issue #273
mentioned in commit
838e505d29Verification update (agent)
Merged to
mainat838e505.Root cause fixed (slow / flaky Anvil E2E)
addresses.tsused dynamicimport.meta.env[key], so Vite did not inlineVITE_TIME_ARENA_ADDRESSin production builds.VITE_TIME_ARENA_ADDRESS=(empty);scripts/e2e-anvil.shnow writes.env.production.local, unsets staleVITE_*before build, and fails fast if the bundle has an empty TimeArena address.Delivered for #256
/arena: timer chips, CRED card, WarBow hero (DOUB costs), DOUB-primary pay label, podium epoch on cards.INV-FRONTEND-256-UNIFIED-ARENA,docs/frontend/arena-views.md.anvil-arena-01..04-*; expect timeouts 45s (was 120s).Automated checks
scripts/e2e-anvil.sh— not green in agent loop; please re-run locallyQA checklist
bash scripts/e2e-anvil.shall specs greenIssue stays open until full Anvil E2E and manual QA pass.
mentioned in issue #274
mentioned in issue #277
Verification update (Cloud Agent) — GitLab #256
Verified Frontend: Unified Arena page — multi-timer hero, buy hub, four podiums on
mainat7d7d3da.Acceptance criteria (issue body)
ArenaTimerChips.test.tsx; Playwrightanvil-arena-01-mount+anvil-arena-02-onchain-reads(no contract read errors);docs/frontend/arena-views.md§ unifiedarenaPayTokenOptions.ts(DOUBlabel on v2cl8y); Playwrightanvil-arena-03(DOUB + ETH router),anvil-arena-04(CRED); manual: allarena-paywith-*testids +aria-label“Show price in DOUB”anvil-arena-01-mount(arena-simple-podiums); page shows epoch copyanvil-arena-01-mount(warbow-hero-actions); UI shows1k DOUBsteal pill; RPCWARBOW_STEAL_DOUB=1000e18ArenaSubnav.test.tsx(BUY/AUDIT);/timecurve→/arenainanvil-arena-01-mount;LaunchGate.tsxroutesVerification checklist (issue + comment)
anvil-arena-02loads timer chips without RPC errors; RPCpodiumDeadline(1..3)readable viacaston DeployDev Anvile2e/anvil-arena-*.spec.tsbash scripts/e2e-anvil.shwithYIELDOMEGA_SEED_EVM_DEV_WALLETS=0→ 6 passed,Done.(~60s). Same specs run standalone: 6 passed (6.9s)npm test -- --run→ 534/534;INV-FRONTEND-256-UNIFIED-ARENAmapped indocs/testing/invariants-and-business-logic.mdVITE_TIME_ARENA_ADDRESSgrepdeploy address indist/assets/; notimeArena:pu("")ArenaSubnav.test.tsx+ manual page inspectionanvil-arena-03ETH path: no “Could not quote this route”Infrastructure notes
VITE_INDEXER_URL=; chips use RPCpodiumDeadline).bash scripts/e2e-anvil.sh(default seed): on re-deploy to an existing Anvil,scripts/seed-evm-dev-wallets-anvil.shcan fail withAccessControlUnauthorizedAccountand abort the script before build. Workaround used for green run:YIELDOMEGA_SEED_EVM_DEV_WALLETS=0(Playwright uses mock wallet). Suggest follow-up to make seed idempotent or non-fatal for E2E redeploys.Docs / cross-links
INV-FRONTEND-256-UNIFIED-ARENA,docs/frontend/arena-views.md#unified-arena-page-gitlab-256, guardrails item 9, play skills — present; no doc edits required.Issue status: left open per project policy until a human signs off manual QA on a full local stack (optional indexer-backed timer chips).
Follow-ups (optional)
e2e-anvil.shwallet seed on repeated Anvil deploys (see AccessControl note above)./arenainskills/README.mdindex (play skills already reference it).mentioned in issue #281
Closed after verification. Follow-up for Anvil re-deploy seed failure tracked in #281.
mentioned in issue #299