fix(frontend): Last Buy YOU score shows No Buys when empty #369 #540
No reviewers
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!540
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/369-last-buy-you-no-buys"
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?
Summary
current_scoresscore"0"treated as unix epoch 0)."0"last-buy scores as empty and render No Buys.Closes #369
Test plan
cd frontend && npm test -- --run src/pages/arena/arenaSimplePodiumScore.test.tsNo BuysBugbot is not enabled for your account, so this pull request was not reviewed.
Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.
Security review
Commit reviewed:
1f600d150eb60f8f3e8334fb5cbd1a5c7df52f0fScope:
frontend/src/pages/arena/arenaSimplePodiumScore.ts(+ unit tests) — treat missing /"0"indexerlast_buycurrent_scoresas empty and render No Buys instead of an epoch-0 countdown.Outcome:
FINDINGS: 0medium+Summary
Reviewed the MR diff and traced attacker-controlled inputs (indexer
walletCurrentScores, podium row values) throughresolveViewerPodiumValueRaw→formatViewerPodiumScoreLine→ React render inArenaPodiumTimerChip.<strong>{viewerScoreLine}</strong>). The new branch returns the constant"No Buys". Non-empty Last Buy scores continue through numeric unix-sec parsing (parseUnixSecString/formatCountdown); raw indexer strings are not emitted to the DOM on this path.isArenaLastBuyWalletSurfaceUnlocked), wallet actions, or on-chain interactions — display formatting only.Prior MR notes: only automated Bugbot placeholder (not enabled); no prior security-review threads to re-validate.
Inline threads: none (no medium+ findings).
mentioned in commit
4b420e4ad5