Skip to content

chore: commit Cargo.lock, consolidate deps (P6/P7/P9)#13

Merged
czarcas7ic merged 2 commits into
mainfrom
adam/p6-p9-lockfile
Apr 10, 2026
Merged

chore: commit Cargo.lock, consolidate deps (P6/P7/P9)#13
czarcas7ic merged 2 commits into
mainfrom
adam/p6-p9-lockfile

Conversation

@czarcas7ic

@czarcas7ic czarcas7ic commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Commit Cargo.lock for reproducible builds (P9 fix -- librustvoting was the only repo without one)
  • Switch imt-tree to published crates.io v0.1.0 (P6 fix -- eliminates namesquatting risk and double-compile)
  • Pin librustzcash patches to shielded-voting-wallet-support HEAD by rev (P5/P7 fix -- consolidates the two parallel branches)
  • Pin pir-client by rev to vote-nullifier-pir@b06d093 which switches workspace imt-tree deps to crates.io and fixes the ypir/spiral-rs package renames using package = "valar-ypir" / package = "valar-spiral-rs" (keeps the audited valargroup forks)
  • Add CI guard that fails if Cargo.lock is missing

Context

Sean's review identified that librustvoting was the sole repo without a committed lockfile, the imt-tree crate was unregistered on crates.io, and librustzcash patches were floating on a branch recommended for deletion. This PR addresses all three in one shot.

Dependencies

Test plan

  • cargo test --workspace -- 125 tests pass (84 librustvoting, 12 vote-commitment-tree, 11+10 integration, 8 client)
  • grep -c '^name = "imt-tree"' Cargo.lock returns 1
  • No references to pczt-governance-extensions-0.11 in lockfile
  • No [patch."https://github.com/valargroup/vote-nullifier-pir.git"] workaround needed
  • Lockfile guard CI workflow added

@czarcas7ic czarcas7ic force-pushed the adam/p6-p9-lockfile branch 3 times, most recently from b6146c2 to e420082 Compare April 10, 2026 19:36
Comment thread librustvoting/Cargo.toml Outdated
…atches (P6/P7/P9)

- Remove Cargo.lock from .gitignore and commit it for reproducible builds.
  librustvoting was the only repo in the dependency graph without a
  committed lockfile, allowing silent dep drift (P9).

- Switch vote-commitment-tree's imt-tree dep from a bare git URL to the
  now-published crates.io v0.1.0 (P6).

- Pin pir-client by rev (vote-nullifier-pir@b06d093) which switches
  imt-tree deps to crates.io and fixes the ypir/spiral-rs package
  renames using `package = "valar-ypir"` / `package = "valar-spiral-rs"`,
  keeping the audited valargroup forks.

- Switch librustzcash patches from floating branch
  "valargroup/pczt-governance-extensions-0.11" to rev-pinned
  "shielded-voting-wallet-support" HEAD (e0ff19d) (P5/P7).

- Add CI guard (.github/workflows/lockfile.yml) that fails if
  Cargo.lock is missing, preventing regression.
@czarcas7ic czarcas7ic force-pushed the adam/p6-p9-lockfile branch from e420082 to 5850d23 Compare April 10, 2026 20:56
@czarcas7ic czarcas7ic marked this pull request as ready for review April 10, 2026 21:04
Main added zcash_client_sqlite to [patch.crates-io] and new deps
(zcash_client_sqlite, shardtree) to librustvoting. Merged with our
rev-pin approach — all librustzcash patches now pinned to
shielded-voting-wallet-support HEAD (6858db4).
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