Repository navigation
Solana-only repo, receipts library v0.1, CI and docs - #3
Merged
Merged
Conversation
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>
This comment has been minimized.
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
added a commit
that referenced
this pull request
Oct 20, 2026
Judge-ready repo: Solana-only, receipts library v0.1, CI, docs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
contracts/,web/,tool/threshold-spike, the rootsupabase/spike schema, editor rules, the Monad-only docs, the unreachablefeatures/monadscreens and the/monadroute. Git history keeps all of it (last onmainatf1bb47e). The hidden switch from Canary: Solana devnet receipts; Monad optional and hidden #2 stays off (CANARY_MONAD,CANARY_CONTRACT_ADDRESS).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, rewrittendocs/STATUS.mdanddocs/canary/VERIFICATION.md.packages/receipts-ts(@nosus/receipts) andpackages/receipts-dart(nosus_receipts), with a verify CLI in each and shared test vectors from 5 real devnet transactions. The relayer'ssolana.tsnow importsreceipts-ts; memo bytes are unchanged (solana_test.tschecks the real devnet memos). Deployed as relayer version 7 and smoke-tested on devnet (seal + open)..github/workflows/ci.yml): Flutter analyze + test + fingerprint harness, relayerdeno check+ tests + bundle,receipts-tscheck/lint/fmt/test,receipts-dartanalyze/format/test. The harness now exits 1 on any failure.LICENSE,NOTICE)..env.examplenow lists the relayer secrets with no values.#808080square stop;assets/social-preview.png(1280×640) for the repo's social preview.shubhamsahu@nosus.foo.pubspec.locktakes the same transitive bumps as the localchore/canary-hardeningworking copy.Checks run locally (20 Oct 2026)
flutter analyzeflutter testdart run tool/canary_fingerprint_harness.dartFAILURES: 0deno check index.ts/deno test --allow-envdeno bundle --platform=denopackages/receipts-tscheck, lint, fmt, testpackages/receipts-dartanalyze--fatal-infos, format, test