Date: 2026-03-29
- Install dependencies with
npm ci/npm install - Frontend lint passes:
npm run lint - Frontend tests pass:
npm test -- --runInBand - Production build passes:
npm run build - Contract tests pass:
cd contract && cargo test
- Settlement contract deployed to testnet
- Pool contract deployed to testnet
- Inter-contract call proof transaction recorded on testnet
-
NEXT_PUBLIC_CONTRACT_IDupdated in.env.local - Explorer links documented in README
- CI workflow defined in
.github/workflows/ci.yml - Production check workflow defined in
.github/workflows/production-check.yml - CI badge added to README
- README includes live demo link
- README includes contract IDs and transaction proofs
- README includes pool address proof
- README includes deployment screenshot (
public/deployment.png) - README includes submission checklist evidence section
- Final docs package added under
docs/
-
supabase-setup.sqlre-applied soauth_noncesandauth_rate_limitsexist (section 5.6) -
SUPABASE_SERVICE_ROLE_KEYset as a server-only env var (neverNEXT_PUBLIC_) in every deployment environment - Verified a signed challenge cannot be replayed: post the same
/api/auth/verifybody twice and confirm the second attempt is rejected - Confirmed
CHALLENGE_TTL_SECONDSis 60 — it is the replay window whenever the shared store is unavailable
- Public GitHub repository ready
- Commit history exceeds minimum requirement (44 commits)
- Add one explicit mobile viewport screenshot (phone-sized capture) and reference it in README before final submission
Notes:
- All automated checks are currently green locally.
- One manual evidence item remains: a dedicated phone viewport screenshot.