Fix forbidden sale copy and wire WarBow wallet profile modal #469
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!469
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/318-forbidden-sale-copy-warbow-profile"
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
/play console witharenaSimplePhase/ always-live arena language.onOpenWalletProfilethroughArenaWarbowHeroPanelrivalPlayerIdentityrows (profile modal instead of explorer).revertMessage/useArenaSaleSessionuser strings to drop sale framing on the play surface.arenaPlaySurfaceCopy.test.ts+ extendarenaCommandConsoleStatic.test.tsto guard forbidden copy and WarBow profile wiring.Verification checklist
/play consolecd frontend && npm test -- arenaPlaySurfaceCopy.test.tsarenaPlaySurfaceCopy.test.ts+arenaCommandConsoleStatic.test.tswiring assertions; Manual: Playwright on live stack (warbowLiveRows:1,profileBtns:1,explorerLinks:0with filter All)cd frontend && npm run typecheck && npm run lint && npm testcd frontend && npx playwright test e2e/arena.spec.ts --workers=5arenaPlaySurfaceCopy.test.tsfriendlyRevertMessageassertionschanged the description
changed the description
Security review — MR !469
Commit reviewed:
7e733a7f355ba96d1556c92dca1128184e462ea9Scope: Frontend copy changes (
revertMessage.ts,useArenaSaleSession.ts,ArenaSimplePage.tsx) and WarBowonOpenWalletProfilewiring (ArenaWarbowHeroPanel.tsx); new static tests (arenaPlaySurfaceCopy.test.ts,arenaCommandConsoleStatic.test.ts). No contract, indexer, or auth changes in this diff.Outcome:
FINDINGS: 0medium+Summary: No exploitable security issues identified in the added/modified code.
Areas reviewed:
onOpenProfile={onOpenWalletProfile}on WarBowPlayerIdentityrows reuses the existing#258pattern already used on podium/live-buy surfaces. Callback flows toTimeArenaPage→WalletProfileModal; addresses are validated byAddressInline(isAddress, non-zero) before click handlers run.useWalletStatsgates indexer fetches (0x+ 42 chars). WarBow target addresses originate frombuildWarbowTargets, which rejects non-addresses viaisAddress().phaseNarrative,friendlyRevertMessage, andsetBuyErrorchanges are static user-facing strings from typed phase keys or fixed revert maps — no attacker-controlled HTML or URL construction./v1/arena/wallet/{address}/statswith existing address-shape checks.Inline threads: None (no medium+ findings).
Security review: no medium+ findings on this diff.
added 31 commits
main045f2827- Merge branch 'main' into fix/318-forbidden-sale-copy-warbow-profileCompare with previous version
Resolved merge conflicts with
mainin three files:revertMessage.ts— kept arena/round user strings (no sale framing on TimeArena paths); merged main’s legacy TimeCurve/Kumbaya copy where it already dropped sale wording.ArenaSimplePage.tsx— keptphaseNarrative(session.phase)for pre-launch status instead of main’s hardcoded string.ArenaWarbowHeroPanel.tsx— keptonOpenWalletProfilewiring + JSDoc from both sides.Aligned
arenaSimplePlaySurface.test.tswith the MR’sphaseNarrative+ revert expectations. Sanity:npm run typecheck,npm run lint, and play-surface static tests PASS.changed the description
Security review — MR !469
Commit reviewed:
045f28278877166bac9d1e866531b8e3d2e65c6fScope: Post–conflict-resolution diff (4 files):
revertMessage.ts(TimeArena friendly-revert strings),ArenaSimplePage.tsx(pre-launch status usesphaseNarrative(session.phase)), newarenaPlaySurfaceCopy.test.ts, andarenaSimplePlaySurface.test.tsexpectation updates. WarBowonOpenWalletProfilewiring is asserted by tests but not modified in this diff (already present on the branch).Outcome:
FINDINGS: 0medium+Summary: No exploitable security issues identified in the added/modified code.
Areas reviewed:
phaseNarrativereturns static strings from the typedSaleSessionPhaseswitch (arenaSimplePhase.ts);friendlyRevertMessagechanges are fixed map entries only. No attacker-controlled input reaches HTML or URL sinks through these paths.buyErrorcontinues to render as React text children (nodangerouslySetInnerHTML).#258pattern —PlayerIdentity→AddressInline(isAddressgate) →onOpenWalletProfile→WalletProfileModal/useWalletStats(0x+ 42-char address shape before indexer fetch). No new permission boundary or SSRF surface introduced by this MR.Inline threads: None (no medium+ findings).
Security review: no medium+ findings on this diff.
mentioned in commit
11be292e4d