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: Proving the private kernels and app circuits #6112

Merged
merged 19 commits into from
May 3, 2024

Conversation

PhilWindle
Copy link
Collaborator

@PhilWindle PhilWindle commented May 1, 2024

This is the first PR related to the proving of a the private kernel and application circuits. It introduces a native BB prover, temporarily in place of a WASM based solution. The private kernel tail circuits don't currently prove so these are still simulated. An integration test has been added so we can verify successful proof generation once all circuits are ready.

Closes: #5976 #5977 #6236

@AztecBot
Copy link
Collaborator

AztecBot commented May 1, 2024

Benchmark results

Metrics with a significant change:

  • batch_insert_into_append_only_tree_32_depth_ms (512): 406 (+17%)
  • batch_insert_into_indexed_tree_20_depth_ms (512): 565 (+29%)
  • tx_sequencer_processing_time_ms (4): 948 (-23%)
  • tx_sequencer_processing_time_ms (8): 1,121 (-27%)
  • l2_block_building_time_in_ms (8): 21,876 (-16%)
  • l2_block_rollup_simulation_time_in_ms (8): 21,671 (-16%)
  • l2_block_public_tx_process_time_in_ms (8): 9,101 (-17%)
  • l2_block_processing_time_in_ms (8): 2,087 (+25%)
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,668 6,680
l1_rollup_execution_gas 586,824 586,800 586,812
l2_block_processing_time_in_ms ⚠️ 2,087 (+25%) 5,413 (+3%) 9,754 (-1%)
l2_block_building_time_in_ms ⚠️ 21,876 (-16%) 95,119 (+6%) 169,140
l2_block_rollup_simulation_time_in_ms ⚠️ 21,671 (-16%) 94,201 (+6%) 167,650
l2_block_public_tx_process_time_in_ms ⚠️ 9,101 (-17%) 40,392 (+7%) 70,238

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 14,735 27,373 (+1%)
node_database_size_in_bytes 20,725,840 37,359,696
pxe_database_size_in_bytes 29,868 59,425

Circuits stats

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

Circuit circuit_simulation_time_in_ms circuit_input_size_in_bytes circuit_output_size_in_bytes
private-kernel-init 186 (-2%) 46,777 28,822
private-kernel-inner 219 (-4%) 76,692 28,822
private-kernel-ordering 243 (-3%) 53,040 42,751
base-parity 79.7 (-1%) 128 64.0
base-rollup 14,795 (+1%) 111,062 925
root-parity 1,632 (-3%) 27,064 64.0
root-rollup 72.5 (-5%) 11,454 789
public-kernel-app-logic 2,023 54,321 22,677
public-kernel-tail 4,984 (+1%) 159,770 3,898
merge-rollup 5,410 (+1%) 2,696 925
public-kernel-teardown 189 (+10%) 54,321 30,042
public-kernel-setup 251 (+10%) 54,321 30,042

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 11.4 (-1%) 18.9 (-4%) 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.664 (-1%) 0.580 (-4%) 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 53.4 (-2%) 81.6 (-1%) ⚠️ 406 (+17%) 489 1,021 (+3%) 1,901 (-1%) 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.545 (-2%) 0.503 (-1%) 0.733 (+16%) 0.457 0.482 (+3%) 0.455 (-1%) N/A
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 62.1 (-2%) 120 (-6%) ⚠️ 565 (+29%) 720 (+1%) 1,554 (+1%) 2,850 (-2%) N/A
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 105 208 692 1,363 2,707 5,395 N/A
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A 0.546 (-2%) 0.539 (-5%) 0.760 (+28%) 0.496 (+1%) 0.533 (+1%) 0.497 (-2%) 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 67.3
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.593

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 44,613 535,433

Transaction size based on fee payment method

Metric native fee payment method fpc_public fee payment method fpc_private fee payment method
tx_with_fee_size_in_bytes 897 1,145 1,345

Transaction processing duration by data writes.

Metric 0 new note hashes 1 new note hashes 2 new note hashes
tx_pxe_processing_time_ms 1,587 (-10%) 1,069 (-3%) 4,578 (+10%)
Metric 1 public data writes 2 public data writes 3 public data writes 4 public data writes 5 public data writes 8 public data writes
tx_sequencer_processing_time_ms 917 900 (-12%) 1,711 (+8%) ⚠️ 948 (-23%) 2,681 (+1%) ⚠️ 1,121 (-27%)

@@ -115,6 +124,28 @@ const getACVMConfig = async (logger: DebugLogger) => {
}
};

// Determines if we have access to the bb binary and a tmp folder for temp files
export const getBBConfig = async (logger: DebugLogger) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

PR #6051 adds the same function. Just leaving a note here to make sure one of the implementations is cleaned up once both PRs land.

