feat: merge-train/barretenberg#23137
Queued
AztecBot wants to merge 19 commits into
Queued
Conversation
Two cleanups in trace-to-polynomials land. Originally motivated by small perf wins but is attractive for the code simplification: **1. Simpler permutation polynomial construction.** The old code built a large intermediate table and walked it to produce the sigma/id polynomials. The new code writes those polynomials directly in three steps: identity init, cycle linkages, public-input update. **2. Each block has only the non-gate selectors plus (at most) one gate selector.** Previously every block declared all eight or nine possible gate selectors using the hacky `ZeroSelector`. `ZeroSelector` class is gone plus lots of simplification in the block classes.
Any commits made after this event will not be merged.
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
Adds safety mechanisms to protect against two currently unreachable cycle_group footguns: - In-circuit rejection of point-at-infinity operands in `cycle_group::_unconditional_add_or_subtract`: the `ecc_add_gate` is degenerate at (0, 0) and admits forged outputs. Replaces builder-only BB_ASSERT(!is_constant_point_at_infinity) with in-circuit is_point_at_infinity().assert_equal(false). No additional gates and no VK change for existing circuits. Unreachable from noir. - Clarify offset-generator collision-avoidance contract in MSM helpers: adds a BB_ASSERT(base_point != offset_generator) in `straus_lookup_table` to catch the (highly improbably) honest-dev mistake of these two coinciding (and makes it clear that they must not).
Integrates init/inner kernels that process up to 3 apps into the PXE --------- Co-authored-by: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com> Co-authored-by: AztecBot <tech@aztec-labs.com>
Any commits made after this event will not be merged.
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
## Summary - `acir_format::MemOp.index` and `MemOp.value` become plain `uint32_t` witness indices instead of `WitnessOrConstant<bb::fr>`. - The deserializer in `acir_to_constraint_buf.cpp` now asserts the Noir-side `Acir::Expression` is a single unscaled witness, matching what Noir actually emits (see `MemOp::read_at_mem_index` / `write_to_mem_index` in `acvm-repo/acir/src/circuit/opcodes/memory_operation.rs` — both take `Witness`, not `Expression`). - Drops the `add_constant_ops` helper and `perform_constant_ops` parameterization from ROM/RAM/CallData tests, since the path being exercised never came up in production. ## Test plan - [ ] `ninja dsl_tests` passes (note: my local build hits a pre-existing gtest cxx11-ABI link error; the affected `.cpp.o` objects compile cleanly) - [ ] CI green
After the multi app PR landed, there were conflicts in the private kernel execution prover. This PR resolves them. The conflicts came from this PR: 66d7308
Merge next into merge-train/barretenberg to resolve conflicts --------- Co-authored-by: Nicolas Chamo <nicolas@chamo.com.ar> Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: Maxim Vezenov <mvezenov@gmail.com> Co-authored-by: Aztec Bot <49558828+AztecBot@users.noreply.github.com> Co-authored-by: AztecBot <tech@aztec-labs.com> Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com> Co-authored-by: charlielye <5764343+charlielye@users.noreply.github.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Any commits made after this event will not be merged.
Any commits made after this event will not be merged.
Addressing the follow-on comments [here](https://github.com/Cyfrin/audit-2026-04-aztec-polynomial/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Report%20Status%3A%20Open%22).
Any commits made after this event will not be merged.
Any commits made after this event will not be merged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BEGIN_COMMIT_OVERRIDE
chore: circuit to polys cleanup (#23013)
chore: translator fixes (#22983)
chore: cycle group defense in depth (#23118)
chore: add a shplemini failure test (#23147)
feat: multi-app kernel circuits (#23076)
chore(dsl): require MemOp index and value to be witnesses (#23171)
chore: Fix merge-train conflicts (#23173)
chore: Merge next into merge-train/barretenberg (#23191)
fix: Fix conflicts next vs merge-train/barretenberg (#23194)
chore: poly audit followup (#23053)
chore: shrink msm test size while maintaining coverage (#23226)
END_COMMIT_OVERRIDE