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
- 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.
- Branch divergence —
v4.2.0-dev is 202 commits / 499 files behind main with 57 conflicting files. Direct rebase of 577 commits is not practical.
- QED-it fork dependencies — All ZSA deps (orchard, librustzcash, sapling-crypto, zcash_spec, +7 more) point to QED-it GitHub commits, not upstream releases.
- 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
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-devbranch (577 commits, 132 files, +4231/-599) and implements ZIP 226 (transfer/burn) and ZIP 227 (issuance).Context
Key integration challenges
v4.2.0-devis 202 commits / 499 files behind main with 57 conflicting files. Direct rebase of 577 commits is not practical.Proposed approach
Port the minimal ZSA changeset (~58 files) onto current main in logical commits:
orchard_zsa/module,shielded_data_flavor.rs,versioned_sig.rs, consensus moduleTasks