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: note hash read requests fixes and refactoring #6125

Merged
merged 11 commits into from
May 2, 2024

Conversation

LeilaWang
Copy link
Collaborator

@LeilaWang LeilaWang commented May 1, 2024

Validating note hash read requests in the private tail circuits.
Also ensure that a read happens before the note hash is nullified.

@AztecBot
Copy link
Collaborator

AztecBot commented May 1, 2024

Benchmark results

Metrics with a significant change:

  • circuit_simulation_time_in_ms (private-kernel-init): 89.8 (-53%)
  • circuit_simulation_time_in_ms (private-kernel-inner): 158 (-30%)
  • circuit_simulation_time_in_ms (private-kernel-ordering): 499 (+100%)
  • circuit_simulation_time_in_ms (merge-rollup): 6,478 (+21%)
  • circuit_input_size_in_bytes (private-kernel-init): 11,075 (-76%)
  • circuit_input_size_in_bytes (private-kernel-inner): 41,502 (-46%)
  • circuit_input_size_in_bytes (private-kernel-ordering): 194,864 (+267%)
  • batch_insert_into_append_only_tree_32_depth_ms (512): 259 (-26%)
  • tx_sequencer_processing_time_ms (2): 808 (-21%)
  • tx_sequencer_processing_time_ms (4): 955 (-22%)
  • tx_sequencer_processing_time_ms (8): 1,137 (-26%)
  • node_history_sync_time_in_ms (10): 31,448 (+16%)
  • l2_block_public_tx_process_time_in_ms (8): 9,037 (-18%)
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,680 6,668 6,692
l1_rollup_execution_gas 586,812 586,800 586,824
l2_block_processing_time_in_ms 1,516 (-9%) 5,444 (+4%) 10,630 (+8%)
l2_block_building_time_in_ms 22,745 (-12%) 89,897 178,711 (+6%)
l2_block_rollup_simulation_time_in_ms 22,530 (-12%) 89,129 177,221 (+6%)
l2_block_public_tx_process_time_in_ms ⚠️ 9,037 (-18%) 35,509 (-6%) 70,464

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 16,452 (+11%) ⚠️ 31,448 (+16%)
node_database_size_in_bytes 20,742,224 37,396,560
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 ⚠️ 89.8 (-53%) ⚠️ 11,075 (-76%) 29,334 (+2%)
private-kernel-inner ⚠️ 158 (-30%) ⚠️ 41,502 (-46%) 29,334 (+2%)
private-kernel-ordering ⚠️ 499 (+100%) ⚠️ 194,864 (+267%) 43,232 (+1%)
base-parity 70.8 (-12%) 128 64.0
base-rollup 16,443 (+13%) 111,062 925
root-parity 1,580 (-6%) 27,064 64.0
root-rollup 64.9 (-15%) 11,454 789
public-kernel-app-logic 2,048 (+1%) 54,833 (+1%) 22,935 (+1%)
public-kernel-tail 4,887 (-1%) 160,282 3,898
merge-rollup ⚠️ 6,478 (+21%) 2,696 925
public-kernel-teardown 167 (-3%) 54,833 (+1%) 30,383 (+1%)
public-kernel-setup 227 54,833 (+1%) 30,383 (+1%)

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 10.9 (-5%) 17.8 (-10%) 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.638 (-5%) 0.547 (-9%) 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 51.4 (-5%) 79.8 (-3%) ⚠️ 259 (-26%) 501 (+3%) 984 1,950 (+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.526 (-5%) 0.493 (-3%) 0.472 (-25%) 0.467 (+3%) 0.466 (-1%) 0.466 (+1%) N/A
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 60.7 (-4%) 120 (-6%) 374 (-15%) 737 (+3%) 1,463 (-5%) 2,912 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.533 (-4%) 0.538 (-5%) 0.510 (-14%) 0.507 (+3%) 0.506 (-5%) 0.507 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 66.8 (-1%)
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.587 (-1%)

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 45,110 (+1%) 535,551

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,499 (-15%) 1,147 (+4%) 3,816 (-8%)
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 898 (-2%) ⚠️ 808 (-21%) 1,475 (-7%) ⚠️ 955 (-22%) 2,285 (-14%) ⚠️ 1,137 (-26%)

Copy link
Contributor

github-actions bot commented May 1, 2024

Changes to circuit sizes

Generated at commit: 991fa6e5eb623adc35590a3ad15c514723599bcd, compared to commit: cf026d2c5928ce081bfac1e0d85260075b06f418

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_tail +60,255 ❌ +57.54% +778,420 ❌ +248.93%
private_kernel_tail_to_public +60,383 ❌ +16.89% +778,669 ❌ +94.35%
private_kernel_inner_simulated 0 ➖ 0.00% +128 ❌ +11.73%
private_kernel_init_simulated 0 ➖ 0.00% +128 ❌ +11.73%
private_kernel_tail_to_public_simulated 0 ➖ 0.00% +128 ❌ +7.72%
public_kernel_setup_simulated 0 ➖ 0.00% +128 ❌ +7.72%
public_kernel_app_logic_simulated 0 ➖ 0.00% +128 ❌ +7.72%
public_kernel_teardown_simulated 0 ➖ 0.00% +128 ❌ +7.72%
public_kernel_setup +128 ❌ +0.18% +256 ❌ +0.09%
public_kernel_teardown +128 ❌ +0.18% +256 ❌ +0.09%
public_kernel_app_logic +128 ❌ +0.14% +256 ❌ +0.07%
private_kernel_inner +5,408 ❌ +5.32% -146,623 ✅ -27.87%
private_kernel_init +3,995 ❌ +4.55% -149,000 ✅ -34.30%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_tail 164,976 (+60,255) +57.54% 1,091,124 (+778,420) +248.93%
private_kernel_tail_to_public 417,862 (+60,383) +16.89% 1,603,958 (+778,669) +94.35%
private_kernel_inner_simulated 1 (0) 0.00% 1,219 (+128) +11.73%
private_kernel_init_simulated 1 (0) 0.00% 1,219 (+128) +11.73%
private_kernel_tail_to_public_simulated 1 (0) 0.00% 1,787 (+128) +7.72%
public_kernel_setup_simulated 1 (0) 0.00% 1,787 (+128) +7.72%
public_kernel_app_logic_simulated 1 (0) 0.00% 1,787 (+128) +7.72%
public_kernel_teardown_simulated 1 (0) 0.00% 1,787 (+128) +7.72%
public_kernel_setup 71,800 (+128) +0.18% 301,051 (+256) +0.09%
public_kernel_teardown 71,941 (+128) +0.18% 301,188 (+256) +0.09%
public_kernel_app_logic 89,228 (+128) +0.14% 385,645 (+256) +0.07%
private_kernel_inner 106,967 (+5,408) +5.32% 379,469 (-146,623) -27.87%
private_kernel_init 91,739 (+3,995) +4.55% 285,396 (-149,000) -34.30%

@LeilaWang LeilaWang marked this pull request as ready for review May 2, 2024 14:38
@LeilaWang LeilaWang requested a review from MirandaWood May 2, 2024 14:40
function isValidNoteHashReadRequest(readRequest: ReadRequestContext, noteHash: NoteHashContext) {
// TODO(#6122)
return (
// noteHash.value.equals(readRequest.value) &&
Copy link
Contributor

Choose a reason for hiding this comment

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

I see that they won't match because of the siloing issues, but is there no check we could do here in the interim?
Seems like the below loop could assign the wrong note hash to a read request as long as the counters are in the range, but I could be missing something.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We are using the siloed value to select the note hashes below:

 const pendingNoteHash = noteHashMap
      .get(siloedValue.toBigInt())
      ?.find(n => isValidNoteHashReadRequest(readRequest, n.noteHash));

Actually, now you point this out, we don't need to compare the values in this function at all! Because the note hashes passed to this function are picked by matching the value.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah yep, I had missed that siloedValue is from the ReadRequest! Got it - no worries.

@LeilaWang LeilaWang merged commit 9d03f34 into master May 2, 2024
62 checks passed
@LeilaWang LeilaWang deleted the lw/note_hash_read_requests branch May 2, 2024 19:11
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.

3 participants