-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: minor Gemini refactor to prep for opening k-shifts #11393
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be
std::vector<Polynomial>& batched_groups_to_be_concatenated
right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, thanks
@@ -163,24 +163,29 @@ TYPED_TEST(ShpleminiTest, CorrectnessOfGeminiClaimBatching) | |||
} | |||
|
|||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this was just a bug/typo in the test
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for fixing it
// 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe isolate to compute_batched_concatenated(...) method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and call it below when computing A_0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 } }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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_polynomials
and 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.