Skip to content

test(circuits): fixtures and gas for nargo 1.0.0-rc.3 and bb 6.0.0-rc.2 - #78

Merged
xgreenx merged 3 commits into
mainfrom
chore/circuits-noir-1.0.0-rc.3
Oct 3, 2026
Merged

xgreenx merged 3 commits into
mainfrom
chore/circuits-noir-1.0.0-rc.3

Conversation

@xgreenx

@xgreenx xgreenx commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

libid-org/libID-circuits#15 moved the circuits to nargo 1.0.0-rc.3 and bb 6.0.0-rc.2, released as libid-circuits v0.6.0. Both verification keys changed, so every real-proof fixture needs a proof under the new verifiers.

Changes

  • Pin: circuits.json names v0.6.0 and its two tarball digests, read off the downloaded release and matched against the release page.
  • Fixtures: the five real-proof fixtures hold bb 6.0.0-rc.2 proofs of the same witnesses. Only proof and source change; every public input is byte-identical.
  • Gas snapshot: claim-verification.json measured on the new verifiers.
  • Comments: two test comments name the new versions.

Verified

  • Release: the v0.6.0 tarballs unpack to files byte-identical to the build the fixtures were proved against (local macOS and Linux CI builds agree).
  • Forge: 653 passed, no test logic changed; lint, fmt, storage layout, generated tables clean. FOUNDRY_PROFILE=gas matches the committed snapshot.
  • Adversarial suites: HonkVerifierEncoding and HonkVerifierProofs pass unchanged; bb 6 keeps the proof layout.
  • Rust: 38 passed, anvil included. TypeScript: 33 passed.
  • Native: all five proofs pass bb verify.
verify gas, Osaka v0.5.0 v0.6.0
bearer-link 720,069 720,457
oidc-google 754,733 755,087

Not verified / known issues

  • Publish dry-runs ran only in CI.
  • After this lands, a libid-contracts release carries the new verifiers to chain-configurations, and each network's apply rotates them (new libid.circuits.*.0.6.0 names, setTrustRoots).

🤖 Generated with Claude Code

libid-circuits moves to nargo 1.0.0-rc.3 and bb 6.0.0-rc.2
(libid-org/libID-circuits#15). Both verification
keys change, so the v0.5.0 proofs stop verifying. The five fixtures are
proofs of the same witnesses under the new keys: every public input is
byte-identical, only `proof` and `source` move. They fail against the
v0.5.0 verifiers until circuits.json pins the release.

Assisted-by: Claude Fable 5.1
Signed-off-by: Green Baneling <XgreenX9999@gmail.com>
bb 6.0.0-rc.2's verifier adds the two ROM log-derivative subrelations
and derives each challenge from its own hash. Under Osaka, verify costs
388 gas more on bearer-link and 354 more on oidc-google; the X and
GitHub claims move by bearer-link's 388.

Assisted-by: Claude Fable 5.1
Signed-off-by: Green Baneling <XgreenX9999@gmail.com>
The release built by nargo 1.0.0-rc.3 and bb 6.0.0-rc.2. Its files are
byte-identical to the build the fixtures were proved against.

Assisted-by: Claude Fable 5.1
Signed-off-by: Green Baneling <XgreenX9999@gmail.com>
@xgreenx
xgreenx marked this pull request as ready for review October 3, 2026 14:40
@xgreenx
xgreenx merged commit ce8ec73 into main Oct 3, 2026
12 checks passed
@xgreenx
xgreenx deleted the chore/circuits-noir-1.0.0-rc.3 branch October 3, 2026 14:40
@xgreenx xgreenx mentioned this pull request Oct 3, 2026
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