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: vk_as_fields, proof_as_fields flows for honk #6406

Merged
merged 14 commits into from
May 16, 2024

Conversation

lucasxia01
Copy link
Contributor

@lucasxia01 lucasxia01 commented May 14, 2024

Closes AztecProtocol/barretenberg#982.

Adds the vk_as_fields and proof_as_fields flows for Honk that are used to generate the Vkey and proof as inputs for a recursive circuit (like double_verify_proof). I revamped the script, gen_inner_proof_inputs.sh, that call these flows.

I add new serialization/deserialization for ultra/goblin_ultra flavor verification keys which are used in the vk_as_fields flow.

Notes: I removed the key_hash output that was part of Plonk's vk_as_fields output since we don't need it.

Please read contributing guidelines and remove this line.

@lucasxia01 lucasxia01 self-assigned this May 15, 2024
@@ -28,18 +28,18 @@ VFLAG=${VERBOSE:+-v}
RFLAG=${RECURSIVE:+-r}

echo "Write VK to file for assert_statement..."
$BIN write_vk $VFLAG -c $CRS_PATH -o
$BIN write_vk $VFLAG -c $CRS_PATH -o ./target/vk
Copy link
Contributor Author

Choose a reason for hiding this comment

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

added a bunch of options because main.ts didn't set default options. This script did not work for the wasm flow before this

@@ -0,0 +1,45 @@
#!/usr/bin/env bash
Copy link
Contributor Author

Choose a reason for hiding this comment

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

new one just for honk, could just merge into one potentially

Copy link
Collaborator

Choose a reason for hiding this comment

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

if we are going to get rid of the plonk one i could be OK without a merge

Copy link
Contributor Author

Choose a reason for hiding this comment

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

that's true, will just delete this down the line

@@ -678,6 +678,62 @@ template <IsUltraFlavor Flavor> void write_vk_honk(const std::string& bytecodePa
vinfo("vk written to: ", outputPath);
}
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

new flows for bb binary

@@ -230,4 +230,19 @@ WASM_EXPORT void acir_write_vk_ultra_honk(uint8_t const* acir_vec, uint8_t** out
ProverInstance prover_inst(builder);
VerificationKey vk(prover_inst.proving_key);
*out = to_heap_buffer(to_buffer(vk));
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

new flows for wasm

Copy link
Contributor Author

Choose a reason for hiding this comment

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

could add a comment here

@@ -546,6 +546,31 @@ class UltraFlavor {
table_4,
lagrange_first,
lagrange_last);

Copy link
Contributor Author

Choose a reason for hiding this comment

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

new serialization of vkey to field elements. Does not serialize the verifier commitment key.

@@ -317,6 +317,43 @@ template <typename BuilderType> class UltraRecursiveFlavor_ {
this->lagrange_first = Commitment::from_witness(builder, native_key->lagrange_first);
this->lagrange_last = Commitment::from_witness(builder, native_key->lagrange_last);
};

Copy link
Contributor Author

Choose a reason for hiding this comment

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

new deserialization of recursive vkey from field elements. Note that the witness values for circuit_size, num_public_inputs, and pub_inputs_offset are just discarded and their native values are stored instead. This probably deserves further scrutiny, but I don't think they have to be witness values because the proof contains them as witness values anyway. We should figure this out more clearly at some point.

@lucasxia01 lucasxia01 marked this pull request as ready for review May 15, 2024 20:55
Copy link
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

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

Looks fine at a glance. Main thing I note is the code looks a bit fiddly but I imagine we need this specific format and it wasn't otherwise easy to get

@lucasxia01 lucasxia01 merged commit a6100ad into master May 16, 2024
93 checks passed
@lucasxia01 lucasxia01 deleted the lx/vk-proofs-as-fields-flows branch May 16, 2024 19:01
@AztecBot
Copy link
Collaborator

Benchmark results

Metrics with a significant change:

  • app_circuit_proving_time_in_ms (Test:emit_nullifier): 2,701 (+60%)
  • protocol_circuit_witness_generation_time_in_ms (private-kernel-tail): 3,946 (-19%)
  • protocol_circuit_witness_generation_time_in_ms (public-kernel-teardown): 328 (-16%)
  • protocol_circuit_proving_time_in_ms (merge-rollup): 2,002 (+31%)
Detailed results

All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.

This benchmark source data is available in JSON format on S3 here.

L2 block published to L1

Each column represents the number of txs on an L2 block published to L1.

Metric 8 txs 32 txs 64 txs
l1_rollup_calldata_size_in_bytes 740 740 740
l1_rollup_calldata_gas 6,692 6,680 6,680
l1_rollup_execution_gas 586,877 586,865 586,865
l2_block_processing_time_in_ms 1,614 6,077 (+1%) 12,073 (+1%)
l2_block_building_time_in_ms 27,270 (+1%) 107,238 (+1%) 213,819 (+1%)
l2_block_rollup_simulation_time_in_ms 27,089 (+1%) 106,580 (+1%) 212,558 (+1%)
l2_block_public_tx_process_time_in_ms 11,225 (+1%) 44,320 (+1%) 88,130 (+1%)

L2 chain processing

Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric 5 blocks 10 blocks
node_history_sync_time_in_ms 18,227 (-1%) 33,832 (-1%)
node_database_size_in_bytes 22,900,816 39,493,712
pxe_database_size_in_bytes 29,868 59,425

Circuits stats

Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Circuit protocol_circuit_simulation_time_in_ms protocol_circuit_witness_generation_time_in_ms protocol_circuit_proving_time_in_ms protocol_circuit_input_size_in_bytes protocol_circuit_output_size_in_bytes protocol_circuit_proof_size_in_bytes protocol_circuit_num_public_inputs protocol_circuit_size_in_gates
private-kernel-init 141 (-1%) 2,590 (-1%) 22,943 (+10%) 19,396 46,118 62,400 1,883 1,048,576
private-kernel-inner 419 3,710 (+3%) 38,313 (-2%) 72,583 46,118 62,400 1,883 2,097,152
private-kernel-reset 678 4,205 (-4%) 45,642 (+1%) 219,992 46,118 62,400 1,883 2,097,152
private-kernel-tail 444 ⚠️ 3,946 (-19%) 39,728 (+8%) 70,968 64,320 10,656 266 2,097,152
base-parity 8.63 (+6%) 112 (+7%) 2,795 (+1%) 128 64.0 2,208 2.00 131,072
root-parity 51.6 (+1%) 146 (+16%) 40,565 (+1%) 27,064 64.0 2,720 18.0 2,097,152
base-rollup 730 (-2%) 5,517 (+10%) 43,332 111,126 925 3,104 30.0 2,097,152
root-rollup 72.7 171 (-1%) 8,334 (+2%) 11,454 789 3,424 40.0 524,288
public-kernel-app-logic 156 (+1%) 255 (+1%) 647 (-15%) 78,387 68,775 90,432 2,759 4,096
public-kernel-tail 537 587 (-10%) 882 (+13%) 184,419 7,723 10,144 250 512
public-kernel-setup 130 (+1%) 304 (+3%) 791 (-3%) 110,522 68,775 90,432 2,759 4,096
public-kernel-teardown 130 (-1%) ⚠️ 328 (-16%) 866 (-12%) 114,417 68,775 90,432 2,759 4,096
merge-rollup 6.93 (+3%) 92.0 (+7%) ⚠️ 2,002 (+31%) 2,696 925 3,104 30.0 65,536
private-kernel-tail-to-public N/A 9,734 (+2%) 42,547 N/A N/A 90,944 2,775 2,097,152

Stats on running time collected for app circuits

Function app_circuit_proof_size_in_bytes app_circuit_proving_time_in_ms app_circuit_size_in_gates app_circuit_num_public_inputs
SchnorrAccount:entrypoint 13,600 46,789 (+1%) 2,097,152 358
Test:emit_nullifier 13,600 ⚠️ 2,701 (+60%) 65,536 358
FPC:fee_entrypoint_public 13,600 8,256 (-1%) 524,288 358
Token:transfer 13,600 44,394 (+8%) 2,097,152 358
FPC:fee_entrypoint_private 13,600 11,341 (+15%) 524,288 358
Token:unshield 13,600 33,901 (+1%) 2,097,152 358
SchnorrAccount:spend_private_authwit 13,600 2,599 (+1%) 131,072 358

Tree insertion stats

The duration to insert a fixed batch of leaves into each tree type.

Metric 1 leaves 16 leaves 64 leaves 128 leaves 512 leaves 1024 leaves 2048 leaves 4096 leaves 32 leaves
batch_insert_into_append_only_tree_16_depth_ms 13.2 (+1%) 21.5 (+1%) N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_count 16.7 31.8 N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_ms 0.772 (+1%) 0.663 (+1%) N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_32_depth_ms N/A N/A 61.7 97.8 (-1%) 317 609 1,197 2,366 N/A
batch_insert_into_append_only_tree_32_depth_hash_count N/A N/A 95.9 159 543 1,055 2,079 4,127 N/A
batch_insert_into_append_only_tree_32_depth_hash_ms N/A N/A 0.633 0.604 (-1%) 0.576 0.569 0.568 0.565 N/A
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 73.6 144 456 894 1,781 3,552 N/A
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 106 208 692 1,363 2,707 5,395 N/A
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A 0.643 0.645 0.621 0.616 0.617 0.618 N/A
batch_insert_into_indexed_tree_40_depth_ms N/A N/A N/A N/A N/A N/A N/A N/A 80.8
batch_insert_into_indexed_tree_40_depth_hash_count N/A N/A N/A N/A N/A N/A N/A N/A 108
batch_insert_into_indexed_tree_40_depth_hash_ms N/A N/A N/A N/A N/A N/A N/A N/A 0.710

Miscellaneous

Transaction sizes based on how many contract classes are registered in the tx.

Metric 0 registered classes 1 registered classes
tx_size_in_bytes 68,448 1,052,029

Transaction size based on fee payment method

| Metric | |
| - | |

Transaction processing duration by data writes.

Metric 0 new note hashes 1 new note hashes 2 new note hashes
tx_pxe_processing_time_ms 28,262 3,092 92,437 (+3%)
Metric 0 public data writes 1 public data writes 2 public data writes 4 public data writes 8 public data writes
tx_sequencer_processing_time_ms 812 (-13%) 1,126 (+1%) 1,265 2,002 1,353

rahul-kothari pushed a commit that referenced this pull request May 21, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.41.0](aztec-package-v0.40.1...aztec-package-v0.41.0)
(2024-05-21)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

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

