Skip to content

feat(wasm-utxo): add CLI support for building and signing Zcash v6 (Ironwood) shielding transactions - #358

Merged
veetragjain merged 1 commit into
masterfrom
veetragjain/cshld-1432-add-wasm-cli-support-for-shielding-transactions-transparent
Aug 14, 2026
Merged

feat(wasm-utxo): add CLI support for building and signing Zcash v6 (Ironwood) shielding transactions#358
veetragjain merged 1 commit into
masterfrom
veetragjain/cshld-1432-add-wasm-cli-support-for-shielding-transactions-transparent

Conversation

@veetragjain

Copy link
Copy Markdown
Contributor

Adds the transparent -> Ironwood shielding flow to wasm-utxo-cli, and the library support it needs:

  • New CLI subcommands: create-zcash-v6, add-shielded-output, sign-v6-input, combine-ironwood-proof. Composed with the existing add-input/add-output, they pipe together into a full build-and-sign flow for a v6 shielding transaction, the same way the transparent-only flow already does.
  • ZcashBitGoPsbt::new_v6_bare: an empty v6 PSBT constructor that skips RootWalletKeys xpubs, for standalone tooling (the CLI) that builds/signs one key at a time rather than through a fixed-script wallet.
  • ZcashBitGoPsbt::deserialize_v6_pre_shield (+ shared decode_v6 with a require_pczt switch): accepts a v6 PSBT whose transparent skeleton exists but has no Ironwood PCZT yet, since the CLI round-trips a PSBT through serialize/deserialize between each build step rather than holding it in-process.
  • combine_ironwood_proof_locally + ironwood_build::create_proof: produce a real Halo2 proof locally (builds a proving key and synthesizes the circuit) instead of requiring an external proof service, so the CLI can finish a broadcast-ready transaction standalone. Gated behind a new orchard-proving feature (pulls in halo2's circuit/proving-key machinery) so the shipped WASM build never links it.
  • cli/README.md: documents the new command chain, including a real example that was built, signed, and confirmed accepted by a live Zcash testnet node's mempool.

Ticket: CSHLD-1432

@linear-code

linear-code Bot commented Aug 11, 2026

Copy link
Copy Markdown

CSHLD-1432

@veetragjain
veetragjain force-pushed the veetragjain/cshld-1432-add-wasm-cli-support-for-shielding-transactions-transparent branch from 7dd2807 to 84afef5 Compare August 11, 2026 18:08
@veetragjain
veetragjain force-pushed the veetragjain/cshld-1432-add-wasm-cli-support-for-shielding-transactions-transparent branch from 84afef5 to 2ab9670 Compare August 12, 2026 15:21
Base automatically changed from veetragjain/cshld-1448-correct-zip-244-transparent-sighash-script-digest to master August 13, 2026 14:47
@veetragjain
veetragjain force-pushed the veetragjain/cshld-1432-add-wasm-cli-support-for-shielding-transactions-transparent branch 2 times, most recently from 756758f to 051a512 Compare August 13, 2026 18:21
@veetragjain
veetragjain marked this pull request as ready for review August 13, 2026 18:36
@veetragjain
veetragjain requested review from a team as code owners August 13, 2026 18:36
@veetragjain
veetragjain force-pushed the veetragjain/cshld-1432-add-wasm-cli-support-for-shielding-transactions-transparent branch from 051a512 to 7b351d8 Compare August 14, 2026 06:44

@akarath akarath left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@veetragjain
veetragjain merged commit 87cbd63 into master Aug 14, 2026
13 checks passed
@veetragjain
veetragjain deleted the veetragjain/cshld-1432-add-wasm-cli-support-for-shielding-transactions-transparent branch August 14, 2026 14:42
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.

3 participants