* @param resultParser - An optional handler for detecting success or failure
* @returns The completed partial witness outputted from the circuit
*/
function executeBB(
Copy link
Contributor

Choose a reason for hiding this comment

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

I was going to say "it would be nice to have a wrapper to the bb binary" but then I remembered these proofs should actually be generated through wasm

Copy link
Contributor

Choose a reason for hiding this comment

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

Are these two new dependencies left overs from the attempt at proving via wasm? I can't see where they're being used right now.

@PhilWindle PhilWindle enabled auto-merge (squash) May 3, 2024 14:49
@PhilWindle PhilWindle merged commit 4a43fab into master May 3, 2024
61 checks passed
@PhilWindle PhilWindle deleted the pw/configure-private-kernel-proving branch May 3, 2024 16:17
rahul-kothari pushed a commit that referenced this pull request May 7, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.37.1](aztec-package-v0.37.0...aztec-package-v0.37.1)
(2024-05-07)


### Features

* Proving benchmark
([#6051](#6051))
([644bd85](644bd85))
</details>

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

##
[0.37.1](barretenberg.js-v0.37.0...barretenberg.js-v0.37.1)
(2024-05-07)


### Features

* Honk flows exposed through wasm
([#6096](#6096))
([c9b3206](c9b3206))
* Run noir-packages-test in Earthly
([#6174](#6174))
([58e40c9](58e40c9))


### Miscellaneous

* Bump bb.js timeouts
([#6196](#6196))
([acab3de](acab3de))
* Migrate acir tests to earthly
([#6142](#6142))
([18c8ea8](18c8ea8))
</details>

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

##
[0.37.1](aztec-packages-v0.37.0...aztec-packages-v0.37.1)
(2024-05-07)


### Features

* Add ciphertext computation for log header
([#6175](#6175))
([3e05534](3e05534))
* Add proving retries
([#6145](#6145))
([39ab99c](39ab99c))
* Add public teardown to circuit structs
([#6191](#6191))
([03e1b93](03e1b93))
* Always including debug data in a function artifact
([#6223](#6223))
([5d6d22c](5d6d22c))
* **avm:** Add TransactionFee opcode to simulator
([#6210](#6210))
([fcac844](fcac844))
* Complex outputs from acir call
(noir-lang/noir#4952)
([3ed41a0](3ed41a0))
* Expose set_public_teardown_function in private context
([#6199](#6199))
([4d8b51c](4d8b51c))
* Handle empty response foreign calls without an external resolver
(noir-lang/noir#4959)
([3ed41a0](3ed41a0))
* Hash logs inside circuit
([#5934](#5934))
([6b99527](6b99527))
* Honk flows exposed through wasm
([#6096](#6096))
([c9b3206](c9b3206))
* Include transaction fee in txreceipt
([#6139](#6139))
([6785512](6785512))
* Making keys getters complete
([#6171](#6171))
([e85dde9](e85dde9))
* Move noir-tests to earthly
([#6185](#6185))
([4daea40](4daea40))
* Note hash read requests fixes and refactoring
([#6125](#6125))
([9d03f34](9d03f34))
* Optimize array sets in if conditions (alternate version)
(noir-lang/noir#4716)
([3ed41a0](3ed41a0))
* Osxcross
([#6099](#6099))
([6cc924d](6cc924d))
* Parsing non-string assertion payloads in noir js
([#6079](#6079))
([fbd78fd](fbd78fd))
* Proving benchmark
([#6051](#6051))
([644bd85](644bd85))
* Proving the private kernels and app circuits
([#6112](#6112))
([4a43fab](4a43fab))
* Publish transaction_fee
([#6126](#6126))
([6f3a036](6f3a036))
* Recursive folding verifier and decider as ultra circuits and circuit
simulator
([#6150](#6150))
([acc8641](acc8641))
* Run noir-packages-test in Earthly
([#6174](#6174))
([58e40c9](58e40c9))
* Set aztec private functions to be recursive
([#6192](#6192))
([22625f8](22625f8))
* Use actual tx fee in gas token when charging fee
([#6166](#6166))
([8418eac](8418eac))


### Bug Fixes

* **abstract-phase-manager:** Get available gas from latest kernel
output
([#6102](#6102))
([0fa509b](0fa509b))
* Aztec-run not exposing port for builder
([#6241](#6241))
([a80c091](a80c091))
* Boxes use base image
([#6120](#6120))
([ef2589a](ef2589a))
* Correct circuit size estimation for UltraHonk
([#6164](#6164))
([ed84fe3](ed84fe3))
* Docs release ci setup
([#6159](#6159))
([6d5cfe6](6d5cfe6))
* **docs:** Fix broken link in tree implementations page
([#6143](#6143))
([b39f1db](b39f1db))
* **docs:** Update sandbox reference
([#6094](#6094))
([0641085](0641085))
* Increase default number of proving agents
([#6146](#6146))
([5ade36e](5ade36e))
* Install aztec-builder
([#6149](#6149))
([0497dcf](0497dcf))
* **public-kernel:** Only validate start-gas for execution requests
([#6100](#6100))
([3ec9303](3ec9303))
* Scope netlify to yarn bin
([#6162](#6162))
([be8e3c0](be8e3c0))
* Set up the ci runner for doc deployment
([#6160](#6160))
([e295900](e295900))
* Sporadic failure of GoblinRecursionTests.Vanilla
([#6218](#6218))
([f4ecea5](f4ecea5))
* Use annotated type when checking declaration
(noir-lang/noir#4966)
([3ed41a0](3ed41a0))
* Use pushed build images.
([#6154](#6154))
([426f7a7](426f7a7))
* Use random id for proving jobs
([#6084](#6084))
([0e0fc58](0e0fc58))
* Various aztec-builder issues
([#6233](#6233))
([9a644ba](9a644ba))


### Miscellaneous

* **avm-simulator:** Avm's nested calls now stay internal and properly
track PublicExecutionResult
([#6165](#6165))
([9fd4f39](9fd4f39))
* **avm-simulator:** Make shifts take u8
([#5905](#5905))
([4719ff1](4719ff1))
* **avm-simulator:** Track recursive public execution result in
avm-simulator for integration with old kernel
([#6106](#6106))
([df3bcc6](df3bcc6))
* Bump bb.js timeouts
([#6196](#6196))
([acab3de](acab3de))
* Check root parity is only enqueued once its deps are ready
([#6015](#6015))
([c1120d1](c1120d1))
* **ci:** Force earthly prune if corrupted cache
([#6152](#6152))
([3910314](3910314))
* **ci:** Improve dependency structure
([#6200](#6200))
([3abc862](3abc862))
* **ci:** Migrate `protocol-circuits-gate-diff` to earthly
([#6204](#6204))
([4b43295](4b43295))
* **ci:** More stable spot request
([#6212](#6212))
([00156b5](00156b5))
* **ci:** Optimize e2e build
([#6202](#6202))
([4614059](4614059))
* **ci:** Rollback earthly prune
([#6208](#6208))
([3ccc6ac](3ccc6ac))
* **ci:** Try to make base image more stable
([#6144](#6144))
([979a22d](979a22d))
* E2e workaround
([#6158](#6158))
([7794d78](7794d78))
* Migrate acir tests to earthly
([#6142](#6142))
([18c8ea8](18c8ea8))
* Rename instruction checks for side effects
(noir-lang/noir#4945)
([3ed41a0](3ed41a0))
* Replace relative paths to noir-protocol-circuits
([cf543a6](cf543a6))
* Replace relative paths to noir-protocol-circuits
([53cf7bb](53cf7bb))
* Replace relative paths to noir-protocol-circuits
([ca29cea](ca29cea))
* Replace relative paths to noir-protocol-circuits
([08e538b](08e538b))
* Speedup static_call test
([#6157](#6157))
([abe8875](abe8875))
* Switch Noir JS to use execute program instead of circuit
(noir-lang/noir#4965)
([3ed41a0](3ed41a0))
* Use correct call type
([#6064](#6064))
([b3ae289](b3ae289))


### Documentation

* Add GlobalVariables to CombinedConstantData
([#6071](#6071))
([cf026d2](cf026d2))
* Update fees kernel tracking docs
([#6151](#6151))
([7d80428](7d80428))
</details>

<details><summary>barretenberg: 0.37.1</summary>

##
[0.37.1](barretenberg-v0.37.0...barretenberg-v0.37.1)
(2024-05-07)


### Features

* **avm:** Add TransactionFee opcode to simulator
([#6210](#6210))
([fcac844](fcac844))
* Honk flows exposed through wasm
([#6096](#6096))
([c9b3206](c9b3206))
* Osxcross
([#6099](#6099))
([6cc924d](6cc924d))
* Recursive folding verifier and decider as ultra circuits and circuit
simulator
([#6150](#6150))
([acc8641](acc8641))


### Bug Fixes

* Correct circuit size estimation for UltraHonk
([#6164](#6164))
([ed84fe3](ed84fe3))
* Sporadic failure of GoblinRecursionTests.Vanilla
([#6218](#6218))
([f4ecea5](f4ecea5))


### Miscellaneous

* Migrate acir tests to earthly
([#6142](#6142))
([18c8ea8](18c8ea8))
</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 8, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.37.1](AztecProtocol/aztec-packages@aztec-package-v0.37.0...aztec-package-v0.37.1)
(2024-05-07)


### Features

* Proving benchmark
([#6051](AztecProtocol/aztec-packages#6051))
([644bd85](AztecProtocol/aztec-packages@644bd85))
</details>

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

##
[0.37.1](AztecProtocol/aztec-packages@barretenberg.js-v0.37.0...barretenberg.js-v0.37.1)
(2024-05-07)


### Features

* Honk flows exposed through wasm
([#6096](AztecProtocol/aztec-packages#6096))
([c9b3206](AztecProtocol/aztec-packages@c9b3206))
* Run noir-packages-test in Earthly
([#6174](AztecProtocol/aztec-packages#6174))
([58e40c9](AztecProtocol/aztec-packages@58e40c9))


### Miscellaneous

* Bump bb.js timeouts
([#6196](AztecProtocol/aztec-packages#6196))
([acab3de](AztecProtocol/aztec-packages@acab3de))
* Migrate acir tests to earthly
([#6142](AztecProtocol/aztec-packages#6142))
([18c8ea8](AztecProtocol/aztec-packages@18c8ea8))
</details>

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

##
[0.37.1](AztecProtocol/aztec-packages@aztec-packages-v0.37.0...aztec-packages-v0.37.1)
(2024-05-07)


### Features

* Add ciphertext computation for log header
([#6175](AztecProtocol/aztec-packages#6175))
([3e05534](AztecProtocol/aztec-packages@3e05534))
* Add proving retries
([#6145](AztecProtocol/aztec-packages#6145))
([39ab99c](AztecProtocol/aztec-packages@39ab99c))
* Add public teardown to circuit structs
([#6191](AztecProtocol/aztec-packages#6191))
([03e1b93](AztecProtocol/aztec-packages@03e1b93))
* Always including debug data in a function artifact
([#6223](AztecProtocol/aztec-packages#6223))
([5d6d22c](AztecProtocol/aztec-packages@5d6d22c))
* **avm:** Add TransactionFee opcode to simulator
([#6210](AztecProtocol/aztec-packages#6210))
([fcac844](AztecProtocol/aztec-packages@fcac844))
* Complex outputs from acir call
(noir-lang/noir#4952)
([3ed41a0](AztecProtocol/aztec-packages@3ed41a0))
* Expose set_public_teardown_function in private context
([#6199](AztecProtocol/aztec-packages#6199))
([4d8b51c](AztecProtocol/aztec-packages@4d8b51c))
* Handle empty response foreign calls without an external resolver
(noir-lang/noir#4959)
([3ed41a0](AztecProtocol/aztec-packages@3ed41a0))
* Hash logs inside circuit
([#5934](AztecProtocol/aztec-packages#5934))
([6b99527](AztecProtocol/aztec-packages@6b99527))
* Honk flows exposed through wasm
([#6096](AztecProtocol/aztec-packages#6096))
([c9b3206](AztecProtocol/aztec-packages@c9b3206))
* Include transaction fee in txreceipt
([#6139](AztecProtocol/aztec-packages#6139))
([6785512](AztecProtocol/aztec-packages@6785512))
* Making keys getters complete
([#6171](AztecProtocol/aztec-packages#6171))
([e85dde9](AztecProtocol/aztec-packages@e85dde9))
* Move noir-tests to earthly
([#6185](AztecProtocol/aztec-packages#6185))
([4daea40](AztecProtocol/aztec-packages@4daea40))
* Note hash read requests fixes and refactoring
([#6125](AztecProtocol/aztec-packages#6125))
([9d03f34](AztecProtocol/aztec-packages@9d03f34))
* Optimize array sets in if conditions (alternate version)
(noir-lang/noir#4716)
([3ed41a0](AztecProtocol/aztec-packages@3ed41a0))
* Osxcross
([#6099](AztecProtocol/aztec-packages#6099))
([6cc924d](AztecProtocol/aztec-packages@6cc924d))
* Parsing non-string assertion payloads in noir js
([#6079](AztecProtocol/aztec-packages#6079))
([fbd78fd](AztecProtocol/aztec-packages@fbd78fd))
* Proving benchmark
([#6051](AztecProtocol/aztec-packages#6051))
([644bd85](AztecProtocol/aztec-packages@644bd85))
* Proving the private kernels and app circuits
([#6112](AztecProtocol/aztec-packages#6112))
([4a43fab](AztecProtocol/aztec-packages@4a43fab))
* Publish transaction_fee
([#6126](AztecProtocol/aztec-packages#6126))
([6f3a036](AztecProtocol/aztec-packages@6f3a036))
* Recursive folding verifier and decider as ultra circuits and circuit
simulator
([#6150](AztecProtocol/aztec-packages#6150))
([acc8641](AztecProtocol/aztec-packages@acc8641))
* Run noir-packages-test in Earthly
([#6174](AztecProtocol/aztec-packages#6174))
([58e40c9](AztecProtocol/aztec-packages@58e40c9))
* Set aztec private functions to be recursive
([#6192](AztecProtocol/aztec-packages#6192))
([22625f8](AztecProtocol/aztec-packages@22625f8))
* Use actual tx fee in gas token when charging fee
([#6166](AztecProtocol/aztec-packages#6166))
([8418eac](AztecProtocol/aztec-packages@8418eac))


### Bug Fixes

* **abstract-phase-manager:** Get available gas from latest kernel
output
([#6102](AztecProtocol/aztec-packages#6102))
([0fa509b](AztecProtocol/aztec-packages@0fa509b))
* Aztec-run not exposing port for builder
([#6241](AztecProtocol/aztec-packages#6241))
([a80c091](AztecProtocol/aztec-packages@a80c091))
* Boxes use base image
([#6120](AztecProtocol/aztec-packages#6120))
([ef2589a](AztecProtocol/aztec-packages@ef2589a))
* Correct circuit size estimation for UltraHonk
([#6164](AztecProtocol/aztec-packages#6164))
([ed84fe3](AztecProtocol/aztec-packages@ed84fe3))
* Docs release ci setup
([#6159](AztecProtocol/aztec-packages#6159))
([6d5cfe6](AztecProtocol/aztec-packages@6d5cfe6))
* **docs:** Fix broken link in tree implementations page
([#6143](AztecProtocol/aztec-packages#6143))
([b39f1db](AztecProtocol/aztec-packages@b39f1db))
* **docs:** Update sandbox reference
([#6094](AztecProtocol/aztec-packages#6094))
([0641085](AztecProtocol/aztec-packages@0641085))
* Increase default number of proving agents
([#6146](AztecProtocol/aztec-packages#6146))
([5ade36e](AztecProtocol/aztec-packages@5ade36e))
* Install aztec-builder
([#6149](AztecProtocol/aztec-packages#6149))
([0497dcf](AztecProtocol/aztec-packages@0497dcf))
* **public-kernel:** Only validate start-gas for execution requests
([#6100](AztecProtocol/aztec-packages#6100))
([3ec9303](AztecProtocol/aztec-packages@3ec9303))
* Scope netlify to yarn bin
([#6162](AztecProtocol/aztec-packages#6162))
([be8e3c0](AztecProtocol/aztec-packages@be8e3c0))
* Set up the ci runner for doc deployment
([#6160](AztecProtocol/aztec-packages#6160))
([e295900](AztecProtocol/aztec-packages@e295900))
* Sporadic failure of GoblinRecursionTests.Vanilla
([#6218](AztecProtocol/aztec-packages#6218))
([f4ecea5](AztecProtocol/aztec-packages@f4ecea5))
* Use annotated type when checking declaration
(noir-lang/noir#4966)
([3ed41a0](AztecProtocol/aztec-packages@3ed41a0))
* Use pushed build images.
([#6154](AztecProtocol/aztec-packages#6154))
([426f7a7](AztecProtocol/aztec-packages@426f7a7))
* Use random id for proving jobs
([#6084](AztecProtocol/aztec-packages#6084))
([0e0fc58](AztecProtocol/aztec-packages@0e0fc58))
* Various aztec-builder issues
([#6233](AztecProtocol/aztec-packages#6233))
([9a644ba](AztecProtocol/aztec-packages@9a644ba))


### Miscellaneous

* **avm-simulator:** Avm's nested calls now stay internal and properly
track PublicExecutionResult
([#6165](AztecProtocol/aztec-packages#6165))
([9fd4f39](AztecProtocol/aztec-packages@9fd4f39))
* **avm-simulator:** Make shifts take u8
([#5905](AztecProtocol/aztec-packages#5905))
([4719ff1](AztecProtocol/aztec-packages@4719ff1))
* **avm-simulator:** Track recursive public execution result in
avm-simulator for integration with old kernel
([#6106](AztecProtocol/aztec-packages#6106))
([df3bcc6](AztecProtocol/aztec-packages@df3bcc6))
* Bump bb.js timeouts
([#6196](AztecProtocol/aztec-packages#6196))
([acab3de](AztecProtocol/aztec-packages@acab3de))
* Check root parity is only enqueued once its deps are ready
([#6015](AztecProtocol/aztec-packages#6015))
([c1120d1](AztecProtocol/aztec-packages@c1120d1))
* **ci:** Force earthly prune if corrupted cache
([#6152](AztecProtocol/aztec-packages#6152))
([3910314](AztecProtocol/aztec-packages@3910314))
* **ci:** Improve dependency structure
([#6200](AztecProtocol/aztec-packages#6200))
([3abc862](AztecProtocol/aztec-packages@3abc862))
* **ci:** Migrate `protocol-circuits-gate-diff` to earthly
([#6204](AztecProtocol/aztec-packages#6204))
([4b43295](AztecProtocol/aztec-packages@4b43295))
* **ci:** More stable spot request
([#6212](AztecProtocol/aztec-packages#6212))
([00156b5](AztecProtocol/aztec-packages@00156b5))
* **ci:** Optimize e2e build
([#6202](AztecProtocol/aztec-packages#6202))
([4614059](AztecProtocol/aztec-packages@4614059))
* **ci:** Rollback earthly prune
([#6208](AztecProtocol/aztec-packages#6208))
([3ccc6ac](AztecProtocol/aztec-packages@3ccc6ac))
* **ci:** Try to make base image more stable
([#6144](AztecProtocol/aztec-packages#6144))
([979a22d](AztecProtocol/aztec-packages@979a22d))
* E2e workaround
([#6158](AztecProtocol/aztec-packages#6158))
([7794d78](AztecProtocol/aztec-packages@7794d78))
* Migrate acir tests to earthly
([#6142](AztecProtocol/aztec-packages#6142))
([18c8ea8](AztecProtocol/aztec-packages@18c8ea8))
* Rename instruction checks for side effects
(noir-lang/noir#4945)
([3ed41a0](AztecProtocol/aztec-packages@3ed41a0))
* Replace relative paths to noir-protocol-circuits
([cf543a6](AztecProtocol/aztec-packages@cf543a6))
* Replace relative paths to noir-protocol-circuits
([53cf7bb](AztecProtocol/aztec-packages@53cf7bb))
* Replace relative paths to noir-protocol-circuits
([ca29cea](AztecProtocol/aztec-packages@ca29cea))
* Replace relative paths to noir-protocol-circuits
([08e538b](AztecProtocol/aztec-packages@08e538b))
* Speedup static_call test
([#6157](AztecProtocol/aztec-packages#6157))
([abe8875](AztecProtocol/aztec-packages@abe8875))
* Switch Noir JS to use execute program instead of circuit
(noir-lang/noir#4965)
([3ed41a0](AztecProtocol/aztec-packages@3ed41a0))
* Use correct call type
([#6064](AztecProtocol/aztec-packages#6064))
([b3ae289](AztecProtocol/aztec-packages@b3ae289))


### Documentation

* Add GlobalVariables to CombinedConstantData
([#6071](AztecProtocol/aztec-packages#6071))
([cf026d2](AztecProtocol/aztec-packages@cf026d2))
* Update fees kernel tracking docs
([#6151](AztecProtocol/aztec-packages#6151))
([7d80428](AztecProtocol/aztec-packages@7d80428))
</details>

<details><summary>barretenberg: 0.37.1</summary>

##
[0.37.1](AztecProtocol/aztec-packages@barretenberg-v0.37.0...barretenberg-v0.37.1)
(2024-05-07)


### Features

* **avm:** Add TransactionFee opcode to simulator
([#6210](AztecProtocol/aztec-packages#6210))
([fcac844](AztecProtocol/aztec-packages@fcac844))
* Honk flows exposed through wasm
([#6096](AztecProtocol/aztec-packages#6096))
([c9b3206](AztecProtocol/aztec-packages@c9b3206))
* Osxcross
([#6099](AztecProtocol/aztec-packages#6099))
([6cc924d](AztecProtocol/aztec-packages@6cc924d))
* Recursive folding verifier and decider as ultra circuits and circuit
simulator
([#6150](AztecProtocol/aztec-packages#6150))
([acc8641](AztecProtocol/aztec-packages@acc8641))


### Bug Fixes

* Correct circuit size estimation for UltraHonk
([#6164](AztecProtocol/aztec-packages#6164))
([ed84fe3](AztecProtocol/aztec-packages@ed84fe3))
* Sporadic failure of GoblinRecursionTests.Vanilla
([#6218](AztecProtocol/aztec-packages#6218))
([f4ecea5](AztecProtocol/aztec-packages@f4ecea5))


### Miscellaneous

* Migrate acir tests to earthly
([#6142](AztecProtocol/aztec-packages#6142))
([18c8ea8](AztecProtocol/aztec-packages@18c8ea8))
</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.37.1</summary>

[0.37.1](AztecProtocol/aztec-packages@aztec-package-v0.37.0...aztec-package-v0.37.1)
(2024-05-07)

* Proving benchmark
([AztecProtocol#6051](AztecProtocol#6051))
([644bd85](AztecProtocol@644bd85))
</details>

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

[0.37.1](AztecProtocol/aztec-packages@barretenberg.js-v0.37.0...barretenberg.js-v0.37.1)
(2024-05-07)

* Honk flows exposed through wasm
([AztecProtocol#6096](AztecProtocol#6096))
([c9b3206](AztecProtocol@c9b3206))
* Run noir-packages-test in Earthly
([AztecProtocol#6174](AztecProtocol#6174))
([58e40c9](AztecProtocol@58e40c9))

* Bump bb.js timeouts
([AztecProtocol#6196](AztecProtocol#6196))
([acab3de](AztecProtocol@acab3de))
* Migrate acir tests to earthly
([AztecProtocol#6142](AztecProtocol#6142))
([18c8ea8](AztecProtocol@18c8ea8))
</details>

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

[0.37.1](AztecProtocol/aztec-packages@aztec-packages-v0.37.0...aztec-packages-v0.37.1)
(2024-05-07)

* Add ciphertext computation for log header
([AztecProtocol#6175](AztecProtocol#6175))
([3e05534](AztecProtocol@3e05534))
* Add proving retries
([AztecProtocol#6145](AztecProtocol#6145))
([39ab99c](AztecProtocol@39ab99c))
* Add public teardown to circuit structs
([AztecProtocol#6191](AztecProtocol#6191))
([03e1b93](AztecProtocol@03e1b93))
* Always including debug data in a function artifact
([AztecProtocol#6223](AztecProtocol#6223))
([5d6d22c](AztecProtocol@5d6d22c))
* **avm:** Add TransactionFee opcode to simulator
([AztecProtocol#6210](AztecProtocol#6210))
([fcac844](AztecProtocol@fcac844))
* Complex outputs from acir call
(noir-lang/noir#4952)
([3ed41a0](AztecProtocol@3ed41a0))
* Expose set_public_teardown_function in private context
([AztecProtocol#6199](AztecProtocol#6199))
([4d8b51c](AztecProtocol@4d8b51c))
* Handle empty response foreign calls without an external resolver
(noir-lang/noir#4959)
([3ed41a0](AztecProtocol@3ed41a0))
* Hash logs inside circuit
([AztecProtocol#5934](AztecProtocol#5934))
([6b99527](AztecProtocol@6b99527))
* Honk flows exposed through wasm
([AztecProtocol#6096](AztecProtocol#6096))
([c9b3206](AztecProtocol@c9b3206))
* Include transaction fee in txreceipt
([AztecProtocol#6139](AztecProtocol#6139))
([6785512](AztecProtocol@6785512))
* Making keys getters complete
([AztecProtocol#6171](AztecProtocol#6171))
([e85dde9](AztecProtocol@e85dde9))
* Move noir-tests to earthly
([AztecProtocol#6185](AztecProtocol#6185))
([4daea40](AztecProtocol@4daea40))
* Note hash read requests fixes and refactoring
([AztecProtocol#6125](AztecProtocol#6125))
([9d03f34](AztecProtocol@9d03f34))
* Optimize array sets in if conditions (alternate version)
(noir-lang/noir#4716)
([3ed41a0](AztecProtocol@3ed41a0))
* Osxcross
([AztecProtocol#6099](AztecProtocol#6099))
([6cc924d](AztecProtocol@6cc924d))
* Parsing non-string assertion payloads in noir js
([AztecProtocol#6079](AztecProtocol#6079))
([fbd78fd](AztecProtocol@fbd78fd))
* Proving benchmark
([AztecProtocol#6051](AztecProtocol#6051))
([644bd85](AztecProtocol@644bd85))
* Proving the private kernels and app circuits
([AztecProtocol#6112](AztecProtocol#6112))
([4a43fab](AztecProtocol@4a43fab))
* Publish transaction_fee
([AztecProtocol#6126](AztecProtocol#6126))
([6f3a036](AztecProtocol@6f3a036))
* Recursive folding verifier and decider as ultra circuits and circuit
simulator
([AztecProtocol#6150](AztecProtocol#6150))
([acc8641](AztecProtocol@acc8641))
* Run noir-packages-test in Earthly
([AztecProtocol#6174](AztecProtocol#6174))
([58e40c9](AztecProtocol@58e40c9))
* Set aztec private functions to be recursive
([AztecProtocol#6192](AztecProtocol#6192))
([22625f8](AztecProtocol@22625f8))
* Use actual tx fee in gas token when charging fee
([AztecProtocol#6166](AztecProtocol#6166))
([8418eac](AztecProtocol@8418eac))

* **abstract-phase-manager:** Get available gas from latest kernel
output
([AztecProtocol#6102](AztecProtocol#6102))
([0fa509b](AztecProtocol@0fa509b))
* Aztec-run not exposing port for builder
([AztecProtocol#6241](AztecProtocol#6241))
([a80c091](AztecProtocol@a80c091))
* Boxes use base image
([AztecProtocol#6120](AztecProtocol#6120))
([ef2589a](AztecProtocol@ef2589a))
* Correct circuit size estimation for UltraHonk
([AztecProtocol#6164](AztecProtocol#6164))
([ed84fe3](AztecProtocol@ed84fe3))
* Docs release ci setup
([AztecProtocol#6159](AztecProtocol#6159))
([6d5cfe6](AztecProtocol@6d5cfe6))
* **docs:** Fix broken link in tree implementations page
([AztecProtocol#6143](AztecProtocol#6143))
([b39f1db](AztecProtocol@b39f1db))
* **docs:** Update sandbox reference
([AztecProtocol#6094](AztecProtocol#6094))
([0641085](AztecProtocol@0641085))
* Increase default number of proving agents
([AztecProtocol#6146](AztecProtocol#6146))
([5ade36e](AztecProtocol@5ade36e))
* Install aztec-builder
([AztecProtocol#6149](AztecProtocol#6149))
([0497dcf](AztecProtocol@0497dcf))
* **public-kernel:** Only validate start-gas for execution requests
([AztecProtocol#6100](AztecProtocol#6100))
([3ec9303](AztecProtocol@3ec9303))
* Scope netlify to yarn bin
([AztecProtocol#6162](AztecProtocol#6162))
([be8e3c0](AztecProtocol@be8e3c0))
* Set up the ci runner for doc deployment
([AztecProtocol#6160](AztecProtocol#6160))
([e295900](AztecProtocol@e295900))
* Sporadic failure of GoblinRecursionTests.Vanilla
([AztecProtocol#6218](AztecProtocol#6218))
([f4ecea5](AztecProtocol@f4ecea5))
* Use annotated type when checking declaration
(noir-lang/noir#4966)
([3ed41a0](AztecProtocol@3ed41a0))
* Use pushed build images.
([AztecProtocol#6154](AztecProtocol#6154))
([426f7a7](AztecProtocol@426f7a7))
* Use random id for proving jobs
([AztecProtocol#6084](AztecProtocol#6084))
([0e0fc58](AztecProtocol@0e0fc58))
* Various aztec-builder issues
([AztecProtocol#6233](AztecProtocol#6233))
([9a644ba](AztecProtocol@9a644ba))

* **avm-simulator:** Avm's nested calls now stay internal and properly
track PublicExecutionResult
([AztecProtocol#6165](AztecProtocol#6165))
([9fd4f39](AztecProtocol@9fd4f39))
* **avm-simulator:** Make shifts take u8
([AztecProtocol#5905](AztecProtocol#5905))
([4719ff1](AztecProtocol@4719ff1))
* **avm-simulator:** Track recursive public execution result in
avm-simulator for integration with old kernel
([AztecProtocol#6106](AztecProtocol#6106))
([df3bcc6](AztecProtocol@df3bcc6))
* Bump bb.js timeouts
([AztecProtocol#6196](AztecProtocol#6196))
([acab3de](AztecProtocol@acab3de))
* Check root parity is only enqueued once its deps are ready
([AztecProtocol#6015](AztecProtocol#6015))
([c1120d1](AztecProtocol@c1120d1))
* **ci:** Force earthly prune if corrupted cache
([AztecProtocol#6152](AztecProtocol#6152))
([3910314](AztecProtocol@3910314))
* **ci:** Improve dependency structure
([AztecProtocol#6200](AztecProtocol#6200))
([3abc862](AztecProtocol@3abc862))
* **ci:** Migrate `protocol-circuits-gate-diff` to earthly
([AztecProtocol#6204](AztecProtocol#6204))
([4b43295](AztecProtocol@4b43295))
* **ci:** More stable spot request
([AztecProtocol#6212](AztecProtocol#6212))
([00156b5](AztecProtocol@00156b5))
* **ci:** Optimize e2e build
([AztecProtocol#6202](AztecProtocol#6202))
([4614059](AztecProtocol@4614059))
* **ci:** Rollback earthly prune
([AztecProtocol#6208](AztecProtocol#6208))
([3ccc6ac](AztecProtocol@3ccc6ac))
* **ci:** Try to make base image more stable
([AztecProtocol#6144](AztecProtocol#6144))
([979a22d](AztecProtocol@979a22d))
* E2e workaround
([AztecProtocol#6158](AztecProtocol#6158))
([7794d78](AztecProtocol@7794d78))
* Migrate acir tests to earthly
([AztecProtocol#6142](AztecProtocol#6142))
([18c8ea8](AztecProtocol@18c8ea8))
* Rename instruction checks for side effects
(noir-lang/noir#4945)
([3ed41a0](AztecProtocol@3ed41a0))
* Replace relative paths to noir-protocol-circuits
([cf543a6](AztecProtocol@cf543a6))
* Replace relative paths to noir-protocol-circuits
([53cf7bb](AztecProtocol@53cf7bb))
* Replace relative paths to noir-protocol-circuits
([ca29cea](AztecProtocol@ca29cea))
* Replace relative paths to noir-protocol-circuits
([08e538b](AztecProtocol@08e538b))
* Speedup static_call test
([AztecProtocol#6157](AztecProtocol#6157))
([abe8875](AztecProtocol@abe8875))
* Switch Noir JS to use execute program instead of circuit
(noir-lang/noir#4965)
([3ed41a0](AztecProtocol@3ed41a0))
* Use correct call type
([AztecProtocol#6064](AztecProtocol#6064))
([b3ae289](AztecProtocol@b3ae289))

* Add GlobalVariables to CombinedConstantData
([AztecProtocol#6071](AztecProtocol#6071))
([cf026d2](AztecProtocol@cf026d2))
* Update fees kernel tracking docs
([AztecProtocol#6151](AztecProtocol#6151))
([7d80428](AztecProtocol@7d80428))
</details>

<details><summary>barretenberg: 0.37.1</summary>

[0.37.1](AztecProtocol/aztec-packages@barretenberg-v0.37.0...barretenberg-v0.37.1)
(2024-05-07)

* **avm:** Add TransactionFee opcode to simulator
([AztecProtocol#6210](AztecProtocol#6210))
([fcac844](AztecProtocol@fcac844))
* Honk flows exposed through wasm
([AztecProtocol#6096](AztecProtocol#6096))
([c9b3206](AztecProtocol@c9b3206))
* Osxcross
([AztecProtocol#6099](AztecProtocol#6099))
([6cc924d](AztecProtocol@6cc924d))
* Recursive folding verifier and decider as ultra circuits and circuit
simulator
([AztecProtocol#6150](AztecProtocol#6150))
([acc8641](AztecProtocol@acc8641))

* Correct circuit size estimation for UltraHonk
([AztecProtocol#6164](AztecProtocol#6164))
([ed84fe3](AztecProtocol@ed84fe3))
* Sporadic failure of GoblinRecursionTests.Vanilla
([AztecProtocol#6218](AztecProtocol#6218))
([f4ecea5](AztecProtocol@f4ecea5))

* Migrate acir tests to earthly
([AztecProtocol#6142](AztecProtocol#6142))
([18c8ea8](AztecProtocol@18c8ea8))
</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.

[Proving Phase 2]: Create prover abstraction and configure 'prover' vs 'proverless' modes of PXE operation
3 participants