Skip to content

feat: merge-train/barretenberg#21835

Merged
AztecBot merged 8 commits intonextfrom
merge-train/barretenberg
Mar 20, 2026
Merged

feat: merge-train/barretenberg#21835
AztecBot merged 8 commits intonextfrom
merge-train/barretenberg

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Mar 20, 2026

BEGIN_COMMIT_OVERRIDE
chore!: dyadic circuit size constants update (#21762)
chore: minor pcs fixes (#21727)
fix: add canonical checks for fr/fq in U256Codec::deserialize_from_fields (#21811)
chore: update Chonk README and audit scopes for batched hiding+translator flow (#21695)
END_COMMIT_OVERRIDE

Updates two key constants:
`CONST_PROOF_SIZE_LOG_N = 28` --> `25` (Actual max allowed by SRS)
- Decreases "padding" for Ultra flavors, results in modest decrease in
gate counts for rollup circuits etc

`CONST_FOLDING_LOG_N = 21` --> `24`
- Increases max size of circuit that can be processed by Chonk.
Increases kernel sizes modestly. Could consider leaving at 22/23 with
the argument that 24 is obscenely large. (24 is the max allowed by the
SRS assuming batch-2 multiPCS)
iakovenkos and others added 7 commits March 20, 2026 12:23
fix minor issues discovered by claudebox
…elds (#21811)

## Summary

Reject non-canonical field elements (>= modulus) in
`U256Codec::deserialize_from_fields`.

- Split the `bb::fr`/`fq` deserialization from
`uint32_t`/`uint64_t`/`uint256_t` to add `BB_ASSERT_LT` canonical checks
- Matches existing behavior of `FrCodec` and the Solidity verifier
(`require(v < MODULUS)`)
- Added tests verifying acceptance of canonical values and rejection of
non-canonical values
…ator flow (#21695)

## Summary

Updates Chonk documentation to reflect the actual prover/verifier flow
with batched MegaZK + Translator sumcheck and PCS.

**Chonk README.md:**
- Rewrote Proof Structure section: old `mega_proof` + `GoblinProof` →
actual 5-segment structure (`hiding_oink_proof`, `merge_proof`,
`eccvm_proof`, `ipa_proof`, `joint_proof`)
- Rewrote Verification Architecture: old 4 pairing point sets with
`MegaZKVerifier::reduce_to_pairing_check` → actual
`BatchedHonkTranslatorVerifier` two-phase API with 3 pairing point sets
(PI, Merge, Batched PCS)
- Added Components subsection for Batched Honk + Translator with link to
its README
- Updated Zero-Knowledge section: separate MegaZK/Translator ZK → joint
ZK via joint Libra masking
- Updated Transcript Sharing, verification code snippets, and Appendix
references

**Audit scope files updates**


ClaudeBox log: https://claudebox.work/s/6cbc1f828c73c0be?run=1

---------

Co-authored-by: sergei iakovenko <105737703+iakovenkos@users.noreply.github.com>
Co-authored-by: iakovenkos <sergey.s.yakovenko@gmail.com>
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 Mar 20, 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 0e05235 Mar 20, 2026
17 of 21 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Mar 23, 2026
)

## Summary

Fixes the nightly barretenberg debug build that has been failing since
2026-03-20.

The `debug` CMake preset hardcoded `AVM_TRANSPILER_LIB` pointing to
`libavm_transpiler.a`, but the nightly debug CI job sets
`AVM_TRANSPILER=0` which skips building that library. When the build
cache expired (due to code changes in PR #21835), the fresh build failed
at link time because the `.a` file doesn't exist.

Removing `AVM_TRANSPILER_LIB` from the debug preset lets it inherit from
`default` (which doesn't set it), matching the CI's `AVM_TRANSPILER=0`
intent.

Full analysis:
https://gist.github.com/AztecBot/c76c930ef9446eda7a20616035b6e60a

## Test plan
- [x] Debug build compiles (1108 targets)
- [x] commitment_schemes_tests pass (88/88)
- [x] ultra_honk_tests, sumcheck_tests, honk_tests, hypernova_tests,
goblin_tests, flavor_tests all pass

ClaudeBox log: https://claudebox.work/s/5fc7d037bce53386?run=1
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.

4 participants