Indexer + Simple podium: expose active-pool prize preview on GET /v1/arena/podiums (#302) #445
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!445
Loading…
Reference in a new issue
No description provided.
Delete branch "cursor/gitlab-issue-workflow-74e5"
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
Related issues
Layers touched
Check every layer this MR modifies (delete unchecked lines):
contracts/)indexer/)frontend/)scripts/,.cursor/, CI)bots/)Verification
For each touched layer, add one row: item → command → PASS / FAIL / SKIP.
Use the smallest check that proves the change — do not require Docker, Postgres, or Vite unless this MR touches those layers. Command reference:
AGENTS.md§ Cloud agent verification ·docs/testing/ci.md.Common commands (copy rows as needed):
cd contracts && forge testslither(high-severity gate)cd indexer && cargo clippy --all-targets -- -D warnings && cargo testbash scripts/verify-wallet-profile-anvil.shcd frontend && npm run typecheck && npm run lint && npm testKEY_EVM_*/ seedbash scripts/verify-evm-dev-wallet-seed-anvil.sh(must PASS, not SKIP)bash scripts/verify-cloud-postgres.shbash scripts/verify-docker-cloud-agent.shbash scripts/e2e-anvil.shbash scripts/check-doc-anchors.sh(+ retired-term / arena-naming scripts if docs touched)Licensing & compliance
NOTICE/ maintainer approval.docs/licensing.md).Notes for reviewers
Author checklist
.cursor/skills/yieldomega-guardrails/SKILL.md).scripts/lib/evm_dev_keys.sh).mentioned in issue #302
Security review
Commit reviewed:
e24fb48af9c73ab6f023a1e3c93ef8f1e44bf034Scope: Indexer prize-preview fields on
GET /v1/arena/podiums(active_pool_balance_doub_wad,prize_places_doub_wad),PodiumVaults.activePoolBalancechain-timer polling, frontend Simple podium payout display, verify script + docs.Outcome:
FINDINGS: 0medium+Summary
Reviewed added/modified code paths for injection, authn/authz bypass, secret leakage, SSRF, XSS, and unsafe deserialization. No prior security-review threads on this MR (only system note).
arena_podiumsadds read-only JSON fields derived from the existing head poller cache. No new query parameters or SQL. Attacker has no input surface on this path.eth_calls to operator-configuredPodiumVaultswith hardcoded category indices 0–3. RPC URL and contract addresses come from server config, not request input.U256arithmetic mirroring on-chainArenaPodiumSettlement.payoutShares; no external input.rawToBigIntForFormat→formatCompactFromRawand render as React text nodes (auto-escaped). Non-numeric API values degrade to0n, not HTML injection.PodiumVaults.activePoolBalance; this MR surfaces them for UI preview only.Inline threads: none (no medium+ findings).
Automated security review (Cursor Cloud Agent).
mentioned in commit
68af94b6acmentioned in commit
818be0ba84