Skip to content

Add Preview, Preprod, and Stagenet support - #13

Merged
acedward merged 10 commits into
mainfrom
codex/00003-shielded-night-multinetwork
Sep 7, 2026
Merged

Add Preview, Preprod, and Stagenet support#13
acedward merged 10 commits into
mainfrom
codex/00003-shielded-night-multinetwork

Conversation

@acedward

@acedward acedward commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

The site previously bundled one Midnight protocol stack and exposed only Preview. This adds protocol-isolated adapters and public selection for Preview, Preprod, and Stagenet. Preview and Preprod retain their existing v1 addresses and artifact URL; Stagenet uses the compiler 0.34.0/runtime 0.19.0 contract stack and the verified custody-safe deployment at 052051d38424bcb5e1b6616598aed7863fbe5e6a2db55215ef9ad45fc2bc1403.

The wallet boundary now invalidates stale sessions on network switches, verifies the wallet network around balancing/submission, submits the connector's exact balanced bytes, and serializes contract calls. Forward conversion durably stages and then records the exact minted coin; reverse conversion can spend only a tracked real coin and quarantines uncertain outcomes with transaction/network identity. The UI reports retained recovery state and explains when aggregate wallet holdings cannot be reversed because their exact coin identity was not created and tracked by this dApp.

CI now validates both Compact generations and both frontend protocol packages. A successful same-repository main CI run triggers the Cloudflare Pages production workflow for that exact SHA; manual production uses the same CI/freshness and concurrency gates.

Stagenet deployment

  • Contract: 052051d38424bcb5e1b6616598aed7863fbe5e6a2db55215ef9ad45fc2bc1403
  • Transaction: 00ef87fbc290dd8720ca4c2748f3144ca590ce2f9aa7b5409e1d20f8d5121162a2
  • Block: 360307 (68c76acc5b88a14e67ce2cab276babd4ea0d68013fb64dd6322590b6b88ac3ad)
  • Deployed source: f23f39a74a5dc2f90a73e7b718ccdef03f825fac
  • Public release configuration: 6337184d17acf0a00d7412df6bbb612f737011b9
  • Managed artifact SHA-256: f4a43579e1fef13b07019e702b912645c62c12b23000ae42ccd119da2f6c18c0
  • Metadata: Shielded Night / sNight / 6 decimals
  • Maintenance authority: unlocked (committee 1, threshold 1); the matching signing key was persisted before wallet startup and remains in mode-0600 durable custody outside version control

The one-shot deploy submitted successfully, but its post-submit indexer watch ended with a premature-close transport error before the script returned the identity. No retry ran. A public scan of the exact process interval recovered the single successful deploy, and independent checks confirmed SucceedEntirely, all 11 verifier keys, metadata, and the retained key's public identity against the on-chain authority. The public deployment record explicitly preserves this recovery provenance.

The earlier address e42e55384b2aa147e098d0da487db219e8cdf4c3d74261ff16b800b1d95bbec6 is preserved as superseded history because its randomly generated maintenance key was lost with an ephemeral provider volume. A read-only check found no conversion, reserve, or maintenance activity on that address before it was superseded.

Validation

  • Docker Bun 1.4.0 frontend typecheck and production build: pass, 2,822 modules and four distinct ledger/runtime WASM assets.
  • Clean Docker Bun 1.4.0 root-only frozen install, root typecheck, and complete root unit suite: pass, 8 files / 116 tests.
  • Focused frontend runtime/wallet tests: 2 files / 30 tests pass, including network races, exact balanced bytes, concurrent calls, tracked-coin lifecycle, cancellation, and uncertain submission recovery.
  • Artifact packaging: v1 versioned and legacy trees are byte-identical to the retained v1 managed artifacts; v2 tree is byte-identical to compiler 0.34.0 managed artifacts.
  • Compact Linux reproducibility: all 11 v1 circuits at 0.31.1 and all 11 v2 circuits at 0.34.0 rebuilt byte-for-byte.
  • V1 contract gates: 7 files / 95 simulator tests and 6 files / 17 isolated-chain integration tests pass.
  • V2 contract gates: 12 focused simulator/deployment-safety cases, 3 focused isolated-chain conversion/backing tests, and the exact release verifier test pass.
  • Custody gate: two fresh Docker containers restored the same key identity from one host bind at mode 0600; the final independent verifier mounted that directory read-only and matched the key to the recovered on-chain authority.
  • Desktop and mobile browser acceptance: all three networks, preserved v1 addresses, recovered Stagenet address, switch-state reset, reverse-conversion limit, and clean console pass.
  • Independent frontend/release audit at exact final SHA 6337184d17acf0a00d7412df6bbb612f737011b9: pass.
  • Workflow lint and git diff --check: pass.

Public browser wallet conversion remains wallet-owned. No public conversion transaction was submitted during deployment validation. Breaking change: none; Preview and Preprod addresses and their v1 compatibility artifacts remain unchanged.

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