Skip to content

Pass network_id to precomputeDelegationPir#36

Merged
greg0x merged 2 commits into
shielded-vote-2.4.10from
greg/precompute-network-id
May 1, 2026
Merged

Pass network_id to precomputeDelegationPir#36
greg0x merged 2 commits into
shielded-vote-2.4.10from
greg/precompute-network-id

Conversation

@greg0x

@greg0x greg0x commented May 1, 2026

Copy link
Copy Markdown
Collaborator

Status

Unblocked: zcash_voting 0.3.0 is published on crates.io, and this PR's Cargo.lock now resolves that published crate/checksum.

Summary

Companion to valargroup/zcash_voting#32. The upstream change adds the network_id parameter needed by delegation PIR precompute when deriving padded-slot nullifiers from UFVK-backed note metadata.

This PR plumbs network_id through:

  • zcashlc_voting_precompute_delegation_pir FFI signature (Rust, +1 u32 param)
  • VotingRustBackend.precomputeDelegationPir Swift wrapper (+1 UInt32 param)

It also updates the Rust dependency from zcash_voting = "0.2.3" to "0.3.0" and refreshes Cargo.lock against the published crates.io release.

Verification

  • cargo check --lib

Stacked on

Consumed by

The Rust-side fix (zcash_voting precompute keying IMT cache off circuit
padded nullifiers) needs the FVK to derive those nullifiers, which means
decoding each note's UFVK string. UFVK decode requires a network. Add
network_id to the FFI signature and the Swift wrapper; the iOS side already
passes networkId at the call site.

Depends on: zcash_voting fix (greg/circuit-padded-nullifiers).
@greg0x greg0x force-pushed the greg/precompute-network-id branch from a5fa6de to 65f5355 Compare May 1, 2026 22:49
Picks up the precompute_delegation_pir IMT-cache fix (circuit-side 0-zat
padded nullifiers). Won't build until zcash_voting 0.2.4 is published —
release commit for the upstream crate is in valargroup/zcash_voting#TBD.

Bump zcash_voting to 0.3.0
@greg0x greg0x force-pushed the greg/precompute-network-id branch from 65f5355 to edd1e71 Compare May 1, 2026 22:52
@greg0x greg0x changed the title Pass network_id to precomputeDelegationPir [BLOCKED on zcash_voting 0.2.4] Pass network_id to precomputeDelegationPir May 1, 2026
@greg0x greg0x marked this pull request as ready for review May 1, 2026 22:56
@greg0x greg0x merged commit 26d2df3 into shielded-vote-2.4.10 May 1, 2026
6 checks passed
greg0x added a commit that referenced this pull request May 1, 2026
* Pass network_id to precomputeDelegationPir

The Rust-side fix (zcash_voting precompute keying IMT cache off circuit
padded nullifiers) needs the FVK to derive those nullifiers, which means
decoding each note's UFVK string. UFVK decode requires a network. Add
network_id to the FFI signature and the Swift wrapper; the iOS side already
passes networkId at the call site.

Depends on: zcash_voting fix (greg/circuit-padded-nullifiers).

* Bump zcash_voting to 0.3.0

Picks up the precompute_delegation_pir IMT-cache fix (circuit-side 0-zat
padded nullifiers). Won't build until zcash_voting 0.2.4 is published —
release commit for the upstream crate is in valargroup/zcash_voting#TBD.

Bump zcash_voting to 0.3.0
p0mvn pushed a commit that referenced this pull request May 3, 2026
* Pass network_id to precomputeDelegationPir

The Rust-side fix (zcash_voting precompute keying IMT cache off circuit
padded nullifiers) needs the FVK to derive those nullifiers, which means
decoding each note's UFVK string. UFVK decode requires a network. Add
network_id to the FFI signature and the Swift wrapper; the iOS side already
passes networkId at the call site.

Depends on: zcash_voting fix (greg/circuit-padded-nullifiers).

* Bump zcash_voting to 0.3.0

Picks up the precompute_delegation_pir IMT-cache fix (circuit-side 0-zat
padded nullifiers). Won't build until zcash_voting 0.2.4 is published —
release commit for the upstream crate is in valargroup/zcash_voting#TBD.

Bump zcash_voting to 0.3.0
p0mvn pushed a commit that referenced this pull request May 4, 2026
* Pass network_id to precomputeDelegationPir

The Rust-side fix (zcash_voting precompute keying IMT cache off circuit
padded nullifiers) needs the FVK to derive those nullifiers, which means
decoding each note's UFVK string. UFVK decode requires a network. Add
network_id to the FFI signature and the Swift wrapper; the iOS side already
passes networkId at the call site.

Depends on: zcash_voting fix (greg/circuit-padded-nullifiers).

* Bump zcash_voting to 0.3.0

Picks up the precompute_delegation_pir IMT-cache fix (circuit-side 0-zat
padded nullifiers). Won't build until zcash_voting 0.2.4 is published —
release commit for the upstream crate is in valargroup/zcash_voting#TBD.

Bump zcash_voting to 0.3.0
p0mvn pushed a commit that referenced this pull request May 5, 2026
* Pass network_id to precomputeDelegationPir

The Rust-side fix (zcash_voting precompute keying IMT cache off circuit
padded nullifiers) needs the FVK to derive those nullifiers, which means
decoding each note's UFVK string. UFVK decode requires a network. Add
network_id to the FFI signature and the Swift wrapper; the iOS side already
passes networkId at the call site.

Depends on: zcash_voting fix (greg/circuit-padded-nullifiers).

* Bump zcash_voting to 0.3.0

Picks up the precompute_delegation_pir IMT-cache fix (circuit-side 0-zat
padded nullifiers). Won't build until zcash_voting 0.2.4 is published —
release commit for the upstream crate is in valargroup/zcash_voting#TBD.

Bump zcash_voting to 0.3.0
p0mvn pushed a commit that referenced this pull request May 5, 2026
* Pass network_id to precomputeDelegationPir

The Rust-side fix (zcash_voting precompute keying IMT cache off circuit
padded nullifiers) needs the FVK to derive those nullifiers, which means
decoding each note's UFVK string. UFVK decode requires a network. Add
network_id to the FFI signature and the Swift wrapper; the iOS side already
passes networkId at the call site.

Depends on: zcash_voting fix (greg/circuit-padded-nullifiers).

* Bump zcash_voting to 0.3.0

Picks up the precompute_delegation_pir IMT-cache fix (circuit-side 0-zat
padded nullifiers). Won't build until zcash_voting 0.2.4 is published —
release commit for the upstream crate is in valargroup/zcash_voting#TBD.

Bump zcash_voting to 0.3.0
p0mvn pushed a commit that referenced this pull request May 5, 2026
* Pass network_id to precomputeDelegationPir

The Rust-side fix (zcash_voting precompute keying IMT cache off circuit
padded nullifiers) needs the FVK to derive those nullifiers, which means
decoding each note's UFVK string. UFVK decode requires a network. Add
network_id to the FFI signature and the Swift wrapper; the iOS side already
passes networkId at the call site.

Depends on: zcash_voting fix (greg/circuit-padded-nullifiers).

* Bump zcash_voting to 0.3.0

Picks up the precompute_delegation_pir IMT-cache fix (circuit-side 0-zat
padded nullifiers). Won't build until zcash_voting 0.2.4 is published —
release commit for the upstream crate is in valargroup/zcash_voting#TBD.

Bump zcash_voting to 0.3.0
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.

1 participant