Skip to content

Review and integrate ZSA (Zcash Shielded Assets) support #10921

Description

@oxarbitrage

Summary

Track the review and integration of ZSA (Zcash Shielded Assets) support into Zebra, based on PR #10628 from QED-it. The PR targets the stale v4.2.0-dev branch (577 commits, 132 files, +4231/-599) and implements ZIP 226 (transfer/burn) and ZIP 227 (issuance).

Context

Key integration challenges

  1. V6/Ironwood divergence — Main now has V6 transactions for Ironwood (NU6.3) using newtypes. ZSA's V6 serialization, sighash, and txid need reconciliation. ZSA may need V7 since V6 is taken.
  2. Branch divergencev4.2.0-dev is 202 commits / 499 files behind main with 57 conflicting files. Direct rebase of 577 commits is not practical.
  3. QED-it fork dependencies — All ZSA deps (orchard, librustzcash, sapling-crypto, zcash_spec, +7 more) point to QED-it GitHub commits, not upstream releases.
  4. ZIP status — ZIP 230 and ZIP 246 (referenced in PR) are withdrawn.

Proposed approach

Port the minimal ZSA changeset (~58 files) onto current main in logical commits:

  • 7 new files (~911 lines) — orchard_zsa/ module, shielded_data_flavor.rs, versioned_sig.rs, consensus module
  • 6 heavily modified files (~1,200 lines) — manual reconciliation with Ironwood
  • ~45 files with small changes (cfg gates, match arms, imports, state plumbing)
  • Tests (~62 files) after the port compiles

Tasks

  • First review pass and comment on feat: add Zcash Shielded Assets (ZSA) support (draft) #10628
  • Await QED-it response on V6/V7 format and dependency upstream timeline
  • Port minimal ZSA changeset onto current main
  • Reconcile V6 transaction format with Ironwood
  • Code-level review (inline comments during port)
  • Add/port test vectors
  • CI green on feature-gated build

Metadata

Metadata

Assignees

Labels

C-enhancementCategory: This is an improvementNU-7Network Upgrade: NU7 specific tasksS-needs-triageStatus: A bug report needs triage

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions