chore: minor Gemini refactor to prep for opening k-shifts#11393
chore: minor Gemini refactor to prep for opening k-shifts#11393ledwards2225 merged 22 commits intomasterfrom
Conversation
| // Allocate space for the groups to be concatenated and for the concatenated polynomials | ||
| Polynomial batched_concatenated(n); | ||
| // If needed, allocate space for the groups to be concatenated and for the concatenated polynomials | ||
| Polynomial batched_concatenated; |
There was a problem hiding this comment.
avoid unnecessary allocation of batched_concatenated
| Polynomial&& batched_F, | ||
| Polynomial&& batched_G, | ||
| const Fr& r_challenge, | ||
| std::vector<Polynomial> batched_groups_to_be_concatenated) |
There was a problem hiding this comment.
The updated version of this calculation still only allocates 1 additional "scratch" polynomial but is much easier to read IMO
There was a problem hiding this comment.
should be
std::vector<Polynomial>& batched_groups_to_be_concatenated
right?
|
|
||
| for (auto& poly : pcs_instance_witness.to_be_shifted_polynomials) { | ||
| batched_unshifted.add_scaled(poly, rhos[idx]); | ||
| batched_to_be_shifted.add_scaled(poly, rhos[idx]); |
There was a problem hiding this comment.
I think this was just a bug/typo in the test
| // Compute the remaining m opening pairs {−r^{2ˡ}, Aₗ(−r^{2ˡ})}, l = 0, ..., m-1. | ||
| for (size_t l = 0; l < num_variables; ++l) { | ||
| evaluation = fold_polynomials[l + 1].evaluate(-r_squares[l]); | ||
| opening_claims.emplace_back(Claim{ fold_polynomials[l + 1], { -r_squares[l], evaluation } }); |
There was a problem hiding this comment.
This line was resulting in a copy of each fold polynomial. Requires std::move()
| for (size_t i = 0; i < num_chunks_per_group; ++i) { | ||
| batched_group.push_back(Polynomial(n)); | ||
| } | ||
| if (has_concatenations) { |
There was a problem hiding this comment.
maybe isolate to compute_batched_concatenated(...) method?
There was a problem hiding this comment.
and call it below when computing A_0
There was a problem hiding this comment.
yeah I agree the concat stuff should likely be handled there as well - I originally left it out because I know changes are coming there and I wasn't sure it would make life easier for Mara to mess with it. There is a follow on coming soon (likely today) - I'll handle it there
|
|
||
| // Compute evaluation of partially evaluated batch polynomial (positive) A₀₊(r) | ||
| Fr a_0_pos = A_0_pos.evaluate(r_challenge); | ||
| claims.emplace_back(Claim{ A_0_pos, { r_challenge, a_0_pos } }); |
There was a problem hiding this comment.
must be moved as well
| claims.emplace_back(Claim{ A_0_pos, { r_challenge, a_0_pos } }); | |
| claims.emplace_back(Claim{ std::move(A_0_pos), { r_challenge, a_0_pos } }); |
There was a problem hiding this comment.
yes, thanks. careless!
| claims.emplace_back(Claim{ A_0_pos, { r_challenge, a_0_pos } }); | ||
| // Compute evaluation of partially evaluated batch polynomial (negative) A₀₋(-r) | ||
| Fr a_0_neg = A_0_neg.evaluate(-r_challenge); | ||
| claims.emplace_back(Claim{ A_0_neg, { -r_challenge, a_0_neg } }); |
There was a problem hiding this comment.
as above
| claims.emplace_back(Claim{ A_0_neg, { -r_challenge, a_0_neg } }); | |
| claims.emplace_back(Claim{ std::move(A_0_neg), { -r_challenge, a_0_neg } }); |
iakovenkos
left a comment
There was a problem hiding this comment.
Looks good overall, thanks for making it more readable! spotted a couple of things to improve
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.72.0</summary> ## [0.72.0](aztec-package-v0.71.0...aztec-package-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](#11229)) ([79f810d](79f810d)) * Lazy wasm pt. 2 ([#11410](#11410)) ([01510f4](01510f4)) * Lazy wasm pt3 ([#11435](#11435)) ([7068d05](7068d05)) ### Bug Fixes * Init fee juice contract in sandbox ([#11379](#11379)) ([caab526](caab526)) * Use simulation to estimate gas used ([#11211](#11211)) ([63776f0](63776f0)) ### Miscellaneous * Trace propagation from json rpc client to server ([#11325](#11325)) ([85ccc15](85ccc15)) </details> <details><summary>barretenberg.js: 0.72.0</summary> ## [0.72.0](barretenberg.js-v0.71.0...barretenberg.js-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](#11229)) ([79f810d](79f810d)) * Lazy wasm pt.1 ([#11371](#11371)) ([864bc6f](864bc6f)) * Lazy wasm pt3 ([#11435](#11435)) ([7068d05](7068d05)) * UH recursion in the browser ([#11049](#11049)) ([c3c04a4](c3c04a4)) ### Bug Fixes * Lint ([#11389](#11389)) ([87b0dee](87b0dee)) </details> <details><summary>aztec-packages: 0.72.0</summary> ## [0.72.0](aztec-packages-v0.71.0...aztec-packages-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * **aztec.js:** remove field from aztec address like ([#11350](#11350)) * public logs ([#11091](#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](#11354)) ([5f3cffc](5f3cffc)) * **avm:** Bytecode manager changes ([#11347](#11347)) ([4a9c072](4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](#11360)) ([4d149be](4d149be)) * **avm:** Interactive debugger ([#11477](#11477)) ([53e57d3](53e57d3)) * Consensus layer in spartan ([#11105](#11105)) ([55dd03c](55dd03c)) * Eccvm sumcheck with commitments to round univariates ([#11206](#11206)) ([fe34b05](fe34b05)) * Gaztec ([#11229](#11229)) ([79f810d](79f810d)) * Lazy wasm pt. 2 ([#11410](#11410)) ([01510f4](01510f4)) * Lazy wasm pt.1 ([#11371](#11371)) ([864bc6f](864bc6f)) * Lazy wasm pt3 ([#11435](#11435)) ([7068d05](7068d05)) * **p2p:** Batch request response ([#11331](#11331)) ([13b379d](13b379d)) * **p2p:** Request response node sampling ([#11330](#11330)) ([6426d90](6426d90)) * **p2p:** Send goodbye messages on disconnecting to peers ([#10920](#10920)) ([046968f](046968f)) * **p2p:** Validator use batch requests ([#11332](#11332)) ([29f7ce4](29f7ce4)) * Packable trait + using it for public storage ([#11136](#11136)) ([e74ce15](e74ce15)) * Public logs ([#11091](#11091)) ([f4725d2](f4725d2)) * Re-exposing `compute_initialization_hash` ([#11423](#11423)) ([1ad2b70](1ad2b70)) * **reqresp:** Request l2 blocks ([#11337](#11337)) ([73a6698](73a6698)) * **spartan:** Extra acounts with cl config ([#11301](#11301)) ([13fed74](13fed74)) * UH recursion in the browser ([#11049](#11049)) ([c3c04a4](c3c04a4)) ### Bug Fixes * **aztec.js:** Remove field from aztec address like ([#11350](#11350)) ([26093f7](26093f7)) * **bootstrap:** Include crates in noir projects hashes ([#11344](#11344)) ([1075113](1075113)) * **bootstrap:** Include crates in noir projects hashes take 2 ([#11351](#11351)) ([1f36a04](1f36a04)) * Clarify sepolia GA secrets ([#11424](#11424)) ([cf3c911](cf3c911)) * **docs:** Downgrade docusaurus to v 3.6 ([#11386](#11386)) ([1e5d225](1e5d225)) * Don't publish a block if we failed to create the block proposal ([#11475](#11475)) ([f589c90](f589c90)) * Flakey e2e_pruned_blocks test ([#11431](#11431)) ([887b8ff](887b8ff)) * Hackily fix the public input columns of avm recursion constraint ([#11428](#11428)) ([436c3c6](436c3c6)) * Hardcode value in constants ([#11442](#11442)) ([dd0684a](dd0684a)) * Init fee juice contract in sandbox ([#11379](#11379)) ([caab526](caab526)) * Lint ([#11389](#11389)) ([87b0dee](87b0dee)) * Mnemonic needs quotes ([#11429](#11429)) ([de8dad4](de8dad4)) * Move eslint in circuits.js to dev deps ([#11340](#11340)) ([079a2c4](079a2c4)) * Network deployments ([#11463](#11463)) ([0804913](0804913)) * Pad base fee in aztec.js ([#11370](#11370)) ([d0e9a55](d0e9a55)) * Prevent PXE from making historical queries during note discovery ([#11406](#11406)) ([23000d4](23000d4)) * Publish aztec packages ([#11434](#11434)) ([d9bfd51](d9bfd51)) * Re-stage the git hook formatted files - doh ([#11430](#11430)) ([02e6529](02e6529)) * **readme:** Remove stale link ([#11333](#11333)) ([bfcd8a5](bfcd8a5)) * Spartan accounts ([#11321](#11321)) ([fa9c9ce](fa9c9ce)) * **spartan:** Beacon node networking policy ([#11484](#11484)) ([d5b9892](d5b9892)) * Stale selector comments ([#11311](#11311)) ([629bd64](629bd64)) * Txe partial note support ([#11414](#11414)) ([cd9cad9](cd9cad9)) * Update devbox ([#11339](#11339)) ([aca84ff](aca84ff)) * Use simulation to estimate gas used ([#11211](#11211)) ([63776f0](63776f0)) * Verify start state of a block ([#11290](#11290)) ([5eb3e8f](5eb3e8f)) * Version undefined does not exist for tree NULLIFIER_TREE ([#11421](#11421)) ([b1cb502](b1cb502)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](#11402)) ([f1fd2d1](f1fd2d1)) * Add OTEL_EXCLUDE_METRICS ([#11317](#11317)) ([37d4fa8](37d4fa8)) * **avm:** Do not use commit_sparse ([#11447](#11447)) ([9796e1e](9796e1e)) * **avm:** Remove some codegen bloat ([#11418](#11418)) ([6b0106c](6b0106c)) * **bootstrap:** Refine noir contracts rebuild pattern ([#11367](#11367)) ([90f5e8f](90f5e8f)) * Bump CRS and constants ([#11306](#11306)) ([9e5ea3a](9e5ea3a)) * **ci:** Set correct image version in aztec image docker releases ([#11334](#11334)) ([197db95](197db95)) * Dont install and run metrics stack on kind network smoke ([#11366](#11366)) ([f66db63](f66db63)) * Exclude system metrics from k8s deployments ([#11401](#11401)) ([31be5fb](31be5fb)) * Exp 2 with 128 validators ([#11483](#11483)) ([206ca8d](206ca8d)) * Fix devnet deploy ([#11387](#11387)) ([71d8ede](71d8ede)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](#11377)) ([5018c94](5018c94)) * Improving clarity of serialization in macros ([#11460](#11460)) ([7790973](7790973)) * Increase initial fee juice mint ([#11369](#11369)) ([bca7052](bca7052)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](#11393)) ([30a063a](30a063a)) * More granular error handling for toradixBE ([#11378](#11378)) ([64f4052](64f4052)), closes [#11295](#11295) * Nargo fmt pre-commit hook ([#11416](#11416)) ([6f2e2e0](6f2e2e0)) * Nuking redundant oracle ([#11368](#11368)) ([b32d9a1](b32d9a1)) * **p2p:** Disable flakey test ([#11380](#11380)) ([94012b5](94012b5)) * **p2p:** Reorganise reqresp handlers ([#11327](#11327)) ([f048acd](f048acd)) * Point to monorepo's nargo in vscode workspace settings ([#11349](#11349)) ([bb96e7c](bb96e7c)) * Print warning in builder when failure happens. ([#11205](#11205)) ([5a52e95](5a52e95)) * Public network with sepolia ([#11488](#11488)) ([80f5a46](80f5a46)) * Rc-2 release on Sepolia ([#11479](#11479)) ([bef7b0f](bef7b0f)) * Redo typo PR by Daulox92 ([#11458](#11458)) ([f3ba327](f3ba327)) * Redo typo PR by Dimitrolito ([#11413](#11413)) ([d4b7075](d4b7075)) * Redo typo PR by nnsW3 ([#11322](#11322)) ([de64823](de64823)) * Redo typo PR by offensif ([#11411](#11411)) ([a756578](a756578)) * Redo typo PR by savvar9991 ([#11412](#11412)) ([53ea3af](53ea3af)) * Redo typo PR by teenager-ETH ([#11320](#11320)) ([77854e2](77854e2)) * Redo typo PR by teenager-ETH ([#11450](#11450)) ([dd46152](dd46152)) * Reenable reqresp offline peers test ([#11384](#11384)) ([931dfa6](931dfa6)) * Renaming emit unencrypted -> emit public ([#11361](#11361)) ([c047a12](c047a12)) * Replace relative paths to noir-protocol-circuits ([6f644cd](6f644cd)) * Replace relative paths to noir-protocol-circuits ([fe24778](fe24778)) * Replace relative paths to noir-protocol-circuits ([fcdb409](fcdb409)) * Replace relative paths to noir-protocol-circuits ([ea43aed](ea43aed)) * Replace relative paths to noir-protocol-circuits ([7653c69](7653c69)) * Replace relative paths to noir-protocol-circuits ([204476e](204476e)) * Serialize trait impls for U128 following intrinsic Noir serialization ([#11142](#11142)) ([c5671d2](c5671d2)) * Slower exp2 ([#11487](#11487)) ([e995c0f](e995c0f)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](#11364)) ([bf3b12a](bf3b12a)) * **spartan:** Apply release fixes post cl ([#11385](#11385)) ([2bbf562](2bbf562)) * Stricter contributing rules ([#11462](#11462)) ([2535425](2535425)) * Temporarily disable boxes ([#11472](#11472)) ([f6c63fe](f6c63fe)) * Test starting multiple anvils allocates distinct ports ([#11314](#11314)) ([e385ea9](e385ea9)) * Trace propagation from json rpc client to server ([#11325](#11325)) ([85ccc15](85ccc15)) * Try fix e2e block building flake ([#11359](#11359)) ([38fbd5c](38fbd5c)) * Try fix flakey public processor test ([#11348](#11348)) ([8de55d4](8de55d4)) * Updated ethereum resource config ([#11485](#11485)) ([8788561](8788561)) </details> <details><summary>barretenberg: 0.72.0</summary> ## [0.72.0](barretenberg-v0.71.0...barretenberg-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * public logs ([#11091](#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](#11354)) ([5f3cffc](5f3cffc)) * **avm:** Bytecode manager changes ([#11347](#11347)) ([4a9c072](4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](#11360)) ([4d149be](4d149be)) * **avm:** Interactive debugger ([#11477](#11477)) ([53e57d3](53e57d3)) * Eccvm sumcheck with commitments to round univariates ([#11206](#11206)) ([fe34b05](fe34b05)) * Lazy wasm pt. 2 ([#11410](#11410)) ([01510f4](01510f4)) * Public logs ([#11091](#11091)) ([f4725d2](f4725d2)) * UH recursion in the browser ([#11049](#11049)) ([c3c04a4](c3c04a4)) ### Bug Fixes * Hackily fix the public input columns of avm recursion constraint ([#11428](#11428)) ([436c3c6](436c3c6)) * Verify start state of a block ([#11290](#11290)) ([5eb3e8f](5eb3e8f)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](#11402)) ([f1fd2d1](f1fd2d1)) * **avm:** Do not use commit_sparse ([#11447](#11447)) ([9796e1e](9796e1e)) * **avm:** Remove some codegen bloat ([#11418](#11418)) ([6b0106c](6b0106c)) * Bump CRS and constants ([#11306](#11306)) ([9e5ea3a](9e5ea3a)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](#11377)) ([5018c94](5018c94)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](#11393)) ([30a063a](30a063a)) * More granular error handling for toradixBE ([#11378](#11378)) ([64f4052](64f4052)), closes [#11295](#11295) * Print warning in builder when failure happens. ([#11205](#11205)) ([5a52e95](5a52e95)) * Redo typo PR by Daulox92 ([#11458](#11458)) ([f3ba327](f3ba327)) * Redo typo PR by teenager-ETH ([#11320](#11320)) ([77854e2](77854e2)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](#11364)) ([bf3b12a](bf3b12a)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@aztec-package-v0.71.0...aztec-package-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](AztecProtocol/aztec-packages#11229)) ([79f810d](AztecProtocol/aztec-packages@79f810d)) * Lazy wasm pt. 2 ([#11410](AztecProtocol/aztec-packages#11410)) ([01510f4](AztecProtocol/aztec-packages@01510f4)) * Lazy wasm pt3 ([#11435](AztecProtocol/aztec-packages#11435)) ([7068d05](AztecProtocol/aztec-packages@7068d05)) ### Bug Fixes * Init fee juice contract in sandbox ([#11379](AztecProtocol/aztec-packages#11379)) ([caab526](AztecProtocol/aztec-packages@caab526)) * Use simulation to estimate gas used ([#11211](AztecProtocol/aztec-packages#11211)) ([63776f0](AztecProtocol/aztec-packages@63776f0)) ### Miscellaneous * Trace propagation from json rpc client to server ([#11325](AztecProtocol/aztec-packages#11325)) ([85ccc15](AztecProtocol/aztec-packages@85ccc15)) </details> <details><summary>barretenberg.js: 0.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@barretenberg.js-v0.71.0...barretenberg.js-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](AztecProtocol/aztec-packages#11229)) ([79f810d](AztecProtocol/aztec-packages@79f810d)) * Lazy wasm pt.1 ([#11371](AztecProtocol/aztec-packages#11371)) ([864bc6f](AztecProtocol/aztec-packages@864bc6f)) * Lazy wasm pt3 ([#11435](AztecProtocol/aztec-packages#11435)) ([7068d05](AztecProtocol/aztec-packages@7068d05)) * UH recursion in the browser ([#11049](AztecProtocol/aztec-packages#11049)) ([c3c04a4](AztecProtocol/aztec-packages@c3c04a4)) ### Bug Fixes * Lint ([#11389](AztecProtocol/aztec-packages#11389)) ([87b0dee](AztecProtocol/aztec-packages@87b0dee)) </details> <details><summary>aztec-packages: 0.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@aztec-packages-v0.71.0...aztec-packages-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * **aztec.js:** remove field from aztec address like ([#11350](AztecProtocol/aztec-packages#11350)) * public logs ([#11091](AztecProtocol/aztec-packages#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](AztecProtocol/aztec-packages#11354)) ([5f3cffc](AztecProtocol/aztec-packages@5f3cffc)) * **avm:** Bytecode manager changes ([#11347](AztecProtocol/aztec-packages#11347)) ([4a9c072](AztecProtocol/aztec-packages@4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](AztecProtocol/aztec-packages#11360)) ([4d149be](AztecProtocol/aztec-packages@4d149be)) * **avm:** Interactive debugger ([#11477](AztecProtocol/aztec-packages#11477)) ([53e57d3](AztecProtocol/aztec-packages@53e57d3)) * Consensus layer in spartan ([#11105](AztecProtocol/aztec-packages#11105)) ([55dd03c](AztecProtocol/aztec-packages@55dd03c)) * Eccvm sumcheck with commitments to round univariates ([#11206](AztecProtocol/aztec-packages#11206)) ([fe34b05](AztecProtocol/aztec-packages@fe34b05)) * Gaztec ([#11229](AztecProtocol/aztec-packages#11229)) ([79f810d](AztecProtocol/aztec-packages@79f810d)) * Lazy wasm pt. 2 ([#11410](AztecProtocol/aztec-packages#11410)) ([01510f4](AztecProtocol/aztec-packages@01510f4)) * Lazy wasm pt.1 ([#11371](AztecProtocol/aztec-packages#11371)) ([864bc6f](AztecProtocol/aztec-packages@864bc6f)) * Lazy wasm pt3 ([#11435](AztecProtocol/aztec-packages#11435)) ([7068d05](AztecProtocol/aztec-packages@7068d05)) * **p2p:** Batch request response ([#11331](AztecProtocol/aztec-packages#11331)) ([13b379d](AztecProtocol/aztec-packages@13b379d)) * **p2p:** Request response node sampling ([#11330](AztecProtocol/aztec-packages#11330)) ([6426d90](AztecProtocol/aztec-packages@6426d90)) * **p2p:** Send goodbye messages on disconnecting to peers ([#10920](AztecProtocol/aztec-packages#10920)) ([046968f](AztecProtocol/aztec-packages@046968f)) * **p2p:** Validator use batch requests ([#11332](AztecProtocol/aztec-packages#11332)) ([29f7ce4](AztecProtocol/aztec-packages@29f7ce4)) * Packable trait + using it for public storage ([#11136](AztecProtocol/aztec-packages#11136)) ([e74ce15](AztecProtocol/aztec-packages@e74ce15)) * Public logs ([#11091](AztecProtocol/aztec-packages#11091)) ([f4725d2](AztecProtocol/aztec-packages@f4725d2)) * Re-exposing `compute_initialization_hash` ([#11423](AztecProtocol/aztec-packages#11423)) ([1ad2b70](AztecProtocol/aztec-packages@1ad2b70)) * **reqresp:** Request l2 blocks ([#11337](AztecProtocol/aztec-packages#11337)) ([73a6698](AztecProtocol/aztec-packages@73a6698)) * **spartan:** Extra acounts with cl config ([#11301](AztecProtocol/aztec-packages#11301)) ([13fed74](AztecProtocol/aztec-packages@13fed74)) * UH recursion in the browser ([#11049](AztecProtocol/aztec-packages#11049)) ([c3c04a4](AztecProtocol/aztec-packages@c3c04a4)) ### Bug Fixes * **aztec.js:** Remove field from aztec address like ([#11350](AztecProtocol/aztec-packages#11350)) ([26093f7](AztecProtocol/aztec-packages@26093f7)) * **bootstrap:** Include crates in noir projects hashes ([#11344](AztecProtocol/aztec-packages#11344)) ([1075113](AztecProtocol/aztec-packages@1075113)) * **bootstrap:** Include crates in noir projects hashes take 2 ([#11351](AztecProtocol/aztec-packages#11351)) ([1f36a04](AztecProtocol/aztec-packages@1f36a04)) * Clarify sepolia GA secrets ([#11424](AztecProtocol/aztec-packages#11424)) ([cf3c911](AztecProtocol/aztec-packages@cf3c911)) * **docs:** Downgrade docusaurus to v 3.6 ([#11386](AztecProtocol/aztec-packages#11386)) ([1e5d225](AztecProtocol/aztec-packages@1e5d225)) * Don't publish a block if we failed to create the block proposal ([#11475](AztecProtocol/aztec-packages#11475)) ([f589c90](AztecProtocol/aztec-packages@f589c90)) * Flakey e2e_pruned_blocks test ([#11431](AztecProtocol/aztec-packages#11431)) ([887b8ff](AztecProtocol/aztec-packages@887b8ff)) * Hackily fix the public input columns of avm recursion constraint ([#11428](AztecProtocol/aztec-packages#11428)) ([436c3c6](AztecProtocol/aztec-packages@436c3c6)) * Hardcode value in constants ([#11442](AztecProtocol/aztec-packages#11442)) ([dd0684a](AztecProtocol/aztec-packages@dd0684a)) * Init fee juice contract in sandbox ([#11379](AztecProtocol/aztec-packages#11379)) ([caab526](AztecProtocol/aztec-packages@caab526)) * Lint ([#11389](AztecProtocol/aztec-packages#11389)) ([87b0dee](AztecProtocol/aztec-packages@87b0dee)) * Mnemonic needs quotes ([#11429](AztecProtocol/aztec-packages#11429)) ([de8dad4](AztecProtocol/aztec-packages@de8dad4)) * Move eslint in circuits.js to dev deps ([#11340](AztecProtocol/aztec-packages#11340)) ([079a2c4](AztecProtocol/aztec-packages@079a2c4)) * Network deployments ([#11463](AztecProtocol/aztec-packages#11463)) ([0804913](AztecProtocol/aztec-packages@0804913)) * Pad base fee in aztec.js ([#11370](AztecProtocol/aztec-packages#11370)) ([d0e9a55](AztecProtocol/aztec-packages@d0e9a55)) * Prevent PXE from making historical queries during note discovery ([#11406](AztecProtocol/aztec-packages#11406)) ([23000d4](AztecProtocol/aztec-packages@23000d4)) * Publish aztec packages ([#11434](AztecProtocol/aztec-packages#11434)) ([d9bfd51](AztecProtocol/aztec-packages@d9bfd51)) * Re-stage the git hook formatted files - doh ([#11430](AztecProtocol/aztec-packages#11430)) ([02e6529](AztecProtocol/aztec-packages@02e6529)) * **readme:** Remove stale link ([#11333](AztecProtocol/aztec-packages#11333)) ([bfcd8a5](AztecProtocol/aztec-packages@bfcd8a5)) * Spartan accounts ([#11321](AztecProtocol/aztec-packages#11321)) ([fa9c9ce](AztecProtocol/aztec-packages@fa9c9ce)) * **spartan:** Beacon node networking policy ([#11484](AztecProtocol/aztec-packages#11484)) ([d5b9892](AztecProtocol/aztec-packages@d5b9892)) * Stale selector comments ([#11311](AztecProtocol/aztec-packages#11311)) ([629bd64](AztecProtocol/aztec-packages@629bd64)) * Txe partial note support ([#11414](AztecProtocol/aztec-packages#11414)) ([cd9cad9](AztecProtocol/aztec-packages@cd9cad9)) * Update devbox ([#11339](AztecProtocol/aztec-packages#11339)) ([aca84ff](AztecProtocol/aztec-packages@aca84ff)) * Use simulation to estimate gas used ([#11211](AztecProtocol/aztec-packages#11211)) ([63776f0](AztecProtocol/aztec-packages@63776f0)) * Verify start state of a block ([#11290](AztecProtocol/aztec-packages#11290)) ([5eb3e8f](AztecProtocol/aztec-packages@5eb3e8f)) * Version undefined does not exist for tree NULLIFIER_TREE ([#11421](AztecProtocol/aztec-packages#11421)) ([b1cb502](AztecProtocol/aztec-packages@b1cb502)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](AztecProtocol/aztec-packages#11402)) ([f1fd2d1](AztecProtocol/aztec-packages@f1fd2d1)) * Add OTEL_EXCLUDE_METRICS ([#11317](AztecProtocol/aztec-packages#11317)) ([37d4fa8](AztecProtocol/aztec-packages@37d4fa8)) * **avm:** Do not use commit_sparse ([#11447](AztecProtocol/aztec-packages#11447)) ([9796e1e](AztecProtocol/aztec-packages@9796e1e)) * **avm:** Remove some codegen bloat ([#11418](AztecProtocol/aztec-packages#11418)) ([6b0106c](AztecProtocol/aztec-packages@6b0106c)) * **bootstrap:** Refine noir contracts rebuild pattern ([#11367](AztecProtocol/aztec-packages#11367)) ([90f5e8f](AztecProtocol/aztec-packages@90f5e8f)) * Bump CRS and constants ([#11306](AztecProtocol/aztec-packages#11306)) ([9e5ea3a](AztecProtocol/aztec-packages@9e5ea3a)) * **ci:** Set correct image version in aztec image docker releases ([#11334](AztecProtocol/aztec-packages#11334)) ([197db95](AztecProtocol/aztec-packages@197db95)) * Dont install and run metrics stack on kind network smoke ([#11366](AztecProtocol/aztec-packages#11366)) ([f66db63](AztecProtocol/aztec-packages@f66db63)) * Exclude system metrics from k8s deployments ([#11401](AztecProtocol/aztec-packages#11401)) ([31be5fb](AztecProtocol/aztec-packages@31be5fb)) * Exp 2 with 128 validators ([#11483](AztecProtocol/aztec-packages#11483)) ([206ca8d](AztecProtocol/aztec-packages@206ca8d)) * Fix devnet deploy ([#11387](AztecProtocol/aztec-packages#11387)) ([71d8ede](AztecProtocol/aztec-packages@71d8ede)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](AztecProtocol/aztec-packages#11377)) ([5018c94](AztecProtocol/aztec-packages@5018c94)) * Improving clarity of serialization in macros ([#11460](AztecProtocol/aztec-packages#11460)) ([7790973](AztecProtocol/aztec-packages@7790973)) * Increase initial fee juice mint ([#11369](AztecProtocol/aztec-packages#11369)) ([bca7052](AztecProtocol/aztec-packages@bca7052)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](AztecProtocol/aztec-packages#11393)) ([30a063a](AztecProtocol/aztec-packages@30a063a)) * More granular error handling for toradixBE ([#11378](AztecProtocol/aztec-packages#11378)) ([64f4052](AztecProtocol/aztec-packages@64f4052)), closes [#11295](AztecProtocol/aztec-packages#11295) * Nargo fmt pre-commit hook ([#11416](AztecProtocol/aztec-packages#11416)) ([6f2e2e0](AztecProtocol/aztec-packages@6f2e2e0)) * Nuking redundant oracle ([#11368](AztecProtocol/aztec-packages#11368)) ([b32d9a1](AztecProtocol/aztec-packages@b32d9a1)) * **p2p:** Disable flakey test ([#11380](AztecProtocol/aztec-packages#11380)) ([94012b5](AztecProtocol/aztec-packages@94012b5)) * **p2p:** Reorganise reqresp handlers ([#11327](AztecProtocol/aztec-packages#11327)) ([f048acd](AztecProtocol/aztec-packages@f048acd)) * Point to monorepo's nargo in vscode workspace settings ([#11349](AztecProtocol/aztec-packages#11349)) ([bb96e7c](AztecProtocol/aztec-packages@bb96e7c)) * Print warning in builder when failure happens. ([#11205](AztecProtocol/aztec-packages#11205)) ([5a52e95](AztecProtocol/aztec-packages@5a52e95)) * Public network with sepolia ([#11488](AztecProtocol/aztec-packages#11488)) ([80f5a46](AztecProtocol/aztec-packages@80f5a46)) * Rc-2 release on Sepolia ([#11479](AztecProtocol/aztec-packages#11479)) ([bef7b0f](AztecProtocol/aztec-packages@bef7b0f)) * Redo typo PR by Daulox92 ([#11458](AztecProtocol/aztec-packages#11458)) ([f3ba327](AztecProtocol/aztec-packages@f3ba327)) * Redo typo PR by Dimitrolito ([#11413](AztecProtocol/aztec-packages#11413)) ([d4b7075](AztecProtocol/aztec-packages@d4b7075)) * Redo typo PR by nnsW3 ([#11322](AztecProtocol/aztec-packages#11322)) ([de64823](AztecProtocol/aztec-packages@de64823)) * Redo typo PR by offensif ([#11411](AztecProtocol/aztec-packages#11411)) ([a756578](AztecProtocol/aztec-packages@a756578)) * Redo typo PR by savvar9991 ([#11412](AztecProtocol/aztec-packages#11412)) ([53ea3af](AztecProtocol/aztec-packages@53ea3af)) * Redo typo PR by teenager-ETH ([#11320](AztecProtocol/aztec-packages#11320)) ([77854e2](AztecProtocol/aztec-packages@77854e2)) * Redo typo PR by teenager-ETH ([#11450](AztecProtocol/aztec-packages#11450)) ([dd46152](AztecProtocol/aztec-packages@dd46152)) * Reenable reqresp offline peers test ([#11384](AztecProtocol/aztec-packages#11384)) ([931dfa6](AztecProtocol/aztec-packages@931dfa6)) * Renaming emit unencrypted -> emit public ([#11361](AztecProtocol/aztec-packages#11361)) ([c047a12](AztecProtocol/aztec-packages@c047a12)) * Replace relative paths to noir-protocol-circuits ([6f644cd](AztecProtocol/aztec-packages@6f644cd)) * Replace relative paths to noir-protocol-circuits ([fe24778](AztecProtocol/aztec-packages@fe24778)) * Replace relative paths to noir-protocol-circuits ([fcdb409](AztecProtocol/aztec-packages@fcdb409)) * Replace relative paths to noir-protocol-circuits ([ea43aed](AztecProtocol/aztec-packages@ea43aed)) * Replace relative paths to noir-protocol-circuits ([7653c69](AztecProtocol/aztec-packages@7653c69)) * Replace relative paths to noir-protocol-circuits ([204476e](AztecProtocol/aztec-packages@204476e)) * Serialize trait impls for U128 following intrinsic Noir serialization ([#11142](AztecProtocol/aztec-packages#11142)) ([c5671d2](AztecProtocol/aztec-packages@c5671d2)) * Slower exp2 ([#11487](AztecProtocol/aztec-packages#11487)) ([e995c0f](AztecProtocol/aztec-packages@e995c0f)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](AztecProtocol/aztec-packages#11364)) ([bf3b12a](AztecProtocol/aztec-packages@bf3b12a)) * **spartan:** Apply release fixes post cl ([#11385](AztecProtocol/aztec-packages#11385)) ([2bbf562](AztecProtocol/aztec-packages@2bbf562)) * Stricter contributing rules ([#11462](AztecProtocol/aztec-packages#11462)) ([2535425](AztecProtocol/aztec-packages@2535425)) * Temporarily disable boxes ([#11472](AztecProtocol/aztec-packages#11472)) ([f6c63fe](AztecProtocol/aztec-packages@f6c63fe)) * Test starting multiple anvils allocates distinct ports ([#11314](AztecProtocol/aztec-packages#11314)) ([e385ea9](AztecProtocol/aztec-packages@e385ea9)) * Trace propagation from json rpc client to server ([#11325](AztecProtocol/aztec-packages#11325)) ([85ccc15](AztecProtocol/aztec-packages@85ccc15)) * Try fix e2e block building flake ([#11359](AztecProtocol/aztec-packages#11359)) ([38fbd5c](AztecProtocol/aztec-packages@38fbd5c)) * Try fix flakey public processor test ([#11348](AztecProtocol/aztec-packages#11348)) ([8de55d4](AztecProtocol/aztec-packages@8de55d4)) * Updated ethereum resource config ([#11485](AztecProtocol/aztec-packages#11485)) ([8788561](AztecProtocol/aztec-packages@8788561)) </details> <details><summary>barretenberg: 0.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@barretenberg-v0.71.0...barretenberg-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * public logs ([#11091](AztecProtocol/aztec-packages#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](AztecProtocol/aztec-packages#11354)) ([5f3cffc](AztecProtocol/aztec-packages@5f3cffc)) * **avm:** Bytecode manager changes ([#11347](AztecProtocol/aztec-packages#11347)) ([4a9c072](AztecProtocol/aztec-packages@4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](AztecProtocol/aztec-packages#11360)) ([4d149be](AztecProtocol/aztec-packages@4d149be)) * **avm:** Interactive debugger ([#11477](AztecProtocol/aztec-packages#11477)) ([53e57d3](AztecProtocol/aztec-packages@53e57d3)) * Eccvm sumcheck with commitments to round univariates ([#11206](AztecProtocol/aztec-packages#11206)) ([fe34b05](AztecProtocol/aztec-packages@fe34b05)) * Lazy wasm pt. 2 ([#11410](AztecProtocol/aztec-packages#11410)) ([01510f4](AztecProtocol/aztec-packages@01510f4)) * Public logs ([#11091](AztecProtocol/aztec-packages#11091)) ([f4725d2](AztecProtocol/aztec-packages@f4725d2)) * UH recursion in the browser ([#11049](AztecProtocol/aztec-packages#11049)) ([c3c04a4](AztecProtocol/aztec-packages@c3c04a4)) ### Bug Fixes * Hackily fix the public input columns of avm recursion constraint ([#11428](AztecProtocol/aztec-packages#11428)) ([436c3c6](AztecProtocol/aztec-packages@436c3c6)) * Verify start state of a block ([#11290](AztecProtocol/aztec-packages#11290)) ([5eb3e8f](AztecProtocol/aztec-packages@5eb3e8f)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](AztecProtocol/aztec-packages#11402)) ([f1fd2d1](AztecProtocol/aztec-packages@f1fd2d1)) * **avm:** Do not use commit_sparse ([#11447](AztecProtocol/aztec-packages#11447)) ([9796e1e](AztecProtocol/aztec-packages@9796e1e)) * **avm:** Remove some codegen bloat ([#11418](AztecProtocol/aztec-packages#11418)) ([6b0106c](AztecProtocol/aztec-packages@6b0106c)) * Bump CRS and constants ([#11306](AztecProtocol/aztec-packages#11306)) ([9e5ea3a](AztecProtocol/aztec-packages@9e5ea3a)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](AztecProtocol/aztec-packages#11377)) ([5018c94](AztecProtocol/aztec-packages@5018c94)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](AztecProtocol/aztec-packages#11393)) ([30a063a](AztecProtocol/aztec-packages@30a063a)) * More granular error handling for toradixBE ([#11378](AztecProtocol/aztec-packages#11378)) ([64f4052](AztecProtocol/aztec-packages@64f4052)), closes [#11295](AztecProtocol/aztec-packages#11295) * Print warning in builder when failure happens. ([#11205](AztecProtocol/aztec-packages#11205)) ([5a52e95](AztecProtocol/aztec-packages@5a52e95)) * Redo typo PR by Daulox92 ([#11458](AztecProtocol/aztec-packages#11458)) ([f3ba327](AztecProtocol/aztec-packages@f3ba327)) * Redo typo PR by teenager-ETH ([#11320](AztecProtocol/aztec-packages#11320)) ([77854e2](AztecProtocol/aztec-packages@77854e2)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](AztecProtocol/aztec-packages#11364)) ([bf3b12a](AztecProtocol/aztec-packages@bf3b12a)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
The first in a series of Gemini updates that will facilitate the addition of k-shifts and hopefully improve the code along the way.
Each method now has a single clear purpose and the storage of polynomials is general enough to accommodate opening a new set of polynomials. We make a distinction between the partially evaluated batch polynomials A₀₊(r), A₀₋(-r), and the d-1 "fold" polynomials Aₗ(−r^{2ˡ}), l = 1, ..., d-1. The former are constructed via
compute_partially_evaluated_batch_polynomialsand the latter throughcompute_fold_polynomials. Univariate opening claims for all d+1 polynomials are constructed throughconstruct_univariate_opening_claims. This makes each method clearer and avoids the need to store "F" and "G" in the first two slots of the oldfold_polynomials, a trick which no longer works once we have a 3rd polynomial type, i.e. F, G and H.