-
Notifications
You must be signed in to change notification settings - Fork 324
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
feat: eccvm sumcheck with commitments to round univariates #11206
Conversation
…l/aztec-packages into si/fixing-eccvm-zk-sumcheck
…l/aztec-packages into si/fixing-eccvm-zk-sumcheck
@@ -65,8 +65,8 @@ void eccvm_prove(State& state) noexcept | |||
}; | |||
} | |||
|
|||
BENCHMARK(eccvm_generate_prover)->Unit(kMillisecond)->DenseRange(12, 18); | |||
BENCHMARK(eccvm_prove)->Unit(kMillisecond)->DenseRange(12, 18); | |||
BENCHMARK(eccvm_generate_prover)->Unit(kMillisecond)->DenseRange(12, CONST_ECCVM_LOG_N); |
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.
Was hitting an assert in ipa
@@ -306,17 +332,14 @@ template <typename Curve> class ShpleminiVerifier_ { | |||
// Add A₀(−r)/(z+r) to the constant term accumulator | |||
constant_term_accumulator += gemini_evaluations[0] * shplonk_batching_challenge * inverse_vanishing_evals[1]; | |||
|
|||
// Finalize the batch opening claim | |||
commitments.emplace_back(g1_identity); |
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.
now, these are populated at the very end
@@ -341,4 +393,119 @@ TYPED_TEST(ShpleminiTest, ShpleminiWithZK) | |||
} | |||
} | |||
|
|||
/** |
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.
Probably, we need more granular tests for all zk methods in Shplemini, but this one covers the situation we currently have in ECCVM
@@ -174,6 +174,28 @@ template <typename FF> struct RowDisablingPolynomial { | |||
|
|||
return FF{ 1 } - evaluation_at_multivariate_challenge; | |||
} | |||
/** |
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 should fix the issue with the tube vk not being const. Will test this in a follow-up
…l/aztec-packages into si/fixing-eccvm-zk-sumcheck
@@ -418,7 +419,9 @@ template <typename Curve> class SmallSubgroupIPAVerifier { | |||
|
|||
static constexpr size_t SUBGROUP_SIZE = Curve::SUBGROUP_SIZE; | |||
|
|||
static constexpr size_t LIBRA_UNIVARIATES_LENGTH = (std::is_same_v<Curve, curve::BN254>) ? 9 : 3; | |||
static constexpr size_t LIBRA_UNIVARIATES_LENGTH = |
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.
former condition led to a bug in the stdlib setting for bn254 - the length of the masking univariates in the recursive verifier would be set to 3; this led to consistency_checked = false, that however wasn't properly constrained by assert_equal. now it's fixed
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
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.
Over looks great - this is a big piece of work. I think this is a good example of a situation where just getting it working is a big step but getting it integrated in a clear sustainable way is a nontrivial task on its own. I left some comments about a few places I think the code can be improved. Let's discuss whether it makes sense to make changes in this PR or in a follow on. Either way I think we should handle some of this work before closing out this thread for now
barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp
Outdated
Show resolved
Hide resolved
|
||
std::shared_ptr<Transcript> transcript; | ||
SumcheckProverRound<Flavor> round; | ||
|
||
static constexpr bool IS_ECCVM = std::is_same_v<Flavor, ECCVMFlavor>; |
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.
Seems like this definition belongs with the other flavor based concepts, e.g. IsMega, hasDatabus etc, no?
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.
Added(resurrected?) IsGrumpkinFlavor concept, cause Grumpkin is the root cause for splitting the logic
@@ -271,6 +265,11 @@ template <typename Flavor> class SumcheckProver { | |||
ZKData& zk_sumcheck_data) | |||
requires Flavor::HasZK | |||
{ | |||
std::shared_ptr<CommitmentKey> ck = nullptr; | |||
|
|||
if constexpr (IS_ECCVM) { |
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.
All of the constexpr conditionals on IS_ECCVM in this method make me think that a specialization of the prove
method for the ECCVM flavor might be a better fit. I think that's going to result in much more readable code.
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, agree. I can refactor this in a follow-up, feels like too many changes for this PR. At the same time, SumcheckProver and Verifier classes seem to be quite stable now.
I imagine a single prove method with helpers specialized to !Flavor::HasZK, Flavor::HasZK && !IsGrumkinFlavor, IsGrumpkinFlavor. Also, some of the setup could be moved to the constructor, e.g. gate_challenges.
barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/commitment_schemes/utils/instance_witness_generator.hpp
Outdated
Show resolved
Hide resolved
* @param gate_challenges | ||
* @return SumcheckOutput<Flavor> | ||
*/ | ||
SumcheckOutput<Flavor> verify(const bb::RelationParameters<FF>& relation_parameters, |
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.
Ok right so you've already made a separate method for verify
so probably even more reason to do something similar for prove
. Above I suggested a specialization rather than a separate method entirely but I think either approach works
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.
replied above
@@ -88,7 +88,7 @@ bool AvmVerifier::verify_proof(const HonkProof& proof, const std::vector<std::ve | |||
SumcheckOutput<Flavor> output = sumcheck.verify(relation_parameters, alpha, gate_challenges); | |||
|
|||
// If Sumcheck did not verify, return false | |||
if (!output.verified.has_value() || !output.verified.value()) { |
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 @iakovenkos for having adapted the AVM templates.
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
@@ -24,7 +24,7 @@ template <typename Flavor> struct SumcheckOutput { | |||
ClaimedEvaluations claimed_evaluations; | |||
// Whether or not the evaluations of multilinear polynomials \f$ P_1, \ldots, P_N \f$ and final Sumcheck evaluation | |||
// have been confirmed | |||
std::optional<bool> verified = false; // optional b/c this struct is shared by the Prover/Verifier | |||
bool verified = false; |
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.
thank you for this!
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 great - thanks!
🤖 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).
Protocol outline