Skip to content

Vault history, internal diagnostics console, and verified contract registry - #356

Merged
techisigu merged 7 commits into
Zenith-options:mainfrom
sundayjob996:drips/261-262-264
Oct 24, 2026
Merged

techisigu merged 7 commits into
Zenith-options:mainfrom
sundayjob996:drips/261-262-264

Conversation

@sundayjob996

Copy link
Copy Markdown
Contributor

Summary

Vault history, internal diagnostics console, and verified contract registry

What was solved

#261 — Build Vault Transaction Receipts and a Transaction Detail History Surface

Add a vault-aware transaction history surface with durable per-vault/per-account receipts for vault actions (deposits, redemption requests, redemptions, epoch payouts, fee charges), showing type, amount, share delta, NAV at execution, fee, status, and a linkable Stellar tx hash, with designed empty/loading/degraded states and clear next steps for failed/stuck actions.

Addressed:

  • Changed: src/lib/api/vaults.ts, src/lib/store/wallet.ts, src/lib/api/vaults.ts
  • Provide a vault-aware transaction list supporting global, per-vault, and per-account filters
  • Show type, amount, share delta, NAV at execution, fee, status (pending/submitted/confirmed/failed/reconciled), and a linkable Stellar transaction hash per row
  • Every submitted vault action creates a receipt record that survives page reload and is reconcilable against chain state, including actions that never confirm

#262 — Build a Depositor Support Console With Read-Only Diagnostics

Add an internal, strictly read-only depositor support console (App Router route under src/app/) that looks up vaults by vault ID, Stellar account, tx hash, or receipt/idempotency key and returns one consolidated diagnostic view showing reconciled on-chain vs backend state with explicit drift. Access is gated to internal deployment, authenticated via existing admin auth, uses a read-scoped diagnostics client (read-only enforced at API surface, not UI), and every lookup is written to the immutable audit log. Out of scope: operator console changes and depositor session impersonation.

Addressed:

  • Changed: src/lib/api/vaults.ts
  • Lookup by vault ID, Stellar account address, transaction hash, or receipt/idempotency key returning a single consolidated diagnostic view
  • Surface last reconciled on-chain state vs backend state side by side, including reconciliation drift, with discrepancies made explicit
  • Console strictly read-only: no called endpoint may mutate vault, backend, or chain state; enforced by API surface (read-scoped token), not UI hiding

#264 — Implement Verified-Build Attestation and an On-Chain Address Registry for Vault Contracts

Add reproducible verified-build attestation and a canonical on-chain address registry for vault contracts: pin the toolchain and build scripts so a tagged revision yields a byte-identical WASM hash, have the release pipeline emit a signed attestation (hash, revision, git ref, toolchain, builder identity) published with the artifact, maintain a versioned machine-readable registry mapping network → contract ID → verified WASM hash → audit revision as the single source consumed by src/env.ts, the SDK, and docs, and add a CI drift check that fails when a configured contract ID's on-chain code hash diverges from the registry (with unverified/pending-audit revisions visibly marked).

Addressed:

  • Changed: src/env.ts, .github/workflows/ci.yml
  • Reproducible contract build: building from a tagged revision yields a byte-identical WASM hash with the toolchain pinned (handle non-deterministic inputs like timestamps, paths, dependency resolution).
  • Release pipeline produces a signed attestation containing hash, revision, git ref, toolchain, and builder identity, published alongside the artifact (key management for the signing identity).
  • A versioned machine-readable registry maps network → contract ID → verified WASM hash → audit revision and is the single source consumed by the frontend (src/env.ts contract IDs), the SDK, and documentation.

Changes

  • src/lib/api/vaults.ts (modify)
  • .github/workflows/ci.yml (modify)
  • src/lib/store/wallet.ts (modify)
  • src/env.ts (modify)

Approach

  1. Build Vault Transaction Receipts and a Transaction Detail History Surface #261 — Build Vault Transaction Receipts and a Transaction Detail History Surface (Changed: src/lib/api/vaults.ts, src/lib/store/wallet.ts, src/lib/api/vaults.ts)
  2. Build a Depositor Support Console With Read-Only Diagnostics #262 — Build a Depositor Support Console With Read-Only Diagnostics (Changed: src/lib/api/vaults.ts)
  3. Implement Verified-Build Attestation and an On-Chain Address Registry for Vault Contracts #264 — Implement Verified-Build Attestation and an On-Chain Address Registry for Vault Contracts (Changed: src/env.ts, .github/workflows/ci.yml)

Issues

Closes #261
Closes #262
Closes #264

@drips-wave

drips-wave Bot commented Oct 21, 2026

Copy link
Copy Markdown

@sundayjob996 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

techisigu and others added 4 commits October 24, 2026 13:00
- .github/workflows/ci.yml: merged [markers] — model resolved the conflict markers
- src/env.ts: merged [markers] — model resolved the conflict markers
- src/lib/api/vaults.ts: merged [markers] — model resolved the conflict markers

Co-authored-by: Simple Agent <agent@simple.dev>
- .github/workflows/ci.yml: merged [markers] — model resolved the conflict markers
- src/env.ts: merged [markers] — model resolved the conflict markers
- src/lib/api/vaults.ts: merged [markers] — model resolved the conflict markers

Co-authored-by: Simple Agent <agent@simple.dev>
- src/lib/api/vaults.ts: merged [markers] — model resolved the conflict markers

Co-authored-by: Simple Agent <agent@simple.dev>
- src/lib/api/vaults.ts: merged [markers] — model resolved the conflict markers

Co-authored-by: Simple Agent <agent@simple.dev>
@techisigu
techisigu merged commit 1467f57 into Zenith-options:main Oct 24, 2026
5 of 29 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

2 participants