Frontend: CHARM card — epoch CHARM, pending CRED, claim on Last Buy reset #257
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#257
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
CHARM + pending CRED card and claim UX. Parent epic: #238.
Relevant files
TimeCurveStakeAtLaunchSection.tsxArenaCharmCredCard.tsxfrontend/src/pages/timecurve/useTimeCurveSaleSession.tsAcceptance criteria
claimCred(epoch)Verification checklist
marked as related to #238
mentioned in issue #238
Implementation summary
ArenaCharmCredCard.tsx— epoch CHARM, pending CRED, claim CTA.Acceptance criteria
claimCred(epoch)Verification checklist
mentioned in commit
560e633cf4Verification (#257) — agent QA
What changed
Fixed a claim-epoch bug in
ArenaCharmCredCard: the card was callingclaimCred(lastBuyEpoch)on the active epoch, which always reverts (epoch < lastBuyEpochrequired). It now:lastBuyEpoch, epoch CHARM, and pending CRED (this epoch) while the epoch is livelastBuyEpoch - 1after a hard resetclaimCred(endedEpoch)EmptyDataPlaceholderempty/loading copy (#200) instead of bare zerosNew helper:
frontend/src/lib/arenaCharmCredClaim.ts· invariantINV-FRONTEND-257-CHARM-CRED-CARD· docs in arena-views §257 /docs/frontend/arena-views.md#charm-cred-card-gitlab-257.Commit:
560e633onmain.Automated verification (passed)
arenaCharmCredClaim.test.ts— claim epoch =lastBuyEpoch - 1bash scripts/e2e-anvil.sh— mount + onchain reads forarena-charm-cred-cardclaimCredinvariants unchanged (INV-TIME-ARENA-CRED-CLAIM)Manual verification checklist (please confirm)
0)/arenaChainMismatchWriteBarrierStatus
Issue left open — end-to-end Anvil DOUB buy → epoch roll → claim was not fully automated in Playwright (DOUB buy CTA remained disabled in isolated claim E2E attempts). Please run the manual checklist above on a fresh
bash scripts/e2e-anvil.shstack or devnet before closing.Verification (#257) — Cloud agent
Verified GitLab #257 (CHARM + Play CRED card) against issue body, comments,
INV-FRONTEND-257-CHARM-CRED-CARD, arena-views §257, and guardrails. No repo changes were required; issue remains open per instructions.Acceptance criteria
ArenaCharmCredCard.tsxreadslastBuyEpoch,epochCharmWad,pendingCred; Anvil cast after DOUBbuy(1e18)showed charm1e18, pending35e18on active epochclaimCred(endedEpoch)arenaCharmCredClaim.ts→claimableCredEpoch = lastBuyEpoch - 1; onchainclaimCred(0)after hard reset (lastBuyEpoch0→1) minted CREDepochCharmWad(0, wallet)=0,pendingCred(wallet,0)=0, CRED balance increased/arenacurlpreview/arena+ ripgrep onfrontend/src/pages/arena— no matchVerification checklist
caston live stack: fund dev wallets,buy, warp into hard-reset band, second walletbuy,claimCred(lastBuyEpoch-1)statFromContractReadwith connect/loading/missing labels (not bare0)bash scripts/e2e-anvil.sh(includesanvil-arena-02-onchain-reads.spec.ts—arena-charm-cred-cardvisible, no contract read errors)Manual checklist (from 2026-06-01 agent comment)
lastBuyEpoch0→1, claim epoch0,35e18CRED minted)pendingCred/epochCharmWadzero for ended epoch0requireWallet: true+connectlabels on CHARM/pending/claimable stats/arenaChainMismatchWriteBarrierChainMismatchWriteBarrierAutomated commands (all PASS)
cd frontend && npm test -- src/lib/arenaCharmCredClaim.test.tscd contracts && forge test --match-test "claimCred|timer_hard_reset"bash scripts/e2e-anvil.sh(exit 0; Playwrightanvil-arena-*including charm-cred mount/read smoke)Docs / invariants cross-links
PASS —
INV-FRONTEND-257-CHARM-CRED-CARDindocs/testing/invariants-and-business-logic.md,docs/frontend/arena-views.md,.cursor/skills/yieldomega-guardrails/SKILL.md,skills/play-time-arena-doub/SKILL.md.Follow-ups (optional)
docs/testing/manual-qa-checklists.md#manual-qa-issue-257mirroring the manual table above (parity with #268/#260).Closing per maintainer request. Cloud agent verification (2026-06-02): all acceptance criteria and manual checklist items PASS — see https://gitlab.com/PlasticDigits/yieldomega/-/work_items/257#note_3411163165