Skip to content
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: sumcheck with disabled rows #10068

Merged
merged 37 commits into from
Dec 17, 2024
Merged

Conversation

iakovenkos
Copy link
Contributor

@iakovenkos iakovenkos commented Nov 20, 2024

ZKFlavors are now running Sumcheck with last 4 rows disabled. To our knowledge, this is the cheapest approach to masking witness commitments, their evaluations, and, if necessary, the evaluations of their shifts at the sumcheck challenge.

  • The last rows of real circuits in ECCVM and Translator are becoming un-constrained. Will be fixed in the follow-up by re-defining the Lagrange last as in Mega

@iakovenkos iakovenkos changed the title draft: sumcheck with disabled rows feat: sumcheck with disabled rows Nov 21, 2024
@iakovenkos iakovenkos self-assigned this Nov 21, 2024
@iakovenkos iakovenkos force-pushed the si/sumcheck-with-disabled-rows branch from 0c1ef39 to 254e622 Compare November 21, 2024 16:15
@iakovenkos iakovenkos marked this pull request as ready for review November 21, 2024 16:31
@iakovenkos iakovenkos marked this pull request as draft November 25, 2024 09:23
@iakovenkos iakovenkos marked this pull request as ready for review November 25, 2024 10:38
@@ -11,31 +11,34 @@
#include "barretenberg/ultra_honk/ultra_prover.hpp"
#include "barretenberg/ultra_honk/ultra_verifier.hpp"

