Skip to content

chore(examples): bump noir-rs to v1.0.0-beta.19#1130

Merged
heeckhau merged 2 commits into
mainfrom
chore/bump-noir-rs-beta19
Apr 22, 2026
Merged

chore(examples): bump noir-rs to v1.0.0-beta.19#1130
heeckhau merged 2 commits into
mainfrom
chore/bump-noir-rs-beta19

Conversation

@heeckhau
Copy link
Copy Markdown
Member

@heeckhau heeckhau commented Apr 21, 2026

Summary

  • Bumps zkmopro/noir-rs from v1.0.0-beta.8 to v1.0.0-beta.19 in the basic_zk example. Upstream PR zkmopro/noir-rs#37 replaces the custom bb/ FFI crate with the official barretenberg-rs crate from crates.io and advances the noir-lang deps from July 2025 to Feb 2026.
  • Updates the example's Noir circuit deps and source to compile under nargo v1.0.0-beta.19.
  • Adjusts the verifier to handle the new proof byte layout introduced in beta.19.

What changed

Notes

  • The prover side needed no changes; noir-rs preserved the public API (prove_ultra_honk, setup_srs_from_bytecode, get_ultra_honk_verification_key, verify_ultra_honk, from_vec_str_to_witness_map).
  • sha256 v0.3.0 emits a bug: advisory from nargo about an under-constrained Brillig call in its internal build_msg_block_helper. Compilation and tests still succeed; this is an upstream library concern, not specific to our circuit.

Test plan

  • nargo compile with nargo v1.0.0-beta.19 succeeds.
  • nargo test --show-output passes both test_max_is_over_18 and test_under_18.
  • cargo build --release --example basic_zk compiles.
  • End-to-end run against tlsn-server-fixture on port 4000 prints Proof verified successfully and Age verified in ZK: 18+.
  • CI build/test.

zkmopro/noir-rs#37 migrated off the custom bb/ FFI crate to the official
barretenberg-rs crate from crates.io, and bumped the noir-lang deps from
v1.0.0-beta.8 to v1.0.0-beta.19.

* crates/examples/Cargo.toml: bump noir-rs tag.
* basic_zk/noir/Nargo.toml: bump sha256 to v0.3.0 and noir-date to v0.5.6
  for nargo v1.0.0-beta.19 compatibility.
* basic_zk/noir/src/main.nr: drop deprecated `dep::` import prefix.
* basic_zk/noir/target/noir.json: recompile with nargo v1.0.0-beta.19
  (ACIR serialization format changed).
* basic_zk/verifier.rs: adjust public-input extraction for the new proof
  layout. noir-rs beta.19 prefixes proof bytes with a 4-byte BE
  num_public_inputs, so the date and hash offsets now start from
  proof[4..]. Also validates num_pub == 35.
* basic_zk/README.md: update noirup version and simplify bbup invocation.
@heeckhau heeckhau requested a review from th4s April 21, 2026 16:56
@heeckhau heeckhau merged commit ee31eeb into main Apr 22, 2026
10 checks passed
@heeckhau heeckhau deleted the chore/bump-noir-rs-beta19 branch April 22, 2026 08:10
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