Skip to content

[DO NOT MERGE] Bring in upstream Ironwood support.#1

Draft
nuttycom wants to merge 31 commits into
mainfrom
merge/valargroup-ironwood
Draft

[DO NOT MERGE] Bring in upstream Ironwood support.#1
nuttycom wants to merge 31 commits into
mainfrom
merge/valargroup-ironwood

Conversation

@nuttycom

Copy link
Copy Markdown

This is a review-only branch; it will be merged --ff-only via the CLI once it has been reviewed.

ValarDragon and others added 28 commits June 3, 2026 15:55
…alo2-0.5

Update circuits to Orchard 0.14 and halo2_gadgets 0.5
…hard-alignment

Align qr_orchard dependency
Move the orchard pin from cab7d78 to the head of zcash/orchard#510
(dev/tx-id: the v6 / Ironwood TX-id + Auth-ID work). That branch was
rebased with public-API renames, so this is a source port, not just a
rev bump:

- Note::new reordered to (.., version, rng); swap the two args at every
  call site.
- RandomSeed::rcm -> rcm_v2 (the V2 derivation; qr_rcm -> rcm_v3).
- NoteVersion::DEFAULT removed (it was = V2); replace with V2, except
  real_proof_roundtrip's real delegated note, which must be V3
  (DELEGATION_NOTE_VERSION) — that test was latently red before this
  bump because it built a V2 note the builder rejects.

The new orchard circuit Config rotates the delegation and vote-proof
verifying keys (share-reveal unchanged); update both VK-fingerprint
tripwires accordingly. Intentional VK rotation.

Verified: cargo check --all-targets --all-features clean; 141/141 unit
tests pass; all ignored delegation proving tests pass (happy_path,
real_proof_roundtrip); all three VK fingerprint tripwires green.
Non-breaking orchard update; vote-proof and delegation verifying-key fingerprints are unchanged.
Non-breaking orchard update; vote-proof and delegation verifying-key fingerprints are unchanged.
Move the orchard dep from zcash/orchard 30c4ea27 (feat-ironwood) to
valargroup/orchard adam/pczt-recompute-helpers (HEAD d05e3b41). That branch is
30c4ea27 plus one commit adding the pczt recompute module for omitted derived
fields; it touches only src/pczt*, so no circuit/note APIs change here.

Pinned by branch (not rev) so downstream crates that pin orchard by this same
branch unify on a single orchard node: Cargo treats ?branch= and ?rev= as
distinct sources even at the same commit, which would otherwise duplicate every
orchard type across the dependency boundary.

The rcm derivations were already version-tagged on this line (rcm -> rcm_v2,
qr_rcm -> rcm_v3, upstream b18ce41); the rename is a pure value-preserving
rename for V2 (same PrfExpand::ORCHARD_RCM body, same signature), and this
crate's V2 callsite (delegation/circuit.rs rcm_scalar_for_note_parts) already
calls rcm_v2. Build + tests green.
Switches orchard from the valargroup/orchard git pin to the published 0.15.0-pre.1 crate. Non-breaking: compiles clean and the vote-proof and delegation verifying-key fingerprints are unchanged.
…pre.1

Bump orchard to 0.15.0-pre.1 (crates.io release)
…diness

Finish Ironwood V3 release readiness
…col-api

Use Orchard 0.15.0 for Ironwood notes
@nuttycom
nuttycom force-pushed the merge/valargroup-ironwood branch from 1ed2b97 to a9c9d4e Compare July 23, 2026 17:35
Remove hard pins on the `orchard` crate version.
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.

3 participants