Do not break existing flows: passkey wallet, ZK commit/reveal/resolve, challenge-by-username, and leaderboard reads must keep working.
#10 Poll for new incoming challenges
Labels: frontend, enhancement
Problem: Opponent’s challenge appears only after manual refresh.
Task: setInterval 30s call loadChallenges when wallet connected; optional subtle badge on “Incoming”.
Files: ClashZkArena.tsx (loadChallenges callback)
Done when: New challenge surfaces within poll window; no extra txs.
Contributor setup (all issues)
git clone <repo> && cd Stellar-Game-Studio
cp .env.example .env # root .env — Vite reads from here
cd clash-frontend && npm install && npm run dev # http://localhost:3000
| Need |
Command |
Local contracts + full .env |
bun run setup (repo root) |
| Rebuild clash WASM |
bun run build clash |
| Regenerate TS bindings |
bun run bindings clash |
| Contract tests |
cargo test -p clash |
Key paths: clash-frontend/src/games/clash/ (arena UI), contracts/clash/, contracts/mock-game-hub/, clash-frontend/src/services/pointsService.ts
Do not break existing flows: passkey wallet, ZK commit/reveal/resolve, challenge-by-username, and leaderboard reads must keep working.
#10 Poll for new incoming challenges
Labels:
frontend,enhancementProblem: Opponent’s challenge appears only after manual refresh.
Task:
setInterval30s callloadChallengeswhen wallet connected; optional subtle badge on “Incoming”.Files:
ClashZkArena.tsx(loadChallengescallback)Done when: New challenge surfaces within poll window; no extra txs.
Contributor setup (all issues)
.envbun run setup(repo root)bun run build clashbun run bindings clashcargo test -p clashKey paths:
clash-frontend/src/games/clash/(arena UI),contracts/clash/,contracts/mock-game-hub/,clash-frontend/src/services/pointsService.ts