fix: check overflow for Pedersen grumpkin scalars#10462
Conversation
Changes to number of Brillig opcodes executed
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Changes to Brillig bytecode sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Changes to circuit sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: c0cb5ac | Previous: 60bfcf2 | Ratio |
|---|---|---|---|
rollup-block-root-single-tx |
0.003 s |
0.002 s |
1.50 |
rollup-checkpoint-merge |
0.004 s |
0.003 s |
1.33 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
An alternative would be to use the already existing 'safe' function and rely on range-check optimisations in ACIR. |
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 60269f2 | Previous: 60bfcf2 | Ratio |
|---|---|---|---|
test_report_zkpassport_noir-ecdsa_ |
2 s |
1 s |
2 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
Just needs some snapshots updated. |
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(frontend)!: Preserve int type when quoting tokens (noir-lang/noir#10330) fix: check overflow for Pedersen grumpkin scalars (noir-lang/noir#10462) chore(frontend): Various tests in elaborator expressions submodule and minor refactors (noir-lang/noir#10475) chore: bump external pinned commits (noir-lang/noir#10477) fix: disallow keywords in attributes (noir-lang/noir#10473) chore: refactor codegen_control_flow (noir-lang/noir#10320) fix: builtin with body now errors instead of crashing (noir-lang/noir#10474) fix: handle ambiguous trait methods in assumed traits (noir-lang/noir#10468) fix: force_substitute bindings during monomorphization for associated constants (noir-lang/noir#10467) fix(brillig): Skip decrementing ref-count in array/vector copy and other refactors (noir-lang/noir#10335) fix(ssa): Cast to `u64` when inserting OOB checks in DIE (noir-lang/noir#10463) fix: disallow comptime-only types in non-comptime globals (noir-lang/noir#10458) chore(fuzzing): fix default artifact for brillig target (noir-lang/noir#10465) END_COMMIT_OVERRIDE
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(frontend)!: Preserve int type when quoting tokens (noir-lang/noir#10330) fix: check overflow for Pedersen grumpkin scalars (noir-lang/noir#10462) chore(frontend): Various tests in elaborator expressions submodule and minor refactors (noir-lang/noir#10475) chore: bump external pinned commits (noir-lang/noir#10477) fix: disallow keywords in attributes (noir-lang/noir#10473) chore: refactor codegen_control_flow (noir-lang/noir#10320) fix: builtin with body now errors instead of crashing (noir-lang/noir#10474) fix: handle ambiguous trait methods in assumed traits (noir-lang/noir#10468) fix: force_substitute bindings during monomorphization for associated constants (noir-lang/noir#10467) fix(brillig): Skip decrementing ref-count in array/vector copy and other refactors (noir-lang/noir#10335) fix(ssa): Cast to `u64` when inserting OOB checks in DIE (noir-lang/noir#10463) fix: disallow comptime-only types in non-comptime globals (noir-lang/noir#10458) chore(fuzzing): fix default artifact for brillig target (noir-lang/noir#10465) END_COMMIT_OVERRIDE
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(frontend)!: Preserve int type when quoting tokens (noir-lang/noir#10330) fix: check overflow for Pedersen grumpkin scalars (noir-lang/noir#10462) chore(frontend): Various tests in elaborator expressions submodule and minor refactors (noir-lang/noir#10475) chore: bump external pinned commits (noir-lang/noir#10477) fix: disallow keywords in attributes (noir-lang/noir#10473) chore: refactor codegen_control_flow (noir-lang/noir#10320) fix: builtin with body now errors instead of crashing (noir-lang/noir#10474) fix: handle ambiguous trait methods in assumed traits (noir-lang/noir#10468) fix: force_substitute bindings during monomorphization for associated constants (noir-lang/noir#10467) fix(brillig): Skip decrementing ref-count in array/vector copy and other refactors (noir-lang/noir#10335) fix(ssa): Cast to `u64` when inserting OOB checks in DIE (noir-lang/noir#10463) fix: disallow comptime-only types in non-comptime globals (noir-lang/noir#10458) chore(fuzzing): fix default artifact for brillig target (noir-lang/noir#10465) END_COMMIT_OVERRIDE
Description
Problem
Resolves a bug (missing constraints) in Pedersen hash.
Summary
When getting the (lo, hi) limbs of a field as Grumpkin scalar for Pedersen hashes, we were relying on the implicit MSM constraints. However MSM does not know that the input is coming from Noir field elements, so it only checks for Grumpkin overflow, not the Noir field overflow.
Additional Context
User Documentation
Check one:
PR Checklist
cargo fmton default settings.