Skip to content

Canary: Solana devnet receipts; Monad optional and hidden - #2

Merged
https-shubhamsahu merged 2 commits into
mainfrom
feat/solana-receipts
Oct 20, 2026
Merged

https-shubhamsahu merged 2 commits into
mainfrom
feat/solana-receipts

Conversation

@https-shubhamsahu

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

Copy link
Copy Markdown
Owner

Summary

  • Every Canary seal and reader open is now one SPL Memo transaction on Solana devnet (hashes only, never text or names), sent by the edge function relayer — readers still need no wallet.
  • Monad is optional: off when CANARY_CONTRACT_ADDRESS is unset (now the case on ffidvfguojalzpclipzi); its UI is behind --dart-define=CANARY_MONAD (default off). Monad code is kept.
  • Gating rules live in pure gating.ts with offline tests; with Monad off a failed Solana seal fails create (retryable).
  • Runtime fix: Supabase's edge runtime loads @solana/kit's Node build, which needs a global Buffer — solana.ts sets it from node:buffer.

Deployed (10 Oct 2026, experiment project only)

Test plan

  • flutter analyze — 0 issues; flutter test — 153 passed, 1 skipped (also with CANARY_MONAD=true for canary tests)
  • deno check index.ts clean; gating_test.ts 7/7
  • Live end-to-end on the site: create → 2 readers open → dashboard proof chips → leak check names copy 1 → memo on Solana Explorer

Not committed: app/pubspec.lock drift from a newer local Flutter.

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>
@coderabbitai

This comment has been minimized.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@https-shubhamsahu
https-shubhamsahu merged commit 0868444 into main Oct 20, 2026
2 checks passed
https-shubhamsahu added a commit that referenced this pull request Oct 20, 2026
Canary: Solana devnet receipts; Monad optional and hidden
@https-shubhamsahu
https-shubhamsahu deleted the feat/solana-receipts branch October 20, 2026 13:36
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