using namespace bb;
namespace {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now it's running with Mega and MegaZK

@iakovenkos iakovenkos added the crypto cryptography label Nov 26, 2024
@iakovenkos iakovenkos requested a review from maramihali December 3, 2024 10:43
@@ -24,7 +24,8 @@ template <IsUltraFlavor Flavor> size_t DeciderProvingKey_<Flavor>::compute_dyadi

// The number of gates is the maximum required by the lookup argument or everything else, plus an optional zero row
// to allow for shifts.
size_t total_num_gates = num_zero_rows + std::max(min_size_due_to_lookups, min_size_of_execution_trace);
size_t total_num_gates =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't you need to modify the structured dyadic size calculation as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was considering to use it only with UltraWithZK and MegaZK, and back then the hiding circuit didn't have structure settings. Should I include the masking offset in the structured case?


// Add some values to calldata

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't compile without this declaration

@@ -197,11 +197,17 @@ template <typename Flavor> class SumcheckProver {
std::vector<FF> multivariate_challenge;
multivariate_challenge.reserve(multivariate_d);
size_t round_idx = 0;
auto row_disabling_polynomial = RowDisablingPolynomial<FF>();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
auto row_disabling_polynomial = RowDisablingPolynomial<FF>();
RowDisablingPolynomial<FF> row_disabling_polynomial;

@@ -188,19 +190,75 @@ template <typename Flavor> class SumcheckProverRound {
}
// For ZK Flavors: The evaluations of the round univariates are masked by the evaluations of Libra univariates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this comment is stale

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expanded

*
*/
template <typename ProverPolynomialsOrPartiallyEvaluatedMultivariates>
SumcheckRoundUnivariate compute_disabled_contribution(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function is quite unreadable, I think ideally you would find a way to not have so many if cases and unify functionality which definitely seems possible. Also compute_univariate has become quite a complex function and I think the ZK functionality could be isolated in a better way. Let me know if you wanna discuss more about this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh thanks, made it more uniform

@@ -54,7 +54,7 @@ void construct_lookup_read_counts(typename Flavor::Polynomial& read_counts,
{
const size_t tables_size = circuit.get_tables_size();
// TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace
size_t table_offset = dyadic_circuit_size - tables_size;
size_t table_offset = dyadic_circuit_size - tables_size - MASKING_OFFSET;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's like that someone modifying the table_offset is not going to be exactly aware of this additional MASKING_OFFSET and all the places it has to be modified so I wonder if subtractions can be unified a bit.

size_t start_edge_idx = (round_idx == 0) ? round_size - 4 : round_size - 2;

for (size_t edge_idx = start_edge_idx; edge_idx < round_size; edge_idx += 2) {
info(edge_idx);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stale info

gate_sparators[(edge_idx >> 1) * gate_sparators.periodicity]);
}
result = batch_over_relations<SumcheckRoundUnivariate>(univariate_accumulator, alpha, gate_sparators);
auto row_disabling_factor =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bb::Univariate<FF, 2> row_disabling_factor>({ row_disabling_polynomial.eval_at_0, row_disabling_polynomial.eval_at_1 });

and add typ of row_disabling_factor_extended


RowDisablingPolynomial() = default;

void update_evaluations(FF round_challenge, size_t round_idx)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add function docs please for this and below

@iakovenkos iakovenkos merged commit abd2226 into master Dec 17, 2024
77 checks passed
@iakovenkos iakovenkos deleted the si/sumcheck-with-disabled-rows branch December 17, 2024 09:43
ludamad pushed a commit that referenced this pull request Dec 17, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.67.1</summary>

##
[0.67.1](aztec-package-v0.67.0...aztec-package-v0.67.1)
(2024-12-17)


### Miscellaneous

* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
</details>

<details><summary>barretenberg.js: 0.67.1</summary>

##
[0.67.1](barretenberg.js-v0.67.0...barretenberg.js-v0.67.1)
(2024-12-17)


### Features

* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))


### Bug Fixes

* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
</details>

<details><summary>aztec-packages: 0.67.1</summary>

##
[0.67.1](aztec-packages-v0.67.0...aztec-packages-v0.67.1)
(2024-12-17)


### Features

* `nargo test -q` (or `nargo test --format terse`)
(noir-lang/noir#6776)
([8956e28](8956e28))
* Add `(x | 1)` optimization for booleans
(noir-lang/noir#6795)
([8956e28](8956e28))
* Add `nargo test --format json`
(noir-lang/noir#6796)
([d74d0fc](d74d0fc))
* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* **avm:** Migrate simulator memory to a map
([#10715](#10715))
([64d5f2b](64d5f2b)),
closes
[#10370](#10370)
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Blobs 2.
([#10188](#10188))
([d0a4b2f](d0a4b2f))
* **blobs:** Add consensus client url to config
([#10059](#10059))
([1e15bf5](1e15bf5))
* Check max fees per gas
([#10283](#10283))
([4e59b06](4e59b06))
* **cli:** Verify `return` against ABI and `Prover.toml`
(noir-lang/noir#6765)
([8956e28](8956e28))
* Json output for get_node_info
([#10771](#10771))
([b086c52](b086c52))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* **p2p:** Activate gossipsub tx validators
([#10695](#10695))
([9cce2c6](9cce2c6))
* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))
* **ssa:** Bring back tracking of RC instructions during DIE
(noir-lang/noir#6783)
([308c5ce](308c5ce))
* **ssa:** Hoist MakeArray instructions during loop invariant code
motion (noir-lang/noir#6782)
([8956e28](8956e28))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))
* TXE detects duplicate nullifiers
([#10764](#10764))
([7f70110](7f70110))


### Bug Fixes

* Always remove nullified notes
([#10722](#10722))
([5e4b46d](5e4b46d))
* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Cache
([#10692](#10692))
([1b1306c](1b1306c))
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
* **ci:** Network-test timing
([#10725](#10725))
([9c9a2dc](9c9a2dc))
* Disable failure persistance in nargo test fuzzing
(noir-lang/noir#6777)
([8956e28](8956e28))
* Get e2e jobs
([#10689](#10689))
([37e1999](37e1999))
* Give build:fast a try in build
([#10702](#10702))
([32095f6](32095f6))
* Minimal change to avoid reverting entire PR
[#6685](#6685)
(noir-lang/noir#6778)
([8956e28](8956e28))
* Optimizer to keep track of changing opcode locations
(noir-lang/noir#6781)
([8956e28](8956e28))
* Race condition in block stream
([#10779](#10779))
([64bccd0](64bccd0))
* Race condition when cleaning epoch proof quotes
([#10795](#10795))
([f540fbe](f540fbe))
* **testdata:** Relative path calculation
([#10791](#10791))
([5a530db](5a530db))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))
* Use extension in docs link so it also works on GitHub
(noir-lang/noir#6787)
([8956e28](8956e28))
* Use throw instead of reject in broker facade
([#10735](#10735))
([cc6a72b](cc6a72b))


### Miscellaneous

* `getLogsByTags` request batching in `syncTaggedLogs`
([#10716](#10716))
([bbbf38b](bbbf38b))
* Add `Instruction::map_values_mut`
(noir-lang/noir#6756)
([308c5ce](308c5ce))
* Add errors to abis
([#10697](#10697))
([5c8e017](5c8e017))
* Add retries for prover node p2p test
([#10699](#10699))
([4115bf9](4115bf9))
* Add spans to proving job
([#10794](#10794))
([df3c51b](df3c51b))
* **avm:** Disable fake avm recursive verifier from the public base
rollup
([#10690](#10690))
([b6c9c41](b6c9c41))
* Better reqresp logging + handle empty responses in snappy
([#10657](#10657))
([934107f](934107f))
* Bump metrics and node pool
([#10745](#10745))
([9bb88bf](9bb88bf))
* Change Id to use a u32 (noir-lang/noir#6807)
([d74d0fc](d74d0fc))
* **ci:** Active rollup circuits in compilation report
(noir-lang/noir#6813)
([308c5ce](308c5ce))
* **ci:** Add bloblib to external checks
(noir-lang/noir#6818)
([381b0b8](381b0b8))
* Cleanup after e2e tests
([#10748](#10748))
([284b0a4](284b0a4))
* Disable ARM CI
([#10682](#10682))
([b16945b](b16945b))
* Do not print entire functions when running debug trace
(noir-lang/noir#6814)
([308c5ce](308c5ce))
* **docs:** Workaround (noir-lang/noir#6819)
([381b0b8](381b0b8))
* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Hot fixes
([4e00dc4](4e00dc4))
* Log error in retry module
([#10719](#10719))
([84ea539](84ea539))
* Manage call stacks using a tree
(noir-lang/noir#6791)
([381b0b8](381b0b8))
* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
* **p2p:** Move services into folders
([#10694](#10694))
([e28d12a](e28d12a))
* **prover:** Prover node should not gossip attestations
([#10672](#10672))
([41fc0f0](41fc0f0))
* Remove default export for noir contracts js
([#10762](#10762))
([c8e7763](c8e7763))
* Remove sinon in favor of a date provider
([#10705](#10705))
([3d3fabb](3d3fabb))
* Remove spurious echo
([#10774](#10774))
([5538f8c](5538f8c))
* Replace relative paths to noir-protocol-circuits
([f85fa3f](f85fa3f))
* Replace relative paths to noir-protocol-circuits
([b19c561](b19c561))
* Set max txs in spam test
([#10717](#10717))
([a50ff6c](a50ff6c))
* Slack notifications for networks
([#10784](#10784))
([bab9f85](bab9f85))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* **ssa:** Activate loop invariant code motion on ACIR functions
(noir-lang/noir#6785)
([8956e28](8956e28))
* Sync grafana dashboard
([#10792](#10792))
([421fb65](421fb65))
* Tagging cleanup
([#10675](#10675))
([52b541a](52b541a))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
* Update external joiner script for new networks
([#10810](#10810))
([5f11cf4](5f11cf4))
</details>

<details><summary>barretenberg: 0.67.1</summary>

##
[0.67.1](barretenberg-v0.67.0...barretenberg-v0.67.1)
(2024-12-17)


### Features

* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))


### Bug Fixes

* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))


### Miscellaneous

* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
ludamad pushed a commit that referenced this pull request Dec 18, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.67.1</summary>

##
[0.67.1](aztec-package-v0.67.0...aztec-package-v0.67.1)
(2024-12-17)


### Miscellaneous

* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
</details>

<details><summary>barretenberg.js: 0.67.1</summary>

##
[0.67.1](barretenberg.js-v0.67.0...barretenberg.js-v0.67.1)
(2024-12-17)


### Features

* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))


### Bug Fixes

* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
</details>

<details><summary>aztec-packages: 0.67.1</summary>

##
[0.67.1](aztec-packages-v0.67.0...aztec-packages-v0.67.1)
(2024-12-17)


### Features

* `nargo test -q` (or `nargo test --format terse`)
(noir-lang/noir#6776)
([8956e28](8956e28))
* Add `(x | 1)` optimization for booleans
(noir-lang/noir#6795)
([8956e28](8956e28))
* Add `nargo test --format json`
(noir-lang/noir#6796)
([d74d0fc](d74d0fc))
* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* **avm:** Migrate simulator memory to a map
([#10715](#10715))
([64d5f2b](64d5f2b)),
closes
[#10370](#10370)
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Blobs 2.
([#10188](#10188))
([d0a4b2f](d0a4b2f))
* **blobs:** Add consensus client url to config
([#10059](#10059))
([1e15bf5](1e15bf5))
* Check max fees per gas
([#10283](#10283))
([4e59b06](4e59b06))
* **cli:** Verify `return` against ABI and `Prover.toml`
(noir-lang/noir#6765)
([8956e28](8956e28))
* Don't store every block number in block indices DB
([#10658](#10658))
([a3fba84](a3fba84))
* Json output for get_node_info
([#10771](#10771))
([b086c52](b086c52))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* **p2p:** Activate gossipsub tx validators
([#10695](#10695))
([9cce2c6](9cce2c6))
* **p2p:** Attestation pool persistence
([#10667](#10667))
([dacef9f](dacef9f))
* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))
* **ssa:** Bring back tracking of RC instructions during DIE
(noir-lang/noir#6783)
([308c5ce](308c5ce))
* **ssa:** Hoist MakeArray instructions during loop invariant code
motion (noir-lang/noir#6782)
([8956e28](8956e28))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))
* TXE detects duplicate nullifiers
([#10764](#10764))
([7f70110](7f70110))


### Bug Fixes

* Always remove nullified notes
([#10722](#10722))
([5e4b46d](5e4b46d))
* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](#10731))
([b8bdb52](b8bdb52))
* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Block building test timeout
([#10812](#10812))
([2cad3e5](2cad3e5))
* Cache
([#10692](#10692))
([1b1306c](1b1306c))
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
* **ci:** Network-test timing
([#10725](#10725))
([9c9a2dc](9c9a2dc))
* Disable failure persistance in nargo test fuzzing
(noir-lang/noir#6777)
([8956e28](8956e28))
* Get e2e jobs
([#10689](#10689))
([37e1999](37e1999))
* Give build:fast a try in build
([#10702](#10702))
([32095f6](32095f6))
* Minimal change to avoid reverting entire PR
[#6685](#6685)
(noir-lang/noir#6778)
([8956e28](8956e28))
* Optimizer to keep track of changing opcode locations
(noir-lang/noir#6781)
([8956e28](8956e28))
* Race condition in block stream
([#10779](#10779))
([64bccd0](64bccd0))
* Race condition when cleaning epoch proof quotes
([#10795](#10795))
([f540fbe](f540fbe))
* **testdata:** Relative path calculation
([#10791](#10791))
([5a530db](5a530db))
* Try fix e2e epochs in CI
([#10804](#10804))
([ba28788](ba28788))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))
* Use extension in docs link so it also works on GitHub
(noir-lang/noir#6787)
([8956e28](8956e28))
* Use throw instead of reject in broker facade
([#10735](#10735))
([cc6a72b](cc6a72b))


### Miscellaneous

* `getLogsByTags` request batching in `syncTaggedLogs`
([#10716](#10716))
([bbbf38b](bbbf38b))
* Add `Instruction::map_values_mut`
(noir-lang/noir#6756)
([308c5ce](308c5ce))
* Add errors to abis
([#10697](#10697))
([5c8e017](5c8e017))
* Add retries for prover node p2p test
([#10699](#10699))
([4115bf9](4115bf9))
* Add spans to proving job
([#10794](#10794))
([df3c51b](df3c51b))
* Average alerts across namespace for 1 hour
([#10827](#10827))
([962a7a2](962a7a2))
* **avm:** Disable fake avm recursive verifier from the public base
rollup
([#10690](#10690))
([b6c9c41](b6c9c41))
* **avm:** Radix opcode - remove immediates
([#10696](#10696))
([4ac13e6](4ac13e6)),
closes
[#10371](#10371)
* Better reqresp logging + handle empty responses in snappy
([#10657](#10657))
([934107f](934107f))
* Bump metrics and node pool
([#10745](#10745))
([9bb88bf](9bb88bf))
* Change Id to use a u32 (noir-lang/noir#6807)
([d74d0fc](d74d0fc))
* **ci:** Active rollup circuits in compilation report
(noir-lang/noir#6813)
([308c5ce](308c5ce))
* **ci:** Add bloblib to external checks
(noir-lang/noir#6818)
([381b0b8](381b0b8))
* Cleanup after e2e tests
([#10748](#10748))
([284b0a4](284b0a4))
* Disable ARM CI
([#10682](#10682))
([b16945b](b16945b))
* Do not print entire functions when running debug trace
(noir-lang/noir#6814)
([308c5ce](308c5ce))
* **docs:** Update migration notes
([#10829](#10829))
([be7cadf](be7cadf))
* **docs:** Workaround (noir-lang/noir#6819)
([381b0b8](381b0b8))
* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Log error in retry module
([#10719](#10719))
([84ea539](84ea539))
* Manage call stacks using a tree
(noir-lang/noir#6791)
([381b0b8](381b0b8))
* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
* **p2p:** Move services into folders
([#10694](#10694))
([e28d12a](e28d12a))
* **prover:** Prover node should not gossip attestations
([#10672](#10672))
([41fc0f0](41fc0f0))
* Remove default export for noir contracts js
([#10762](#10762))
([c8e7763](c8e7763))
* Remove sinon in favor of a date provider
([#10705](#10705))
([3d3fabb](3d3fabb))
* Remove spurious echo
([#10774](#10774))
([5538f8c](5538f8c))
* Replace relative paths to noir-protocol-circuits
([f85fa3f](f85fa3f))
* Replace relative paths to noir-protocol-circuits
([b19c561](b19c561))
* Set max txs in spam test
([#10717](#10717))
([a50ff6c](a50ff6c))
* Slack notifications for networks
([#10784](#10784))
([bab9f85](bab9f85))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* **ssa:** Activate loop invariant code motion on ACIR functions
(noir-lang/noir#6785)
([8956e28](8956e28))
* Sync grafana dashboard
([#10792](#10792))
([421fb65](421fb65))
* Tagging cleanup
([#10675](#10675))
([52b541a](52b541a))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
* Update external joiner script for new networks
([#10810](#10810))
([5f11cf4](5f11cf4))
</details>

<details><summary>barretenberg: 0.67.1</summary>

##
[0.67.1](barretenberg-v0.67.0...barretenberg-v0.67.1)
(2024-12-17)


### Features

* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Don't store every block number in block indices DB
([#10658](#10658))
([a3fba84](a3fba84))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))


### Bug Fixes

* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](#10731))
([b8bdb52](b8bdb52))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))


### Miscellaneous

* **avm:** Radix opcode - remove immediates
([#10696](#10696))
([4ac13e6](4ac13e6)),
closes
[#10371](#10371)
* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Dec 18, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.67.1</summary>

##
[0.67.1](AztecProtocol/aztec-packages@aztec-package-v0.67.0...aztec-package-v0.67.1)
(2024-12-17)


### Miscellaneous

* Granular CLI imports to reduce start time
([#10778](AztecProtocol/aztec-packages#10778))
([e2fd046](AztecProtocol/aztec-packages@e2fd046))
* Split up protocol contract artifacts
([#10765](AztecProtocol/aztec-packages#10765))
([5a9ca18](AztecProtocol/aztec-packages@5a9ca18))
* Trace and handle errors in running promises
([#10645](AztecProtocol/aztec-packages#10645))
([4cc0a6d](AztecProtocol/aztec-packages@4cc0a6d))
</details>

<details><summary>barretenberg.js: 0.67.1</summary>

##
[0.67.1](AztecProtocol/aztec-packages@barretenberg.js-v0.67.0...barretenberg.js-v0.67.1)
(2024-12-17)


### Features

* PXE browser proving
([#10704](AztecProtocol/aztec-packages#10704))
([46da3cc](AztecProtocol/aztec-packages@46da3cc))


### Bug Fixes

* **bb.js:** Use globalThis instead of self
([#10747](AztecProtocol/aztec-packages#10747))
([309b5f7](AztecProtocol/aztec-packages@309b5f7)),
closes
[#10741](AztecProtocol/aztec-packages#10741)
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](AztecProtocol/aztec-packages#10769))
([6a5bcfd](AztecProtocol/aztec-packages@6a5bcfd))
</details>

<details><summary>aztec-packages: 0.67.1</summary>

##
[0.67.1](AztecProtocol/aztec-packages@aztec-packages-v0.67.0...aztec-packages-v0.67.1)
(2024-12-17)


### Features

* `nargo test -q` (or `nargo test --format terse`)
(noir-lang/noir#6776)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Add `(x | 1)` optimization for booleans
(noir-lang/noir#6795)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Add `nargo test --format json`
(noir-lang/noir#6796)
([d74d0fc](AztecProtocol/aztec-packages@d74d0fc))
* Add tree equality assertions
([#10756](AztecProtocol/aztec-packages#10756))
([923826a](AztecProtocol/aztec-packages@923826a))
* **avm:** Migrate simulator memory to a map
([#10715](AztecProtocol/aztec-packages#10715))
([64d5f2b](AztecProtocol/aztec-packages@64d5f2b)),
closes
[#10370](AztecProtocol/aztec-packages#10370)
* Better initialization for permutation mapping components
([#10750](AztecProtocol/aztec-packages#10750))
([1516d7f](AztecProtocol/aztec-packages@1516d7f))
* Blobs 2.
([#10188](AztecProtocol/aztec-packages#10188))
([d0a4b2f](AztecProtocol/aztec-packages@d0a4b2f))
* **blobs:** Add consensus client url to config
([#10059](AztecProtocol/aztec-packages#10059))
([1e15bf5](AztecProtocol/aztec-packages@1e15bf5))
* Check max fees per gas
([#10283](AztecProtocol/aztec-packages#10283))
([4e59b06](AztecProtocol/aztec-packages@4e59b06))
* **cli:** Verify `return` against ABI and `Prover.toml`
(noir-lang/noir#6765)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Don't store every block number in block indices DB
([#10658](AztecProtocol/aztec-packages#10658))
([a3fba84](AztecProtocol/aztec-packages@a3fba84))
* Json output for get_node_info
([#10771](AztecProtocol/aztec-packages#10771))
([b086c52](AztecProtocol/aztec-packages@b086c52))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](AztecProtocol/aztec-packages#10649))
([a437e73](AztecProtocol/aztec-packages@a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](AztecProtocol/aztec-packages#10777))
([9fbcff6](AztecProtocol/aztec-packages@9fbcff6))
* Note hash management in the AVM
([#10666](AztecProtocol/aztec-packages#10666))
([e077980](AztecProtocol/aztec-packages@e077980))
* **p2p:** Activate gossipsub tx validators
([#10695](AztecProtocol/aztec-packages#10695))
([9cce2c6](AztecProtocol/aztec-packages@9cce2c6))
* **p2p:** Attestation pool persistence
([#10667](AztecProtocol/aztec-packages#10667))
([dacef9f](AztecProtocol/aztec-packages@dacef9f))
* PXE browser proving
([#10704](AztecProtocol/aztec-packages#10704))
([46da3cc](AztecProtocol/aztec-packages@46da3cc))
* **ssa:** Bring back tracking of RC instructions during DIE
(noir-lang/noir#6783)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* **ssa:** Hoist MakeArray instructions during loop invariant code
motion (noir-lang/noir#6782)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Sumcheck with disabled rows
([#10068](AztecProtocol/aztec-packages#10068))
([abd2226](AztecProtocol/aztec-packages@abd2226))
* TXE detects duplicate nullifiers
([#10764](AztecProtocol/aztec-packages#10764))
([7f70110](AztecProtocol/aztec-packages@7f70110))


### Bug Fixes

* Always remove nullified notes
([#10722](AztecProtocol/aztec-packages#10722))
([5e4b46d](AztecProtocol/aztec-packages@5e4b46d))
* Avm gas and non-member
([#10709](AztecProtocol/aztec-packages#10709))
([dd8cc7b](AztecProtocol/aztec-packages@dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](AztecProtocol/aztec-packages#10731))
([b8bdb52](AztecProtocol/aztec-packages@b8bdb52))
* **bb.js:** Use globalThis instead of self
([#10747](AztecProtocol/aztec-packages#10747))
([309b5f7](AztecProtocol/aztec-packages@309b5f7)),
closes
[#10741](AztecProtocol/aztec-packages#10741)
* Block building test timeout
([#10812](AztecProtocol/aztec-packages#10812))
([2cad3e5](AztecProtocol/aztec-packages@2cad3e5))
* Cache
([#10692](AztecProtocol/aztec-packages#10692))
([1b1306c](AztecProtocol/aztec-packages@1b1306c))
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](AztecProtocol/aztec-packages#10769))
([6a5bcfd](AztecProtocol/aztec-packages@6a5bcfd))
* **ci:** Network-test timing
([#10725](AztecProtocol/aztec-packages#10725))
([9c9a2dc](AztecProtocol/aztec-packages@9c9a2dc))
* Disable failure persistance in nargo test fuzzing
(noir-lang/noir#6777)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Get e2e jobs
([#10689](AztecProtocol/aztec-packages#10689))
([37e1999](AztecProtocol/aztec-packages@37e1999))
* Give build:fast a try in build
([#10702](AztecProtocol/aztec-packages#10702))
([32095f6](AztecProtocol/aztec-packages@32095f6))
* Minimal change to avoid reverting entire PR
[#6685](AztecProtocol/aztec-packages#6685)
(noir-lang/noir#6778)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Optimizer to keep track of changing opcode locations
(noir-lang/noir#6781)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Race condition in block stream
([#10779](AztecProtocol/aztec-packages#10779))
([64bccd0](AztecProtocol/aztec-packages@64bccd0))
* Race condition when cleaning epoch proof quotes
([#10795](AztecProtocol/aztec-packages#10795))
([f540fbe](AztecProtocol/aztec-packages@f540fbe))
* **testdata:** Relative path calculation
([#10791](AztecProtocol/aztec-packages#10791))
([5a530db](AztecProtocol/aztec-packages@5a530db))
* Try fix e2e epochs in CI
([#10804](AztecProtocol/aztec-packages#10804))
([ba28788](AztecProtocol/aztec-packages@ba28788))
* Use correct size for databus_id
([#10673](AztecProtocol/aztec-packages#10673))
([95eb658](AztecProtocol/aztec-packages@95eb658))
* Use extension in docs link so it also works on GitHub
(noir-lang/noir#6787)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Use throw instead of reject in broker facade
([#10735](AztecProtocol/aztec-packages#10735))
([cc6a72b](AztecProtocol/aztec-packages@cc6a72b))


### Miscellaneous

* `getLogsByTags` request batching in `syncTaggedLogs`
([#10716](AztecProtocol/aztec-packages#10716))
([bbbf38b](AztecProtocol/aztec-packages@bbbf38b))
* Add `Instruction::map_values_mut`
(noir-lang/noir#6756)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* Add errors to abis
([#10697](AztecProtocol/aztec-packages#10697))
([5c8e017](AztecProtocol/aztec-packages@5c8e017))
* Add retries for prover node p2p test
([#10699](AztecProtocol/aztec-packages#10699))
([4115bf9](AztecProtocol/aztec-packages@4115bf9))
* Add spans to proving job
([#10794](AztecProtocol/aztec-packages#10794))
([df3c51b](AztecProtocol/aztec-packages@df3c51b))
* Average alerts across namespace for 1 hour
([#10827](AztecProtocol/aztec-packages#10827))
([962a7a2](AztecProtocol/aztec-packages@962a7a2))
* **avm:** Disable fake avm recursive verifier from the public base
rollup
([#10690](AztecProtocol/aztec-packages#10690))
([b6c9c41](AztecProtocol/aztec-packages@b6c9c41))
* **avm:** Radix opcode - remove immediates
([#10696](AztecProtocol/aztec-packages#10696))
([4ac13e6](AztecProtocol/aztec-packages@4ac13e6)),
closes
[#10371](AztecProtocol/aztec-packages#10371)
* Better reqresp logging + handle empty responses in snappy
([#10657](AztecProtocol/aztec-packages#10657))
([934107f](AztecProtocol/aztec-packages@934107f))
* Bump metrics and node pool
([#10745](AztecProtocol/aztec-packages#10745))
([9bb88bf](AztecProtocol/aztec-packages@9bb88bf))
* Change Id to use a u32 (noir-lang/noir#6807)
([d74d0fc](AztecProtocol/aztec-packages@d74d0fc))
* **ci:** Active rollup circuits in compilation report
(noir-lang/noir#6813)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* **ci:** Add bloblib to external checks
(noir-lang/noir#6818)
([381b0b8](AztecProtocol/aztec-packages@381b0b8))
* Cleanup after e2e tests
([#10748](AztecProtocol/aztec-packages#10748))
([284b0a4](AztecProtocol/aztec-packages@284b0a4))
* Disable ARM CI
([#10682](AztecProtocol/aztec-packages#10682))
([b16945b](AztecProtocol/aztec-packages@b16945b))
* Do not print entire functions when running debug trace
(noir-lang/noir#6814)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* **docs:** Update migration notes
([#10829](AztecProtocol/aztec-packages#10829))
([be7cadf](AztecProtocol/aztec-packages@be7cadf))
* **docs:** Workaround (noir-lang/noir#6819)
([381b0b8](AztecProtocol/aztec-packages@381b0b8))
* Granular CLI imports to reduce start time
([#10778](AztecProtocol/aztec-packages#10778))
([e2fd046](AztecProtocol/aztec-packages@e2fd046))
* Log error in retry module
([#10719](AztecProtocol/aztec-packages#10719))
([84ea539](AztecProtocol/aztec-packages@84ea539))
* Manage call stacks using a tree
(noir-lang/noir#6791)
([381b0b8](AztecProtocol/aztec-packages@381b0b8))
* Move decider PK allocation to methods
([#10670](AztecProtocol/aztec-packages#10670))
([1ab9e30](AztecProtocol/aztec-packages@1ab9e30))
* **p2p:** Move services into folders
([#10694](AztecProtocol/aztec-packages#10694))
([e28d12a](AztecProtocol/aztec-packages@e28d12a))
* **prover:** Prover node should not gossip attestations
([#10672](AztecProtocol/aztec-packages#10672))
([41fc0f0](AztecProtocol/aztec-packages@41fc0f0))
* Remove default export for noir contracts js
([#10762](AztecProtocol/aztec-packages#10762))
([c8e7763](AztecProtocol/aztec-packages@c8e7763))
* Remove sinon in favor of a date provider
([#10705](AztecProtocol/aztec-packages#10705))
([3d3fabb](AztecProtocol/aztec-packages@3d3fabb))
* Remove spurious echo
([#10774](AztecProtocol/aztec-packages#10774))
([5538f8c](AztecProtocol/aztec-packages@5538f8c))
* Replace relative paths to noir-protocol-circuits
([f85fa3f](AztecProtocol/aztec-packages@f85fa3f))
* Replace relative paths to noir-protocol-circuits
([b19c561](AztecProtocol/aztec-packages@b19c561))
* Set max txs in spam test
([#10717](AztecProtocol/aztec-packages#10717))
([a50ff6c](AztecProtocol/aztec-packages@a50ff6c))
* Slack notifications for networks
([#10784](AztecProtocol/aztec-packages#10784))
([bab9f85](AztecProtocol/aztec-packages@bab9f85))
* Split up protocol contract artifacts
([#10765](AztecProtocol/aztec-packages#10765))
([5a9ca18](AztecProtocol/aztec-packages@5a9ca18))
* **ssa:** Activate loop invariant code motion on ACIR functions
(noir-lang/noir#6785)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Sync grafana dashboard
([#10792](AztecProtocol/aztec-packages#10792))
([421fb65](AztecProtocol/aztec-packages@421fb65))
* Tagging cleanup
([#10675](AztecProtocol/aztec-packages#10675))
([52b541a](AztecProtocol/aztec-packages@52b541a))
* Trace and handle errors in running promises
([#10645](AztecProtocol/aztec-packages#10645))
([4cc0a6d](AztecProtocol/aztec-packages@4cc0a6d))
* Update external joiner script for new networks
([#10810](AztecProtocol/aztec-packages#10810))
([5f11cf4](AztecProtocol/aztec-packages@5f11cf4))
</details>

<details><summary>barretenberg: 0.67.1</summary>

##
[0.67.1](AztecProtocol/aztec-packages@barretenberg-v0.67.0...barretenberg-v0.67.1)
(2024-12-17)


### Features

* Add tree equality assertions
([#10756](AztecProtocol/aztec-packages#10756))
([923826a](AztecProtocol/aztec-packages@923826a))
* Better initialization for permutation mapping components
([#10750](AztecProtocol/aztec-packages#10750))
([1516d7f](AztecProtocol/aztec-packages@1516d7f))
* Don't store every block number in block indices DB
([#10658](AztecProtocol/aztec-packages#10658))
([a3fba84](AztecProtocol/aztec-packages@a3fba84))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](AztecProtocol/aztec-packages#10649))
([a437e73](AztecProtocol/aztec-packages@a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](AztecProtocol/aztec-packages#10777))
([9fbcff6](AztecProtocol/aztec-packages@9fbcff6))
* Note hash management in the AVM
([#10666](AztecProtocol/aztec-packages#10666))
([e077980](AztecProtocol/aztec-packages@e077980))
* Sumcheck with disabled rows
([#10068](AztecProtocol/aztec-packages#10068))
([abd2226](AztecProtocol/aztec-packages@abd2226))


### Bug Fixes

* Avm gas and non-member
([#10709](AztecProtocol/aztec-packages#10709))
([dd8cc7b](AztecProtocol/aztec-packages@dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](AztecProtocol/aztec-packages#10731))
([b8bdb52](AztecProtocol/aztec-packages@b8bdb52))
* Use correct size for databus_id
([#10673](AztecProtocol/aztec-packages#10673))
([95eb658](AztecProtocol/aztec-packages@95eb658))


### Miscellaneous

* **avm:** Radix opcode - remove immediates
([#10696](AztecProtocol/aztec-packages#10696))
([4ac13e6](AztecProtocol/aztec-packages@4ac13e6)),
closes
[#10371](AztecProtocol/aztec-packages#10371)
* Move decider PK allocation to methods
([#10670](AztecProtocol/aztec-packages#10670))
([1ab9e30](AztecProtocol/aztec-packages@1ab9e30))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crypto cryptography
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants