Skip to content

Solana-only repo, receipts library v0.1, CI and docs - #3

Merged
https-shubhamsahu merged 7 commits into
mainfrom
chore/judge-ready
Oct 20, 2026
Merged

https-shubhamsahu merged 7 commits into
mainfrom
chore/judge-ready

Conversation

@https-shubhamsahu

@https-shubhamsahu https-shubhamsahu commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Makes the repo read and work as a Solana project for judges and grant reviewers. Built on top of #2 (Solana devnet receipts), so this PR includes #2's two commits.

Merge order: merge #2 first, then this one, both with a merge commit (not squash), so #2 shows as merged. Close #1 (ImgBot): it touches SVGs this PR deletes.

What changes

  • Monad removed from everything visible. Deleted contracts/, web/, tool/threshold-spike, the root supabase/ spike schema, editor rules, the Monad-only docs, the unreachable features/monad screens and the /monad route. Git history keeps all of it (last on main at f1bb47e). The hidden switch from Canary: Solana devnet receipts; Monad optional and hidden #2 stays off (CANARY_MONAD, CANARY_CONTRACT_ADDRESS).
  • README rewritten for judges: pitch, a 36 s GIF recorded on the live site today, problem, insight, product, traction (real numbers only), why Solana, architecture diagram, links to real devnet receipts, run locally in under 5 minutes, security notes, roadmap.
  • New: SUBMISSION.md (judge FAQ + 2-minute demo script), SECURITY.md (data map, hash formulas, threat model, measured leak matching), docs/ARCHITECTURE.md, docs/SELF_HOSTING.md, docs/RECEIPTS_SPEC.md, rewritten docs/STATUS.md and docs/canary/VERIFICATION.md.
  • Receipts library v0.1 (the grant's milestone-1 library, early): packages/receipts-ts (@nosus/receipts) and packages/receipts-dart (nosus_receipts), with a verify CLI in each and shared test vectors from 5 real devnet transactions. The relayer's solana.ts now imports receipts-ts; memo bytes are unchanged (solana_test.ts checks the real devnet memos). Deployed as relayer version 7 and smoke-tested on devnet (seal + open).
  • CI (.github/workflows/ci.yml): Flutter analyze + test + fingerprint harness, relayer deno check + tests + bundle, receipts-ts check/lint/fmt/test, receipts-dart analyze/format/test. The harness now exits 1 on any failure.
  • License: Apache-2.0 (LICENSE, NOTICE). .env.example now lists the relayer secrets with no values.
  • Banner wordmark gets its grey #808080 square stop; assets/social-preview.png (1280×640) for the repo's social preview.
  • Legal pages' contact email is shubhamsahu@nosus.foo. pubspec.lock takes the same transitive bumps as the local chore/canary-hardening working copy.

Checks run locally (20 Oct 2026)

Check Result
flutter analyze No issues
flutter test 145 passed, 1 skipped
dart run tool/canary_fingerprint_harness.dart FAILURES: 0
relayer deno check index.ts / deno test --allow-env clean / 12 passed
relayer deno bundle --platform=deno OK, 2.3 MB
packages/receipts-ts check, lint, fmt, test clean, 19 passed
packages/receipts-dart analyze --fatal-infos, format, test clean, 16 passed
Secret scan, all 46 commits on 17 refs no secrets; only the Supabase publishable key (public by design)
Live site end to end (scripted Chrome) sealed in 2.9 s, two opens, leak check named the right copy, receipts on Explorer

https-shubhamsahu and others added 6 commits October 10, 2026 17:22
Every note seal and reader open is now one SPL Memo transaction on Solana
devnet (hashes only), sent by the edge function's relayer, so readers still
need no wallet. Monad becomes optional (off when CANARY_CONTRACT_ADDRESS is
unset) and its UI is behind --dart-define=CANARY_MONAD (default off).

- edge function: solana.ts (kit 8.4 + memo 0.15, HTTP polling confirm),
  gating.ts + offline tests, Buffer shim for the Supabase runtime
- migration: seal_solana_sig / open_solana_sig, canary_assign_copy
- app: Solana proof chips, Solana-only copy, null seal_tx_hash support
- docs: STATUS + VERIFICATION evidence, Solana-first README, devnet spike

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ceipt

- Remove contracts/ (Solidity), web/ (Next.js threshold-decrypt spike),
  tool/threshold-spike, the root supabase/ schema for that spike, the
  .cursor rules and the docs that only described it. History keeps them.
- Remove the unreachable features/monad screens and their tests, the
  /monad route, and the live-network db_test diagnostic. ExperimentFrame
  moves to lib/components and no longer names a chain.
- Retire the README generator and its unused retro SVGs.
- Contact email on the legal pages is shubhamsahu@nosus.foo.
- pubspec.lock picks up the same transitive bumps as the local
  chore/canary-hardening working copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- packages/receipts-ts (@nosus/receipts): encode/parse the v1 memo,
  compute the hashed ids, parse relayer keys, send a memo with
  @solana/kit 8.4, fetch and decode a receipt, plus a verify CLI.
- packages/receipts-dart (nosus_receipts): the same format, ids,
  Explorer links and an RPC client, plus bin/verify.dart.
- packages/test-vectors: shared vectors and five real devnet
  transactions; both languages test against them offline.
- The relayer's solana.ts now imports receipts-ts; memo bytes are
  unchanged (solana_test.ts checks the real devnet memos). Not deployed.
- docs/RECEIPTS_SPEC.md: the v1 format and how to verify by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Flutter analyze + test + fingerprint harness (now exits 1 on failure),
relayer type-check, tests and bundle, receipts-ts check/lint/fmt/test,
receipts-dart analyze/format/test. Replaces the old contract/web job.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- README: pitch, real demo GIF from the live site, problem, insight,
  product, traction, why Solana, architecture, real devnet receipts,
  5-minute local run, security notes, roadmap.
- SUBMISSION.md: judge FAQ and a 2-minute demo script.
- SECURITY.md: data map, hash formulas, threat model, measured leak
  matching, secret-scan result.
- docs: new ARCHITECTURE, SELF_HOSTING, STATUS and VERIFICATION.
- Banner wordmark gets its grey square stop; social preview image.
- .env.example lists the relayer secrets; LICENSE (Apache-2.0), NOTICE.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

This comment has been minimized.

- The canary function was redeployed (version 7) from this branch and
  smoke-tested on devnet: create, open and status all 200, both memos
  decode with cli.ts --note.
- README and SUBMISSION link the pitch (2:24) and narrated demo (1:18)
  on the v0.1.0 release.
- Receipt count is now 31 (19 seals, 12 opens, 0 failed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@https-shubhamsahu
https-shubhamsahu merged commit 97136c1 into main Oct 20, 2026
4 checks passed
https-shubhamsahu added a commit that referenced this pull request Oct 20, 2026
Judge-ready repo: Solana-only, receipts library v0.1, CI, docs
@https-shubhamsahu
https-shubhamsahu deleted the chore/judge-ready branch October 20, 2026 13:36
@https-shubhamsahu https-shubhamsahu changed the title Judge-ready repo: Solana-only, receipts library v0.1, CI, docs Solana-only repo, receipts library v0.1, CI and docs Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant