chore: rev-pin librustzcash and librustvoting deps (P5/P7)#17
Merged
Conversation
Replace floating `branch = "shielded-voting-wallet-support"` with explicit rev pins for all 9 librustzcash [patch.crates-io] entries. Pin librustvoting to current main HEAD. orchard and voting-circuits remain as bare git URLs because Cargo treats ?rev= URLs as a different source than the path deps that voting-circuits uses internally for orchard, which would cause duplicate compilation. The lockfile freezes the actual commit. Co-Authored-By: Claude <noreply@anthropic.com>
3 tasks
greg0x
pushed a commit
that referenced
this pull request
Apr 13, 2026
chore: rev-pin librustzcash and librustvoting deps (P5/P7)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
branch = "shielded-voting-wallet-support"withrev = "6858db4..."for all 9 librustzcash[patch.crates-io]entrieslibrustvotingto current main HEAD (8ff4432)Cargo.lockNote:
orchardandvoting-circuitsremain as bare git URLs (no rev pin) because Cargo treats?rev=URLs as a different source than the path deps voting-circuits uses internally for orchard, which would cause duplicate compilation. The lockfile freezes the actual commits.Context
Sean's review (P5) flagged that floating branch pins are dangerous — a compromised branch or accidental force-push silently changes what gets compiled. Rev pins make dependency resolution deterministic and auditable.
P7 identified that librustvoting and the iOS SDK were using different librustzcash branches. librustvoting has been consolidated to
shielded-voting-wallet-supportwith rev pins (valargroup/zcash_voting#13, merged). This PR does the same for the iOS SDK.After merge
Delete
valargroup/librustzcashbranchvalargroup/pczt-governance-extensions-0.11(no longer referenced by any consumer):Test plan
cargo build --releasesucceedsorchard,imt-tree,voting-circuitsentries in lockfile6858db4(same as before, just formalized)branch =pins remaining in Cargo.toml