##
[0.41.0](barretenberg.js-v0.40.1...barretenberg.js-v0.41.0)
(2024-05-21)


### Features

* Vk_as_fields, proof_as_fields flows for honk
([#6406](#6406))
([a6100ad](a6100ad))


### Miscellaneous

* Remove acvmInfo from bb.js CLI
([#6507](#6507))
([e298c76](e298c76))
</details>

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

##
[0.41.0](aztec-packages-v0.40.1...aztec-packages-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* compile-time incorrect exec environment errors
([#6442](#6442))
* add is_infinite to curve addition opcode
([#6384](#6384))
* remove backend interactions from `nargo`
([#6320](#6320))

### Features

* `npk_m_hash` in all notes + key rotation test
([#6405](#6405))
([74e98d4](74e98d4))
* Add encrypted log outgoing body
([#6334](#6334))
([fa9f442](fa9f442))
* Add first version of kernel reset circuit
([#6393](#6393))
([ed6df8e](ed6df8e))
* Add is_infinite to curve addition opcode
([#6384](#6384))
([75d81c5](75d81c5))
* Add native rust implementations of pedersen functions
(noir-lang/noir#4871)
([8bbbbb6](8bbbbb6))
* Add nullifying key to Token Note
([#6130](#6130))
([95c6b4a](95c6b4a))
* Adding autogenerated variants for the reset circuit
([#6508](#6508))
([8e8d2dd](8e8d2dd))
* **avm-simulator:** Cap gas for external calls
([#6479](#6479))
([c8771ba](c8771ba))
* **avm:** Gzip avm bytecode
([#6475](#6475))
([29559bd](29559bd))
* **avm:** To_radix gadget
([#6368](#6368))
([89dd25f](89dd25f))
* Benchmark private proving
([#6409](#6409))
([e9e5526](e9e5526))
* Compile-time incorrect exec environment errors
([#6442](#6442))
([0f75efd](0f75efd))
* Do not return databus returndata, keep it private.
(noir-lang/noir#5023)
([26f2197](26f2197))
* **docs:** Authwit how tos
([#6220](#6220))
([78f13d9](78f13d9))
* **docs:** Key rotation / owner -&gt; nullifier key docs
([#6538](#6538))
([2453ba8](2453ba8))
* Full encryption and decryption of log in ts
([#6348](#6348))
([0ac83dc](0ac83dc))
* Generic key validation request
([#6474](#6474))
([948ec38](948ec38))
* Improved ClientIvc
([#6429](#6429))
([f360b3f](f360b3f))
* Laying out a new recursion constraint for honk
([#6489](#6489))
([af9fea4](af9fea4))
* New docs structure
([#6195](#6195))
([9cca814](9cca814))
* Pay out arbitrary fee to coinbase on L1
([#6436](#6436))
([1b99de8](1b99de8))
* Remove total logs len from pre tail kernels + add to L1
([#6466](#6466))
([66a2d43](66a2d43))
* Run benchmarks for ACIR proving
([#6155](#6155))
([ebf6fc2](ebf6fc2))
* Squash transient note logs
([#6268](#6268))
([4574877](4574877))
* Sum transaction fees and pay on l1
([#6522](#6522))
([bf441da](bf441da))
* Translator recursive verifier
([#6327](#6327))
([9321aef](9321aef))
* Update the encrypted note log format
([#6411](#6411))
([e5cc9dc](e5cc9dc))
* Validate counters
([#6365](#6365))
([1f28b3a](1f28b3a))
* View functions with static context enforcing
([#6338](#6338))
([22ad5a5](22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](#6406))
([a6100ad](a6100ad))


### Bug Fixes

* Arm ci
([#6480](#6480))
([237952e](237952e))
* Asset struct serialization does not match Noir internal serialization
([#6494](#6494))
([9e6a4c3](9e6a4c3))
* **avm-simulator:** Actually wrap oracles
([#6449](#6449))
([8685acc](8685acc))
* **avm-simulator:** Nested calls should preserve static context
([#6414](#6414))
([44d7916](44d7916))
* **avm-simulator:** Pending storage and nullifiers should be accessible
in grandchild nested calls
([#6428](#6428))
([84d2e1f](84d2e1f))
* Buggy e2e key registry test setup
([#6496](#6496))
([52d85d1](52d85d1))
* **ci:** ARM
([#6521](#6521))
([d1095f6](d1095f6))
* **ci:** Arm concurrency
([#6564](#6564))
([a265da0](a265da0))
* Disable buggy ClientIVC tests
([#6546](#6546))
([b61dea3](b61dea3))
* Disk attach edge case
([#6430](#6430))
([2366ad3](2366ad3))
* **docs:** Clarify content on portals
([#6431](#6431))
([869df4d](869df4d))
* Don't start multiple runners during RequestLimitExceeded
([#6444](#6444))
([7c4c822](7c4c822))
* Dont start multiple builders
([#6437](#6437))
([d67ab1c](d67ab1c))
* Fix no predicates for brillig with intermediate functions
(noir-lang/noir#5015)
([26f2197](26f2197))
* Fixed several vulnerabilities in U128, added some tests
(noir-lang/noir#5024)
([26f2197](26f2197))
* Increase N_max in Zeromorph
([#6415](#6415))
([9e643b4](9e643b4))
* Quick fix of
[#6405](#6405) by
removing context from value note utils
([#6509](#6509))
([3a4d828](3a4d828))
* Removed plain from path in array args of contract interfaces
([#6497](#6497))
([2b37729](2b37729))
* Runs-on inconsistency and simplify concurrency keys
([#6433](#6433))
([80674d9](80674d9))
* Spot retry fixup
([#6476](#6476))
([784d784](784d784))


### Miscellaneous

* Add benchmarks for pedersen and schnorr verification
(noir-lang/noir#5056)
([8bbbbb6](8bbbbb6))
* Add c++ tests for generator derivation
([#6528](#6528))
([72931bd](72931bd))
* Add script to print lines of code
(noir-lang/noir#4991)
([26f2197](26f2197))
* Add some docs on syncing noir
([#6340](#6340))
([bb68fcd](bb68fcd))
* Anvil kill wrapper now supports mac
([#6520](#6520))
([2a5d975](2a5d975))
* **avm:** Wrap oracles with unconstrained fns
([#6421](#6421))
([3e7e094](3e7e094))
* Bump earthly
([#6419](#6419))
([3d78751](3d78751))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](#6462))
([26eac62](26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](#6495))
([90d8092](90d8092))
* Change some error messages for avm switch
([#6447](#6447))
([74d6519](74d6519))
* **ci:** Better retry defaults
([#6472](#6472))
([b23f1fd](b23f1fd))
* **ci:** Consistency as external check
([#6460](#6460))
([6793a75](6793a75))
* **ci:** Dont detach ebs
([#6441](#6441))
([f933fc0](f933fc0))
* **ci:** Fix on-demand starting
([#6434](#6434))
([c3efb9c](c3efb9c))
* **ci:** Increase timeouts
([#6426](#6426))
([44986fe](44986fe))
* **ci:** Only run circleci on master
([#6525](#6525))
([c75fbd4](c75fbd4))
* **ci:** Push l1-contracts tests off of critical path
([#6400](#6400))
([ce0ae6d](ce0ae6d))
* **ci:** Reenable arm build
([#6455](#6455))
([2862767](2862767))
* **ci:** Require setup in merge-check
([#6454](#6454))
([ad73061](ad73061))
* **ci:** Spot capacity and reaping
([#6561](#6561))
([8c639b5](8c639b5))
* Clean up kernel types by removing is_static from function_data
([#6557](#6557))
([83ba29f](83ba29f))
* Cleanup the encrypted log incoming body
([#6325](#6325))
([e88c209](e88c209))
* Copy subset of constants to cpp
([#6544](#6544))
([21dc72a](21dc72a))
* Do not rebuild yarn-projects on bench-comment
([#6396](#6396))
([797115b](797115b))
* **docs:** Adding analytics
([#6350](#6350))
([6417cd9](6417cd9))
* **docs:** Restructure improvs
([#6502](#6502))
([c3b573e](c3b573e))
* Fix linter issues in AVM
([#6057](#6057))
([c2e72b1](c2e72b1))
* Fix logs upload to S3
([#6401](#6401))
([9df0602](9df0602))
* Fix migration notes
([#6458](#6458))
([bee85a9](bee85a9))
* Fix migration notes
([#6551](#6551))
([89bc350](89bc350))
* Fix notes 0.41.0
([#6461](#6461))
([04b0ec5](04b0ec5))
* Fix poor performance and long compile times in value_note.derement()
([#6523](#6523))
([002b4aa](002b4aa))
* Fix tester image copy pattern
([#6438](#6438))
([b892eae](b892eae))
* Get_nullifier_keys cleanup
([#6451](#6451))
([8a71fd5](8a71fd5))
* Lower max public bytecode to 20k
([#6477](#6477))
([ce192f0](ce192f0))
* Move `UPLOAD_LOGS` into root earthfile
([#6424](#6424))
([d723da9](d723da9))
* Nuking `KeyStore` and `KeyPair` interfaces
([#6553](#6553))
([23e0518](23e0518))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](#6565))
([ea36bf9](ea36bf9))
* Prefetch noir deps in earthly for caching
([#6556](#6556))
([8ee9060](8ee9060))
* Private call validation
([#6510](#6510))
([07dc072](07dc072))
* Purge secret and open keywords
([#6501](#6501))
([f9c74c4](f9c74c4)),
closes
[#5538](#5538)
* Recommend Noir and rust plugin
([#6558](#6558))
([298561f](298561f))
* Refactor key rotate and address comments from 6405
([#6450](#6450))
([6f3dab8](6f3dab8))
* Remove acvmInfo from bb.js CLI
([#6507](#6507))
([e298c76](e298c76))
* Remove backend interactions from `nargo`
([#6320](#6320))
([7a31896](7a31896))
* Replace relative paths to noir-protocol-circuits
([94ab877](94ab877))
* Replace relative paths to noir-protocol-circuits
([9f04bfe](9f04bfe))
* Replace relative paths to noir-protocol-circuits
([67f29e5](67f29e5))
* Replace relative paths to noir-protocol-circuits
([a7a4b86](a7a4b86))
* Replace relative paths to noir-protocol-circuits
([c6f61a4](c6f61a4))
* Share decider with ultra_prover
([#5467](#5467))
([b3b7376](b3b7376))
* Switch over to constructing gates report in bash
([#6491](#6491))
([1fa5963](1fa5963))
* **tests:** Change error messages in preparation for AVM
([#6422](#6422))
([6616dc6](6616dc6))


### Documentation

* Sumcheck documentation
([#5841](#5841))
([116eef0](116eef0))
* Updating key docs in concepts section
([#6387](#6387))
([921a7f4](921a7f4))
</details>

<details><summary>barretenberg: 0.41.0</summary>

##
[0.41.0](barretenberg-v0.40.1...barretenberg-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* add is_infinite to curve addition opcode
([#6384](#6384))

### Features

* Add is_infinite to curve addition opcode
([#6384](#6384))
([75d81c5](75d81c5))
* **avm-simulator:** Cap gas for external calls
([#6479](#6479))
([c8771ba](c8771ba))
* **avm:** Gzip avm bytecode
([#6475](#6475))
([29559bd](29559bd))
* **avm:** To_radix gadget
([#6368](#6368))
([89dd25f](89dd25f))
* Full encryption and decryption of log in ts
([#6348](#6348))
([0ac83dc](0ac83dc))
* Improved ClientIvc
([#6429](#6429))
([f360b3f](f360b3f))
* Laying out a new recursion constraint for honk
([#6489](#6489))
([af9fea4](af9fea4))
* Remove total logs len from pre tail kernels + add to L1
([#6466](#6466))
([66a2d43](66a2d43))
* Run benchmarks for ACIR proving
([#6155](#6155))
([ebf6fc2](ebf6fc2))
* Squash transient note logs
([#6268](#6268))
([4574877](4574877))
* Sum transaction fees and pay on l1
([#6522](#6522))
([bf441da](bf441da))
* Translator recursive verifier
([#6327](#6327))
([9321aef](9321aef))
* View functions with static context enforcing
([#6338](#6338))
([22ad5a5](22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](#6406))
([a6100ad](a6100ad))


### Bug Fixes

* Disable buggy ClientIVC tests
([#6546](#6546))
([b61dea3](b61dea3))
* Increase N_max in Zeromorph
([#6415](#6415))
([9e643b4](9e643b4))


### Miscellaneous

* Add c++ tests for generator derivation
([#6528](#6528))
([72931bd](72931bd))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](#6462))
([26eac62](26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](#6495))
([90d8092](90d8092))
* Copy subset of constants to cpp
([#6544](#6544))
([21dc72a](21dc72a))
* Lower max public bytecode to 20k
([#6477](#6477))
([ce192f0](ce192f0))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](#6565))
([ea36bf9](ea36bf9))
* Private call validation
([#6510](#6510))
([07dc072](07dc072))
* Share decider with ultra_prover
([#5467](#5467))
([b3b7376](b3b7376))


### Documentation

* Sumcheck documentation
([#5841](#5841))
([116eef0](116eef0))
</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 May 22, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.41.0](AztecProtocol/aztec-packages@aztec-package-v0.40.1...aztec-package-v0.41.0)
(2024-05-21)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

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

##
[0.41.0](AztecProtocol/aztec-packages@barretenberg.js-v0.40.1...barretenberg.js-v0.41.0)
(2024-05-21)


### Features

* Vk_as_fields, proof_as_fields flows for honk
([#6406](AztecProtocol/aztec-packages#6406))
([a6100ad](AztecProtocol/aztec-packages@a6100ad))


### Miscellaneous

* Remove acvmInfo from bb.js CLI
([#6507](AztecProtocol/aztec-packages#6507))
([e298c76](AztecProtocol/aztec-packages@e298c76))
</details>

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

##
[0.41.0](AztecProtocol/aztec-packages@aztec-packages-v0.40.1...aztec-packages-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* compile-time incorrect exec environment errors
([#6442](AztecProtocol/aztec-packages#6442))
* add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))
* remove backend interactions from `nargo`
([#6320](AztecProtocol/aztec-packages#6320))

### Features

* `npk_m_hash` in all notes + key rotation test
([#6405](AztecProtocol/aztec-packages#6405))
([74e98d4](AztecProtocol/aztec-packages@74e98d4))
* Add encrypted log outgoing body
([#6334](AztecProtocol/aztec-packages#6334))
([fa9f442](AztecProtocol/aztec-packages@fa9f442))
* Add first version of kernel reset circuit
([#6393](AztecProtocol/aztec-packages#6393))
([ed6df8e](AztecProtocol/aztec-packages@ed6df8e))
* Add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))
([75d81c5](AztecProtocol/aztec-packages@75d81c5))
* Add native rust implementations of pedersen functions
(noir-lang/noir#4871)
([8bbbbb6](AztecProtocol/aztec-packages@8bbbbb6))
* Add nullifying key to Token Note
([#6130](AztecProtocol/aztec-packages#6130))
([95c6b4a](AztecProtocol/aztec-packages@95c6b4a))
* Adding autogenerated variants for the reset circuit
([#6508](AztecProtocol/aztec-packages#6508))
([8e8d2dd](AztecProtocol/aztec-packages@8e8d2dd))
* **avm-simulator:** Cap gas for external calls
([#6479](AztecProtocol/aztec-packages#6479))
([c8771ba](AztecProtocol/aztec-packages@c8771ba))
* **avm:** Gzip avm bytecode
([#6475](AztecProtocol/aztec-packages#6475))
([29559bd](AztecProtocol/aztec-packages@29559bd))
* **avm:** To_radix gadget
([#6368](AztecProtocol/aztec-packages#6368))
([89dd25f](AztecProtocol/aztec-packages@89dd25f))
* Benchmark private proving
([#6409](AztecProtocol/aztec-packages#6409))
([e9e5526](AztecProtocol/aztec-packages@e9e5526))
* Compile-time incorrect exec environment errors
([#6442](AztecProtocol/aztec-packages#6442))
([0f75efd](AztecProtocol/aztec-packages@0f75efd))
* Do not return databus returndata, keep it private.
(noir-lang/noir#5023)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* **docs:** Authwit how tos
([#6220](AztecProtocol/aztec-packages#6220))
([78f13d9](AztecProtocol/aztec-packages@78f13d9))
* **docs:** Key rotation / owner -&gt; nullifier key docs
([#6538](AztecProtocol/aztec-packages#6538))
([2453ba8](AztecProtocol/aztec-packages@2453ba8))
* Full encryption and decryption of log in ts
([#6348](AztecProtocol/aztec-packages#6348))
([0ac83dc](AztecProtocol/aztec-packages@0ac83dc))
* Generic key validation request
([#6474](AztecProtocol/aztec-packages#6474))
([948ec38](AztecProtocol/aztec-packages@948ec38))
* Improved ClientIvc
([#6429](AztecProtocol/aztec-packages#6429))
([f360b3f](AztecProtocol/aztec-packages@f360b3f))
* Laying out a new recursion constraint for honk
([#6489](AztecProtocol/aztec-packages#6489))
([af9fea4](AztecProtocol/aztec-packages@af9fea4))
* New docs structure
([#6195](AztecProtocol/aztec-packages#6195))
([9cca814](AztecProtocol/aztec-packages@9cca814))
* Pay out arbitrary fee to coinbase on L1
([#6436](AztecProtocol/aztec-packages#6436))
([1b99de8](AztecProtocol/aztec-packages@1b99de8))
* Remove total logs len from pre tail kernels + add to L1
([#6466](AztecProtocol/aztec-packages#6466))
([66a2d43](AztecProtocol/aztec-packages@66a2d43))
* Run benchmarks for ACIR proving
([#6155](AztecProtocol/aztec-packages#6155))
([ebf6fc2](AztecProtocol/aztec-packages@ebf6fc2))
* Squash transient note logs
([#6268](AztecProtocol/aztec-packages#6268))
([4574877](AztecProtocol/aztec-packages@4574877))
* Sum transaction fees and pay on l1
([#6522](AztecProtocol/aztec-packages#6522))
([bf441da](AztecProtocol/aztec-packages@bf441da))
* Translator recursive verifier
([#6327](AztecProtocol/aztec-packages#6327))
([9321aef](AztecProtocol/aztec-packages@9321aef))
* Update the encrypted note log format
([#6411](AztecProtocol/aztec-packages#6411))
([e5cc9dc](AztecProtocol/aztec-packages@e5cc9dc))
* Validate counters
([#6365](AztecProtocol/aztec-packages#6365))
([1f28b3a](AztecProtocol/aztec-packages@1f28b3a))
* View functions with static context enforcing
([#6338](AztecProtocol/aztec-packages#6338))
([22ad5a5](AztecProtocol/aztec-packages@22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](AztecProtocol/aztec-packages#6406))
([a6100ad](AztecProtocol/aztec-packages@a6100ad))


### Bug Fixes

* Arm ci
([#6480](AztecProtocol/aztec-packages#6480))
([237952e](AztecProtocol/aztec-packages@237952e))
* Asset struct serialization does not match Noir internal serialization
([#6494](AztecProtocol/aztec-packages#6494))
([9e6a4c3](AztecProtocol/aztec-packages@9e6a4c3))
* **avm-simulator:** Actually wrap oracles
([#6449](AztecProtocol/aztec-packages#6449))
([8685acc](AztecProtocol/aztec-packages@8685acc))
* **avm-simulator:** Nested calls should preserve static context
([#6414](AztecProtocol/aztec-packages#6414))
([44d7916](AztecProtocol/aztec-packages@44d7916))
* **avm-simulator:** Pending storage and nullifiers should be accessible
in grandchild nested calls
([#6428](AztecProtocol/aztec-packages#6428))
([84d2e1f](AztecProtocol/aztec-packages@84d2e1f))
* Buggy e2e key registry test setup
([#6496](AztecProtocol/aztec-packages#6496))
([52d85d1](AztecProtocol/aztec-packages@52d85d1))
* **ci:** ARM
([#6521](AztecProtocol/aztec-packages#6521))
([d1095f6](AztecProtocol/aztec-packages@d1095f6))
* **ci:** Arm concurrency
([#6564](AztecProtocol/aztec-packages#6564))
([a265da0](AztecProtocol/aztec-packages@a265da0))
* Disable buggy ClientIVC tests
([#6546](AztecProtocol/aztec-packages#6546))
([b61dea3](AztecProtocol/aztec-packages@b61dea3))
* Disk attach edge case
([#6430](AztecProtocol/aztec-packages#6430))
([2366ad3](AztecProtocol/aztec-packages@2366ad3))
* **docs:** Clarify content on portals
([#6431](AztecProtocol/aztec-packages#6431))
([869df4d](AztecProtocol/aztec-packages@869df4d))
* Don't start multiple runners during RequestLimitExceeded
([#6444](AztecProtocol/aztec-packages#6444))
([7c4c822](AztecProtocol/aztec-packages@7c4c822))
* Dont start multiple builders
([#6437](AztecProtocol/aztec-packages#6437))
([d67ab1c](AztecProtocol/aztec-packages@d67ab1c))
* Fix no predicates for brillig with intermediate functions
(noir-lang/noir#5015)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* Fixed several vulnerabilities in U128, added some tests
(noir-lang/noir#5024)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* Increase N_max in Zeromorph
([#6415](AztecProtocol/aztec-packages#6415))
([9e643b4](AztecProtocol/aztec-packages@9e643b4))
* Quick fix of
[#6405](AztecProtocol/aztec-packages#6405) by
removing context from value note utils
([#6509](AztecProtocol/aztec-packages#6509))
([3a4d828](AztecProtocol/aztec-packages@3a4d828))
* Removed plain from path in array args of contract interfaces
([#6497](AztecProtocol/aztec-packages#6497))
([2b37729](AztecProtocol/aztec-packages@2b37729))
* Runs-on inconsistency and simplify concurrency keys
([#6433](AztecProtocol/aztec-packages#6433))
([80674d9](AztecProtocol/aztec-packages@80674d9))
* Spot retry fixup
([#6476](AztecProtocol/aztec-packages#6476))
([784d784](AztecProtocol/aztec-packages@784d784))


### Miscellaneous

* Add benchmarks for pedersen and schnorr verification
(noir-lang/noir#5056)
([8bbbbb6](AztecProtocol/aztec-packages@8bbbbb6))
* Add c++ tests for generator derivation
([#6528](AztecProtocol/aztec-packages#6528))
([72931bd](AztecProtocol/aztec-packages@72931bd))
* Add script to print lines of code
(noir-lang/noir#4991)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* Add some docs on syncing noir
([#6340](AztecProtocol/aztec-packages#6340))
([bb68fcd](AztecProtocol/aztec-packages@bb68fcd))
* Anvil kill wrapper now supports mac
([#6520](AztecProtocol/aztec-packages#6520))
([2a5d975](AztecProtocol/aztec-packages@2a5d975))
* **avm:** Wrap oracles with unconstrained fns
([#6421](AztecProtocol/aztec-packages#6421))
([3e7e094](AztecProtocol/aztec-packages@3e7e094))
* Bump earthly
([#6419](AztecProtocol/aztec-packages#6419))
([3d78751](AztecProtocol/aztec-packages@3d78751))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](AztecProtocol/aztec-packages#6462))
([26eac62](AztecProtocol/aztec-packages@26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](AztecProtocol/aztec-packages#6495))
([90d8092](AztecProtocol/aztec-packages@90d8092))
* Change some error messages for avm switch
([#6447](AztecProtocol/aztec-packages#6447))
([74d6519](AztecProtocol/aztec-packages@74d6519))
* **ci:** Better retry defaults
([#6472](AztecProtocol/aztec-packages#6472))
([b23f1fd](AztecProtocol/aztec-packages@b23f1fd))
* **ci:** Consistency as external check
([#6460](AztecProtocol/aztec-packages#6460))
([6793a75](AztecProtocol/aztec-packages@6793a75))
* **ci:** Dont detach ebs
([#6441](AztecProtocol/aztec-packages#6441))
([f933fc0](AztecProtocol/aztec-packages@f933fc0))
* **ci:** Fix on-demand starting
([#6434](AztecProtocol/aztec-packages#6434))
([c3efb9c](AztecProtocol/aztec-packages@c3efb9c))
* **ci:** Increase timeouts
([#6426](AztecProtocol/aztec-packages#6426))
([44986fe](AztecProtocol/aztec-packages@44986fe))
* **ci:** Only run circleci on master
([#6525](AztecProtocol/aztec-packages#6525))
([c75fbd4](AztecProtocol/aztec-packages@c75fbd4))
* **ci:** Push l1-contracts tests off of critical path
([#6400](AztecProtocol/aztec-packages#6400))
([ce0ae6d](AztecProtocol/aztec-packages@ce0ae6d))
* **ci:** Reenable arm build
([#6455](AztecProtocol/aztec-packages#6455))
([2862767](AztecProtocol/aztec-packages@2862767))
* **ci:** Require setup in merge-check
([#6454](AztecProtocol/aztec-packages#6454))
([ad73061](AztecProtocol/aztec-packages@ad73061))
* **ci:** Spot capacity and reaping
([#6561](AztecProtocol/aztec-packages#6561))
([8c639b5](AztecProtocol/aztec-packages@8c639b5))
* Clean up kernel types by removing is_static from function_data
([#6557](AztecProtocol/aztec-packages#6557))
([83ba29f](AztecProtocol/aztec-packages@83ba29f))
* Cleanup the encrypted log incoming body
([#6325](AztecProtocol/aztec-packages#6325))
([e88c209](AztecProtocol/aztec-packages@e88c209))
* Copy subset of constants to cpp
([#6544](AztecProtocol/aztec-packages#6544))
([21dc72a](AztecProtocol/aztec-packages@21dc72a))
* Do not rebuild yarn-projects on bench-comment
([#6396](AztecProtocol/aztec-packages#6396))
([797115b](AztecProtocol/aztec-packages@797115b))
* **docs:** Adding analytics
([#6350](AztecProtocol/aztec-packages#6350))
([6417cd9](AztecProtocol/aztec-packages@6417cd9))
* **docs:** Restructure improvs
([#6502](AztecProtocol/aztec-packages#6502))
([c3b573e](AztecProtocol/aztec-packages@c3b573e))
* Fix linter issues in AVM
([#6057](AztecProtocol/aztec-packages#6057))
([c2e72b1](AztecProtocol/aztec-packages@c2e72b1))
* Fix logs upload to S3
([#6401](AztecProtocol/aztec-packages#6401))
([9df0602](AztecProtocol/aztec-packages@9df0602))
* Fix migration notes
([#6458](AztecProtocol/aztec-packages#6458))
([bee85a9](AztecProtocol/aztec-packages@bee85a9))
* Fix migration notes
([#6551](AztecProtocol/aztec-packages#6551))
([89bc350](AztecProtocol/aztec-packages@89bc350))
* Fix notes 0.41.0
([#6461](AztecProtocol/aztec-packages#6461))
([04b0ec5](AztecProtocol/aztec-packages@04b0ec5))
* Fix poor performance and long compile times in value_note.derement()
([#6523](AztecProtocol/aztec-packages#6523))
([002b4aa](AztecProtocol/aztec-packages@002b4aa))
* Fix tester image copy pattern
([#6438](AztecProtocol/aztec-packages#6438))
([b892eae](AztecProtocol/aztec-packages@b892eae))
* Get_nullifier_keys cleanup
([#6451](AztecProtocol/aztec-packages#6451))
([8a71fd5](AztecProtocol/aztec-packages@8a71fd5))
* Lower max public bytecode to 20k
([#6477](AztecProtocol/aztec-packages#6477))
([ce192f0](AztecProtocol/aztec-packages@ce192f0))
* Move `UPLOAD_LOGS` into root earthfile
([#6424](AztecProtocol/aztec-packages#6424))
([d723da9](AztecProtocol/aztec-packages@d723da9))
* Nuking `KeyStore` and `KeyPair` interfaces
([#6553](AztecProtocol/aztec-packages#6553))
([23e0518](AztecProtocol/aztec-packages@23e0518))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](AztecProtocol/aztec-packages#6565))
([ea36bf9](AztecProtocol/aztec-packages@ea36bf9))
* Prefetch noir deps in earthly for caching
([#6556](AztecProtocol/aztec-packages#6556))
([8ee9060](AztecProtocol/aztec-packages@8ee9060))
* Private call validation
([#6510](AztecProtocol/aztec-packages#6510))
([07dc072](AztecProtocol/aztec-packages@07dc072))
* Purge secret and open keywords
([#6501](AztecProtocol/aztec-packages#6501))
([f9c74c4](AztecProtocol/aztec-packages@f9c74c4)),
closes
[#5538](AztecProtocol/aztec-packages#5538)
* Recommend Noir and rust plugin
([#6558](AztecProtocol/aztec-packages#6558))
([298561f](AztecProtocol/aztec-packages@298561f))
* Refactor key rotate and address comments from 6405
([#6450](AztecProtocol/aztec-packages#6450))
([6f3dab8](AztecProtocol/aztec-packages@6f3dab8))
* Remove acvmInfo from bb.js CLI
([#6507](AztecProtocol/aztec-packages#6507))
([e298c76](AztecProtocol/aztec-packages@e298c76))
* Remove backend interactions from `nargo`
([#6320](AztecProtocol/aztec-packages#6320))
([7a31896](AztecProtocol/aztec-packages@7a31896))
* Replace relative paths to noir-protocol-circuits
([94ab877](AztecProtocol/aztec-packages@94ab877))
* Replace relative paths to noir-protocol-circuits
([9f04bfe](AztecProtocol/aztec-packages@9f04bfe))
* Replace relative paths to noir-protocol-circuits
([67f29e5](AztecProtocol/aztec-packages@67f29e5))
* Replace relative paths to noir-protocol-circuits
([a7a4b86](AztecProtocol/aztec-packages@a7a4b86))
* Replace relative paths to noir-protocol-circuits
([c6f61a4](AztecProtocol/aztec-packages@c6f61a4))
* Share decider with ultra_prover
([#5467](AztecProtocol/aztec-packages#5467))
([b3b7376](AztecProtocol/aztec-packages@b3b7376))
* Switch over to constructing gates report in bash
([#6491](AztecProtocol/aztec-packages#6491))
([1fa5963](AztecProtocol/aztec-packages@1fa5963))
* **tests:** Change error messages in preparation for AVM
([#6422](AztecProtocol/aztec-packages#6422))
([6616dc6](AztecProtocol/aztec-packages@6616dc6))


### Documentation

* Sumcheck documentation
([#5841](AztecProtocol/aztec-packages#5841))
([116eef0](AztecProtocol/aztec-packages@116eef0))
* Updating key docs in concepts section
([#6387](AztecProtocol/aztec-packages#6387))
([921a7f4](AztecProtocol/aztec-packages@921a7f4))
</details>

<details><summary>barretenberg: 0.41.0</summary>

##
[0.41.0](AztecProtocol/aztec-packages@barretenberg-v0.40.1...barretenberg-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))

### Features

* Add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))
([75d81c5](AztecProtocol/aztec-packages@75d81c5))
* **avm-simulator:** Cap gas for external calls
([#6479](AztecProtocol/aztec-packages#6479))
([c8771ba](AztecProtocol/aztec-packages@c8771ba))
* **avm:** Gzip avm bytecode
([#6475](AztecProtocol/aztec-packages#6475))
([29559bd](AztecProtocol/aztec-packages@29559bd))
* **avm:** To_radix gadget
([#6368](AztecProtocol/aztec-packages#6368))
([89dd25f](AztecProtocol/aztec-packages@89dd25f))
* Full encryption and decryption of log in ts
([#6348](AztecProtocol/aztec-packages#6348))
([0ac83dc](AztecProtocol/aztec-packages@0ac83dc))
* Improved ClientIvc
([#6429](AztecProtocol/aztec-packages#6429))
([f360b3f](AztecProtocol/aztec-packages@f360b3f))
* Laying out a new recursion constraint for honk
([#6489](AztecProtocol/aztec-packages#6489))
([af9fea4](AztecProtocol/aztec-packages@af9fea4))
* Remove total logs len from pre tail kernels + add to L1
([#6466](AztecProtocol/aztec-packages#6466))
([66a2d43](AztecProtocol/aztec-packages@66a2d43))
* Run benchmarks for ACIR proving
([#6155](AztecProtocol/aztec-packages#6155))
([ebf6fc2](AztecProtocol/aztec-packages@ebf6fc2))
* Squash transient note logs
([#6268](AztecProtocol/aztec-packages#6268))
([4574877](AztecProtocol/aztec-packages@4574877))
* Sum transaction fees and pay on l1
([#6522](AztecProtocol/aztec-packages#6522))
([bf441da](AztecProtocol/aztec-packages@bf441da))
* Translator recursive verifier
([#6327](AztecProtocol/aztec-packages#6327))
([9321aef](AztecProtocol/aztec-packages@9321aef))
* View functions with static context enforcing
([#6338](AztecProtocol/aztec-packages#6338))
([22ad5a5](AztecProtocol/aztec-packages@22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](AztecProtocol/aztec-packages#6406))
([a6100ad](AztecProtocol/aztec-packages@a6100ad))


### Bug Fixes

* Disable buggy ClientIVC tests
([#6546](AztecProtocol/aztec-packages#6546))
([b61dea3](AztecProtocol/aztec-packages@b61dea3))
* Increase N_max in Zeromorph
([#6415](AztecProtocol/aztec-packages#6415))
([9e643b4](AztecProtocol/aztec-packages@9e643b4))


### Miscellaneous

* Add c++ tests for generator derivation
([#6528](AztecProtocol/aztec-packages#6528))
([72931bd](AztecProtocol/aztec-packages@72931bd))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](AztecProtocol/aztec-packages#6462))
([26eac62](AztecProtocol/aztec-packages@26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](AztecProtocol/aztec-packages#6495))
([90d8092](AztecProtocol/aztec-packages@90d8092))
* Copy subset of constants to cpp
([#6544](AztecProtocol/aztec-packages#6544))
([21dc72a](AztecProtocol/aztec-packages@21dc72a))
* Lower max public bytecode to 20k
([#6477](AztecProtocol/aztec-packages#6477))
([ce192f0](AztecProtocol/aztec-packages@ce192f0))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](AztecProtocol/aztec-packages#6565))
([ea36bf9](AztecProtocol/aztec-packages@ea36bf9))
* Private call validation
([#6510](AztecProtocol/aztec-packages#6510))
([07dc072](AztecProtocol/aztec-packages@07dc072))
* Share decider with ultra_prover
([#5467](AztecProtocol/aztec-packages#5467))
([b3b7376](AztecProtocol/aztec-packages@b3b7376))


### Documentation

* Sumcheck documentation
([#5841](AztecProtocol/aztec-packages#5841))
([116eef0](AztecProtocol/aztec-packages@116eef0))
</details>

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

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

[0.41.0](AztecProtocol/aztec-packages@aztec-package-v0.40.1...aztec-package-v0.41.0)
(2024-05-21)

* **aztec-package:** Synchronize aztec-packages versions
</details>

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

[0.41.0](AztecProtocol/aztec-packages@barretenberg.js-v0.40.1...barretenberg.js-v0.41.0)
(2024-05-21)

* Vk_as_fields, proof_as_fields flows for honk
([AztecProtocol#6406](AztecProtocol#6406))
([a6100ad](AztecProtocol@a6100ad))

* Remove acvmInfo from bb.js CLI
([AztecProtocol#6507](AztecProtocol#6507))
([e298c76](AztecProtocol@e298c76))
</details>

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

[0.41.0](AztecProtocol/aztec-packages@aztec-packages-v0.40.1...aztec-packages-v0.41.0)
(2024-05-21)

* compile-time incorrect exec environment errors
([AztecProtocol#6442](AztecProtocol#6442))
* add is_infinite to curve addition opcode
([AztecProtocol#6384](AztecProtocol#6384))
* remove backend interactions from `nargo`
([AztecProtocol#6320](AztecProtocol#6320))

* `npk_m_hash` in all notes + key rotation test
([AztecProtocol#6405](AztecProtocol#6405))
([74e98d4](AztecProtocol@74e98d4))
* Add encrypted log outgoing body
([AztecProtocol#6334](AztecProtocol#6334))
([fa9f442](AztecProtocol@fa9f442))
* Add first version of kernel reset circuit
([AztecProtocol#6393](AztecProtocol#6393))
([ed6df8e](AztecProtocol@ed6df8e))
* Add is_infinite to curve addition opcode
([AztecProtocol#6384](AztecProtocol#6384))
([75d81c5](AztecProtocol@75d81c5))
* Add native rust implementations of pedersen functions
(noir-lang/noir#4871)
([8bbbbb6](AztecProtocol@8bbbbb6))
* Add nullifying key to Token Note
([AztecProtocol#6130](AztecProtocol#6130))
([95c6b4a](AztecProtocol@95c6b4a))
* Adding autogenerated variants for the reset circuit
([AztecProtocol#6508](AztecProtocol#6508))
([8e8d2dd](AztecProtocol@8e8d2dd))
* **avm-simulator:** Cap gas for external calls
([AztecProtocol#6479](AztecProtocol#6479))
([c8771ba](AztecProtocol@c8771ba))
* **avm:** Gzip avm bytecode
([AztecProtocol#6475](AztecProtocol#6475))
([29559bd](AztecProtocol@29559bd))
* **avm:** To_radix gadget
([AztecProtocol#6368](AztecProtocol#6368))
([89dd25f](AztecProtocol@89dd25f))
* Benchmark private proving
([AztecProtocol#6409](AztecProtocol#6409))
([e9e5526](AztecProtocol@e9e5526))
* Compile-time incorrect exec environment errors
([AztecProtocol#6442](AztecProtocol#6442))
([0f75efd](AztecProtocol@0f75efd))
* Do not return databus returndata, keep it private.
(noir-lang/noir#5023)
([26f2197](AztecProtocol@26f2197))
* **docs:** Authwit how tos
([AztecProtocol#6220](AztecProtocol#6220))
([78f13d9](AztecProtocol@78f13d9))
* **docs:** Key rotation / owner -&gt; nullifier key docs
([AztecProtocol#6538](AztecProtocol#6538))
([2453ba8](AztecProtocol@2453ba8))
* Full encryption and decryption of log in ts
([AztecProtocol#6348](AztecProtocol#6348))
([0ac83dc](AztecProtocol@0ac83dc))
* Generic key validation request
([AztecProtocol#6474](AztecProtocol#6474))
([948ec38](AztecProtocol@948ec38))
* Improved ClientIvc
([AztecProtocol#6429](AztecProtocol#6429))
([f360b3f](AztecProtocol@f360b3f))
* Laying out a new recursion constraint for honk
([AztecProtocol#6489](AztecProtocol#6489))
([af9fea4](AztecProtocol@af9fea4))
* New docs structure
([AztecProtocol#6195](AztecProtocol#6195))
([9cca814](AztecProtocol@9cca814))
* Pay out arbitrary fee to coinbase on L1
([AztecProtocol#6436](AztecProtocol#6436))
([1b99de8](AztecProtocol@1b99de8))
* Remove total logs len from pre tail kernels + add to L1
([AztecProtocol#6466](AztecProtocol#6466))
([66a2d43](AztecProtocol@66a2d43))
* Run benchmarks for ACIR proving
([AztecProtocol#6155](AztecProtocol#6155))
([ebf6fc2](AztecProtocol@ebf6fc2))
* Squash transient note logs
([AztecProtocol#6268](AztecProtocol#6268))
([4574877](AztecProtocol@4574877))
* Sum transaction fees and pay on l1
([AztecProtocol#6522](AztecProtocol#6522))
([bf441da](AztecProtocol@bf441da))
* Translator recursive verifier
([AztecProtocol#6327](AztecProtocol#6327))
([9321aef](AztecProtocol@9321aef))
* Update the encrypted note log format
([AztecProtocol#6411](AztecProtocol#6411))
([e5cc9dc](AztecProtocol@e5cc9dc))
* Validate counters
([AztecProtocol#6365](AztecProtocol#6365))
([1f28b3a](AztecProtocol@1f28b3a))
* View functions with static context enforcing
([AztecProtocol#6338](AztecProtocol#6338))
([22ad5a5](AztecProtocol@22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([AztecProtocol#6406](AztecProtocol#6406))
([a6100ad](AztecProtocol@a6100ad))

* Arm ci
([AztecProtocol#6480](AztecProtocol#6480))
([237952e](AztecProtocol@237952e))
* Asset struct serialization does not match Noir internal serialization
([AztecProtocol#6494](AztecProtocol#6494))
([9e6a4c3](AztecProtocol@9e6a4c3))
* **avm-simulator:** Actually wrap oracles
([AztecProtocol#6449](AztecProtocol#6449))
([8685acc](AztecProtocol@8685acc))
* **avm-simulator:** Nested calls should preserve static context
([AztecProtocol#6414](AztecProtocol#6414))
([44d7916](AztecProtocol@44d7916))
* **avm-simulator:** Pending storage and nullifiers should be accessible
in grandchild nested calls
([AztecProtocol#6428](AztecProtocol#6428))
([84d2e1f](AztecProtocol@84d2e1f))
* Buggy e2e key registry test setup
([AztecProtocol#6496](AztecProtocol#6496))
([52d85d1](AztecProtocol@52d85d1))
* **ci:** ARM
([AztecProtocol#6521](AztecProtocol#6521))
([d1095f6](AztecProtocol@d1095f6))
* **ci:** Arm concurrency
([AztecProtocol#6564](AztecProtocol#6564))
([a265da0](AztecProtocol@a265da0))
* Disable buggy ClientIVC tests
([AztecProtocol#6546](AztecProtocol#6546))
([b61dea3](AztecProtocol@b61dea3))
* Disk attach edge case
([AztecProtocol#6430](AztecProtocol#6430))
([2366ad3](AztecProtocol@2366ad3))
* **docs:** Clarify content on portals
([AztecProtocol#6431](AztecProtocol#6431))
([869df4d](AztecProtocol@869df4d))
* Don't start multiple runners during RequestLimitExceeded
([AztecProtocol#6444](AztecProtocol#6444))
([7c4c822](AztecProtocol@7c4c822))
* Dont start multiple builders
([AztecProtocol#6437](AztecProtocol#6437))
([d67ab1c](AztecProtocol@d67ab1c))
* Fix no predicates for brillig with intermediate functions
(noir-lang/noir#5015)
([26f2197](AztecProtocol@26f2197))
* Fixed several vulnerabilities in U128, added some tests
(noir-lang/noir#5024)
([26f2197](AztecProtocol@26f2197))
* Increase N_max in Zeromorph
([AztecProtocol#6415](AztecProtocol#6415))
([9e643b4](AztecProtocol@9e643b4))
* Quick fix of
[AztecProtocol#6405](AztecProtocol#6405) by
removing context from value note utils
([AztecProtocol#6509](AztecProtocol#6509))
([3a4d828](AztecProtocol@3a4d828))
* Removed plain from path in array args of contract interfaces
([AztecProtocol#6497](AztecProtocol#6497))
([2b37729](AztecProtocol@2b37729))
* Runs-on inconsistency and simplify concurrency keys
([AztecProtocol#6433](AztecProtocol#6433))
([80674d9](AztecProtocol@80674d9))
* Spot retry fixup
([AztecProtocol#6476](AztecProtocol#6476))
([784d784](AztecProtocol@784d784))

* Add benchmarks for pedersen and schnorr verification
(noir-lang/noir#5056)
([8bbbbb6](AztecProtocol@8bbbbb6))
* Add c++ tests for generator derivation
([AztecProtocol#6528](AztecProtocol#6528))
([72931bd](AztecProtocol@72931bd))
* Add script to print lines of code
(noir-lang/noir#4991)
([26f2197](AztecProtocol@26f2197))
* Add some docs on syncing noir
([AztecProtocol#6340](AztecProtocol#6340))
([bb68fcd](AztecProtocol@bb68fcd))
* Anvil kill wrapper now supports mac
([AztecProtocol#6520](AztecProtocol#6520))
([2a5d975](AztecProtocol@2a5d975))
* **avm:** Wrap oracles with unconstrained fns
([AztecProtocol#6421](AztecProtocol#6421))
([3e7e094](AztecProtocol@3e7e094))
* Bump earthly
([AztecProtocol#6419](AztecProtocol#6419))
([3d78751](AztecProtocol@3d78751))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([AztecProtocol#6462](AztecProtocol#6462))
([26eac62](AztecProtocol@26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([AztecProtocol#6495](AztecProtocol#6495))
([90d8092](AztecProtocol@90d8092))
* Change some error messages for avm switch
([AztecProtocol#6447](AztecProtocol#6447))
([74d6519](AztecProtocol@74d6519))
* **ci:** Better retry defaults
([AztecProtocol#6472](AztecProtocol#6472))
([b23f1fd](AztecProtocol@b23f1fd))
* **ci:** Consistency as external check
([AztecProtocol#6460](AztecProtocol#6460))
([6793a75](AztecProtocol@6793a75))
* **ci:** Dont detach ebs
([AztecProtocol#6441](AztecProtocol#6441))
([f933fc0](AztecProtocol@f933fc0))
* **ci:** Fix on-demand starting
([AztecProtocol#6434](AztecProtocol#6434))
([c3efb9c](AztecProtocol@c3efb9c))
* **ci:** Increase timeouts
([AztecProtocol#6426](AztecProtocol#6426))
([44986fe](AztecProtocol@44986fe))
* **ci:** Only run circleci on master
([AztecProtocol#6525](AztecProtocol#6525))
([c75fbd4](AztecProtocol@c75fbd4))
* **ci:** Push l1-contracts tests off of critical path
([AztecProtocol#6400](AztecProtocol#6400))
([ce0ae6d](AztecProtocol@ce0ae6d))
* **ci:** Reenable arm build
([AztecProtocol#6455](AztecProtocol#6455))
([2862767](AztecProtocol@2862767))
* **ci:** Require setup in merge-check
([AztecProtocol#6454](AztecProtocol#6454))
([ad73061](AztecProtocol@ad73061))
* **ci:** Spot capacity and reaping
([AztecProtocol#6561](AztecProtocol#6561))
([8c639b5](AztecProtocol@8c639b5))
* Clean up kernel types by removing is_static from function_data
([AztecProtocol#6557](AztecProtocol#6557))
([83ba29f](AztecProtocol@83ba29f))
* Cleanup the encrypted log incoming body
([AztecProtocol#6325](AztecProtocol#6325))
([e88c209](AztecProtocol@e88c209))
* Copy subset of constants to cpp
([AztecProtocol#6544](AztecProtocol#6544))
([21dc72a](AztecProtocol@21dc72a))
* Do not rebuild yarn-projects on bench-comment
([AztecProtocol#6396](AztecProtocol#6396))
([797115b](AztecProtocol@797115b))
* **docs:** Adding analytics
([AztecProtocol#6350](AztecProtocol#6350))
([6417cd9](AztecProtocol@6417cd9))
* **docs:** Restructure improvs
([AztecProtocol#6502](AztecProtocol#6502))
([c3b573e](AztecProtocol@c3b573e))
* Fix linter issues in AVM
([AztecProtocol#6057](AztecProtocol#6057))
([c2e72b1](AztecProtocol@c2e72b1))
* Fix logs upload to S3
([AztecProtocol#6401](AztecProtocol#6401))
([9df0602](AztecProtocol@9df0602))
* Fix migration notes
([AztecProtocol#6458](AztecProtocol#6458))
([bee85a9](AztecProtocol@bee85a9))
* Fix migration notes
([AztecProtocol#6551](AztecProtocol#6551))
([89bc350](AztecProtocol@89bc350))
* Fix notes 0.41.0
([AztecProtocol#6461](AztecProtocol#6461))
([04b0ec5](AztecProtocol@04b0ec5))
* Fix poor performance and long compile times in value_note.derement()
([AztecProtocol#6523](AztecProtocol#6523))
([002b4aa](AztecProtocol@002b4aa))
* Fix tester image copy pattern
([AztecProtocol#6438](AztecProtocol#6438))
([b892eae](AztecProtocol@b892eae))
* Get_nullifier_keys cleanup
([AztecProtocol#6451](AztecProtocol#6451))
([8a71fd5](AztecProtocol@8a71fd5))
* Lower max public bytecode to 20k
([AztecProtocol#6477](AztecProtocol#6477))
([ce192f0](AztecProtocol@ce192f0))
* Move `UPLOAD_LOGS` into root earthfile
([AztecProtocol#6424](AztecProtocol#6424))
([d723da9](AztecProtocol@d723da9))
* Nuking `KeyStore` and `KeyPair` interfaces
([AztecProtocol#6553](AztecProtocol#6553))
([23e0518](AztecProtocol@23e0518))
* Parameterise cycle_group by `Builder` rather than `Composer`
([AztecProtocol#6565](AztecProtocol#6565))
([ea36bf9](AztecProtocol@ea36bf9))
* Prefetch noir deps in earthly for caching
([AztecProtocol#6556](AztecProtocol#6556))
([8ee9060](AztecProtocol@8ee9060))
* Private call validation
([AztecProtocol#6510](AztecProtocol#6510))
([07dc072](AztecProtocol@07dc072))
* Purge secret and open keywords
([AztecProtocol#6501](AztecProtocol#6501))
([f9c74c4](AztecProtocol@f9c74c4)),
closes
[AztecProtocol#5538](AztecProtocol#5538)
* Recommend Noir and rust plugin
([AztecProtocol#6558](AztecProtocol#6558))
([298561f](AztecProtocol@298561f))
* Refactor key rotate and address comments from 6405
([AztecProtocol#6450](AztecProtocol#6450))
([6f3dab8](AztecProtocol@6f3dab8))
* Remove acvmInfo from bb.js CLI
([AztecProtocol#6507](AztecProtocol#6507))
([e298c76](AztecProtocol@e298c76))
* Remove backend interactions from `nargo`
([AztecProtocol#6320](AztecProtocol#6320))
([7a31896](AztecProtocol@7a31896))
* Replace relative paths to noir-protocol-circuits
([94ab877](AztecProtocol@94ab877))
* Replace relative paths to noir-protocol-circuits
([9f04bfe](AztecProtocol@9f04bfe))
* Replace relative paths to noir-protocol-circuits
([67f29e5](AztecProtocol@67f29e5))
* Replace relative paths to noir-protocol-circuits
([a7a4b86](AztecProtocol@a7a4b86))
* Replace relative paths to noir-protocol-circuits
([c6f61a4](AztecProtocol@c6f61a4))
* Share decider with ultra_prover
([AztecProtocol#5467](AztecProtocol#5467))
([b3b7376](AztecProtocol@b3b7376))
* Switch over to constructing gates report in bash
([AztecProtocol#6491](AztecProtocol#6491))
([1fa5963](AztecProtocol@1fa5963))
* **tests:** Change error messages in preparation for AVM
([AztecProtocol#6422](AztecProtocol#6422))
([6616dc6](AztecProtocol@6616dc6))

* Sumcheck documentation
([AztecProtocol#5841](AztecProtocol#5841))
([116eef0](AztecProtocol@116eef0))
* Updating key docs in concepts section
([AztecProtocol#6387](AztecProtocol#6387))
([921a7f4](AztecProtocol@921a7f4))
</details>

<details><summary>barretenberg: 0.41.0</summary>

[0.41.0](AztecProtocol/aztec-packages@barretenberg-v0.40.1...barretenberg-v0.41.0)
(2024-05-21)

* add is_infinite to curve addition opcode
([AztecProtocol#6384](AztecProtocol#6384))

* Add is_infinite to curve addition opcode
([AztecProtocol#6384](AztecProtocol#6384))
([75d81c5](AztecProtocol@75d81c5))
* **avm-simulator:** Cap gas for external calls
([AztecProtocol#6479](AztecProtocol#6479))
([c8771ba](AztecProtocol@c8771ba))
* **avm:** Gzip avm bytecode
([AztecProtocol#6475](AztecProtocol#6475))
([29559bd](AztecProtocol@29559bd))
* **avm:** To_radix gadget
([AztecProtocol#6368](AztecProtocol#6368))
([89dd25f](AztecProtocol@89dd25f))
* Full encryption and decryption of log in ts
([AztecProtocol#6348](AztecProtocol#6348))
([0ac83dc](AztecProtocol@0ac83dc))
* Improved ClientIvc
([AztecProtocol#6429](AztecProtocol#6429))
([f360b3f](AztecProtocol@f360b3f))
* Laying out a new recursion constraint for honk
([AztecProtocol#6489](AztecProtocol#6489))
([af9fea4](AztecProtocol@af9fea4))
* Remove total logs len from pre tail kernels + add to L1
([AztecProtocol#6466](AztecProtocol#6466))
([66a2d43](AztecProtocol@66a2d43))
* Run benchmarks for ACIR proving
([AztecProtocol#6155](AztecProtocol#6155))
([ebf6fc2](AztecProtocol@ebf6fc2))
* Squash transient note logs
([AztecProtocol#6268](AztecProtocol#6268))
([4574877](AztecProtocol@4574877))
* Sum transaction fees and pay on l1
([AztecProtocol#6522](AztecProtocol#6522))
([bf441da](AztecProtocol@bf441da))
* Translator recursive verifier
([AztecProtocol#6327](AztecProtocol#6327))
([9321aef](AztecProtocol@9321aef))
* View functions with static context enforcing
([AztecProtocol#6338](AztecProtocol#6338))
([22ad5a5](AztecProtocol@22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([AztecProtocol#6406](AztecProtocol#6406))
([a6100ad](AztecProtocol@a6100ad))

* Disable buggy ClientIVC tests
([AztecProtocol#6546](AztecProtocol#6546))
([b61dea3](AztecProtocol@b61dea3))
* Increase N_max in Zeromorph
([AztecProtocol#6415](AztecProtocol#6415))
([9e643b4](AztecProtocol@9e643b4))

* Add c++ tests for generator derivation
([AztecProtocol#6528](AztecProtocol#6528))
([72931bd](AztecProtocol@72931bd))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([AztecProtocol#6462](AztecProtocol#6462))
([26eac62](AztecProtocol@26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([AztecProtocol#6495](AztecProtocol#6495))
([90d8092](AztecProtocol@90d8092))
* Copy subset of constants to cpp
([AztecProtocol#6544](AztecProtocol#6544))
([21dc72a](AztecProtocol@21dc72a))
* Lower max public bytecode to 20k
([AztecProtocol#6477](AztecProtocol#6477))
([ce192f0](AztecProtocol@ce192f0))
* Parameterise cycle_group by `Builder` rather than `Composer`
([AztecProtocol#6565](AztecProtocol#6565))
([ea36bf9](AztecProtocol@ea36bf9))
* Private call validation
([AztecProtocol#6510](AztecProtocol#6510))
([07dc072](AztecProtocol@07dc072))
* Share decider with ultra_prover
([AztecProtocol#5467](AztecProtocol#5467))
([b3b7376](AztecProtocol@b3b7376))

* Sumcheck documentation
([AztecProtocol#5841](AztecProtocol#5841))
([116eef0](AztecProtocol@116eef0))
</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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add proof_as_fields and vk_as_fields flows for Honk
3 participants