Skip to content

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Jan 16, 2026

BEGIN_COMMIT_OVERRIDE
chore: add graph_description_keccak test (#19575)
chore: update commit hash in blake files in blake audit scope (#19593)
feat: enable asserts in WASM builds (#19632)
chore: remove unnecessary "inputs" structs (#19660)
fix: overflow in wasm assert (#19690)
chore!: sha audit 2 (#19436)
chore: add logic audit scope (and add old bigfield scope) (#19680)
END_COMMIT_OVERRIDE

Adds the missing `graph_description_keccak.test.cpp` for keccak in
`boomerang_value_detection` module.
Copy link
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-approved

@AztecBot AztecBot added this pull request to the merge queue Jan 16, 2026
@AztecBot
Copy link
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

@johnathan79717 johnathan79717 removed this pull request from the merge queue due to a manual request Jan 16, 2026
## Summary
- Enable `BB_ASSERT` macros in WASM builds for improved debugging and
error detection
- Add `BB_ASSERT_NO_WASM` family for performance-critical asserts that
are too expensive to run in WASM
- Convert two high-frequency asserts to NO_WASM variants (RefArray
iterator at 159M hits, Polynomial::set_if_valid_index at 13.5M hits)
- Convert `throw_or_abort` in recursion_constraint and
public_input_component back to `BB_ASSERT` now that WASM asserts are
enabled

Closes AztecProtocol/barretenberg#1200

## Benchmark Results

### ChonkBench (WASM Full/2)
| Configuration | Time | Regression |
|--------------|------|------------|
| Baseline (asserts disabled) | 21,872 ms | - |
| All asserts enabled | 22,480 ms | +2.8% |
| With NO_WASM on hot asserts | 22,195 ms | +1.5% |

### AVM Bulk Test
| Configuration | Proving Time | Bulk Test Time |
|--------------|--------------|----------------|
| Baseline (asserts disabled) | 29,303 ms | 29,889 ms |
| With asserts enabled | 27,315 ms | 27,861 ms |

No significant regression observed in AVM proving.

The 1.5% regression in ChonkBench is an acceptable tradeoff for the
improved debuggability and error detection that asserts provide in WASM
builds.

## Test Plan
- [x] WASM ChonkBench Full/2 and Full/5 benchmarks pass
- [x] AVM bulk proving test passes (`avm_bulk.test.ts`)
- [x] Native builds unaffected (NO_WASM macros expand to regular
asserts)
This removes some unnecessary wrappers around the inputs to some
blackbox functions
@johnathan79717 johnathan79717 added this pull request to the merge queue Jan 16, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 16, 2026
@johnathan79717 johnathan79717 added this pull request to the merge queue Jan 16, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 16, 2026
@AztecBot AztecBot added this pull request to the merge queue Jan 16, 2026
@AztecBot
Copy link
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 16, 2026
AztecBot and others added 2 commits January 16, 2026 20:51
Assert did not account for size_t = 32 bits in wasm and was overflowing
AztecBot and others added 12 commits January 16, 2026 22:08
Changes include:
- Introduce `apply_32_bit_range_constraint_via_lookup()` for efficient
32-bit range constraints
- Change `add_normalize` --> `add_normalize_unsafe` to highlight lack of
range constraint on output; add parameter `overflow_bits`
- Reduce certain divisor/overflow range constraints from 3 to 2 or 1 to
match max required for completeness
- Remove all AUDITTODOs, some of which were erroneous
- Adds bigfield audit scope (already audited)
- Adds logic module scope (to be audited with hash functions)
- Adds `goblin_field` and `biggroup_goblin` in circuit builder scope
- Deletes eccvm circuit/prover audit scope (included with eccvm core
audit or chonk verifier)
@AztecBot AztecBot added this pull request to the merge queue Jan 19, 2026
@AztecBot
Copy link
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

Merged via the queue into next with commit 5be53b6 Jan 19, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants