AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 33 Bitcoin

chore(zcash): bump orchard to 0.15.0-pre.1, repoint librustzcash

Public commit record

What the developer wrote

Authored by Adam Tucker

95/100 · Strong
chore(zcash): bump orchard to 0.15.0-pre.1, repoint librustzcash

Move orchard from the git-pinned b2af0a11 (BundleProtocol API) to the
published crates.io 0.15.0-pre.1 (BundleVersion API), drop the
[patch.crates-io] orchard git pin, and repoint the librustzcash patches
from dc95dcef to ironwood-integration (644b1ecf), which already builds
against orchard 0.15.0-pre.1. zcash_vendor's orchard constraint moves from
0.14 to 0.15.0-pre.1; the graph resolves to a single orchard 0.15.0-pre.1.

0.15.0-pre.1 splits note encryption by version, which required two changes:

- decode_output_enc_ciphertext (the PCZT trial-decrypt path) hardcoded
OrchardDomain (V2) and could not decrypt Ironwood (V3) actions. It now
selects IronwoodDomain for V3 notes and OrchardDomain for V2, keyed on the
action's note version.

- The sample-PCZT test fixtures had the same V2/V3 domain issue for the
Ironwood note, and minted their V2 Orchard source notes via an orchard_v3
coinbase, which 0.15.0-pre.1 now prohibits (the cross-address-restricted
Orchard pool forbids coinbase bundles). They now use IronwoodDomain for the
Ironwood note and mint the Orchard notes via orchard_v2, producing the same
V2 note.

Verified: cargo test -p app_zcash (cypherpunk) 90 passed incl. the
lean-sighash oracle and Ironwood verify/sign/parse tests; multi_coins 38
passed; clippy clean.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
The short version

What changed, and why it matters

This commit updates the Zcash cryptography libraries inside the Keystone hardware wallet firmware. The main functional change is a bug fix: when the wallet tries to read encrypted Zcash note details, it now correctly chooses the decryption method for the newer 'Ironwood' (V3) notes instead of always using the older 'Orchard' (V2) method. Before this change, V3 notes could not be decrypted, which could break or mislead transactions involving the newer Zcash shielded pool. The rest of the change is dependency version bumps and test fixture adjustments.

Recommended action

Treat this as a routine but correctness-critical dependency update. Verify that the updated orchard and librustzcash revisions match the intended upstream Zcash protocol state, run the full Zcash test suite, and consider whether any user-facing transaction flows previously failed silently due to the V3 decryption bug. No emergency action is indicated absent further evidence.

Security signals we found

01

Incorrect note-encryption domain selection could prevent decryption of Ironwood (V3) shielded outputs

02

Dependency bump to orchard 0.15.0-pre.1 introduces BundleVersion API and splits V2/V3 note encryption domains

03

Test fixtures corrected to avoid prohibited orchard_v3 coinbase bundles for V2 Orchard notes

04

No explicit CVE, advisory, or vendor security disclosure present in commit materials

Risk score

Why this scored 33/100

Our methodology →
Potential impact 8/30
Exploitability 5/25
Stealth signal 4/15
Affected reach 6/15
Confidence 7/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.