Skip to content

Add durable Arc Receipts persistence#11

Merged
horn111 merged 2 commits into
mainfrom
feat/arc-testnet-proof-mode
Jul 8, 2026
Merged

Add durable Arc Receipts persistence#11
horn111 merged 2 commits into
mainfrom
feat/arc-testnet-proof-mode

Conversation

@horn111

@horn111 horn111 commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Description

Adds the first durability layer for Arc Receipts.

This update introduces persistent receipt primitives in @arc-nano-kit/sdk/receipts, plus an optional SQLite-backed store for local/dev persistence. Invoices, receipts, webhook events, webhook deliveries, and watcher cursors can now survive process restart while keeping the existing in-memory APIs backwards-compatible.

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Documentation update
  • Refactoring (no functional changes)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change

Key Changes

  • Added ReceiptStore, InMemoryReceiptStore, PersistentReceiptLedger, and PersistentWebhookInbox.
  • Added JSON-safe serialization for bigint fields such as blockNumber.
  • Added optional @arc-nano-kit/sqlite package with SqliteReceiptStore.
  • Added persistent watcher cursor support so polling can resume after restart.
  • Added persistent webhook delivery replay with attempt counts stored across restarts.
  • Added a framework-light signed webhook route helper for Web Request / Next.js route handlers.
  • Updated the demo to support ARC_RECEIPTS_STORE=sqlite locally while keeping hosted/Vercel demo in-memory by default.
  • Added persistence docs and updated README, ROADMAP, SDK docs, architecture docs, receipts docs, demo script, and changelog.

Verification

  • npm.cmd run typecheck
  • npm.cmd run build --workspace=packages/sdk
  • npm.cmd run build --workspace=packages/sqlite
  • npm.cmd run test --workspaces --if-present -- --reporter=dot
  • node_modules\.bin\tsc.cmd --noEmit --project apps/demo/tsconfig.json --incremental false
  • npm.cmd run build --workspace=apps/demo
  • git diff --check

Notes

SQLite is optional and intended for local/dev persistence in this release. Postgres and hosted persistence remain planned follow-up work.

@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
arc-nano-kit-demo Ready Ready Preview, Comment Jul 8, 2026 5:10pm

@horn111
horn111 merged commit 5162f8f into main Jul 8, 2026
6 checks passed
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