Skip to content

feat(zcash-wasm): multisig verifier primitives#5

Merged
hitchho merged 3 commits into
masterfrom
feat/frost-multisig
May 1, 2026
Merged

feat(zcash-wasm): multisig verifier primitives#5
hitchho merged 3 commits into
masterfrom
feat/frost-multisig

Conversation

@Catopish

@Catopish Catopish commented May 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • New frost_parse_tx_outputs(unsigned_tx_hex, ufvk) WASM export. Parses a v5 tx, OVK-decrypts orchard outputs (external + internal scopes), recomputes ZIP-244 sighash for end-to-end verification of joiner sign sessions.
  • build_unsigned_transaction + build_signed_spend_transaction bind out_ciphertext to the wallet's FVK OVK instead of a random ephemeral key. Required so the spender's quorum (FROST cosigners) can decrypt their own outputs; matches zcashd default.
  • v5 parser accepts NU6.1 branch ID by patching the field in-memory pre-parse (zcash_primitives 0.21 ships zcash_protocol 0.4 which tops out at NU6).

Test plan

  • cargo wasm-parallel + cargo wasm-single produce working artifacts
  • zafu integration: cosigner sees green ✓ on a legit sign; red mismatch on tampered SIGN: payload
  • Existing frost-spend tests still pass

🤖 Generated with Claude Code

@hitchho hitchho merged commit 17dae92 into master May 1, 2026
1 check failed
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.

2 participants