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: Recursive folding verifier and decider as ultra circuits and circuit simulator #6150

Merged
merged 80 commits into from
May 3, 2024

Conversation

maramihali
Copy link
Contributor

@maramihali maramihali commented May 2, 2024

Gets the folding recursive verifiers tests working on UltraCircuitBuilder and CircuitSimulator. The former required working around an edge case of batch_mul (see 971).

ludamad and others added 30 commits July 25, 2023 17:47
Benchmark                                              Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------------------------
pedersen_compress_pair/10/repeats:1                 +0.2210         +0.2209         77876         95085         77887         95095
pedersen_compress_array/10/repeats:1                +0.0200         +0.0199        426862        435396        426919        435432
OVERALL_GEOMEAN                                     +0.1160         +0.1159             0             0             0             0
Benchmark                                              Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------------------------
pedersen_compress_pair/10/repeats:1                 +0.2269         +0.2279         77967         95661         77983         95753
pedersen_compress_array/10/repeats:1                +0.0243         +0.0244        427006        437372        427089        437513
blake3s/10/repeats:1                              +214.3972       +214.2077           497        107101           498        107236
ecdsa/10/repeats:1                                +427.5370       +427.5895        238771     102322066        238739     102321059
biggroup_batch_mul/10/repeats:1                   +330.4509       +330.4886        964755     319768833        964633     319764957
OVERALL_GEOMEAN                                    +31.8835        +31.8851             0             0             0             0
Benchmark                                              Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------------------------
pedersen_compress_pair/10/repeats:1                 +0.2192         +0.2193         78469         95669         78476         95684
pedersen_compress_array/10/repeats:1                +0.0157         +0.0156        428728        435478        428828        435532
blake3s/10/repeats:1                              +211.0444       +210.5690           499        105862           500        105876
ecdsa/10/repeats:1                                +426.5165       +426.5226        239377     102337525        239360     102331832
biggroup_batch_mul/10/repeats:1                     +0.2060         +0.2059        968405       1167908        968260       1167661
OVERALL_GEOMEAN                                     +9.6247         +9.6197             0             0             0             0
Benchmark                                              Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------------------------
pedersen_compress_pair/10/repeats:1                 +0.2185         +0.2183         78085         95143         78097         95150
pedersen_compress_array/10/repeats:1                +0.0161         +0.0161        429360        436272        429403        436334
blake3s/10/repeats:1                              +211.5298       +210.6946           499        106157           502        106166
ecdsa/10/repeats:1                                  +0.0156         +0.0155        238213        241933        238196        241895
biggroup_batch_mul/10/repeats:1                     +0.1987         +0.1987        963210       1154583        963031       1154370
OVERALL_GEOMEAN                                     +2.1704         +2.1679             0             0             0             0
%
@@ -17,27 +19,34 @@
namespace bb::stdlib::recursion::honk {
template <typename RecursiveFlavor> class ProtoGalaxyRecursiveTests : public testing::Test {
public:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This will look like a lot of diffs but I actually just went back to the Inner-Outer pattern which is what makes sense and makes it possible to instantiate the tests with the simulator (i.e. we still fold actual instances but the recursive folding/decider verifier is instantiated with the simulator);.

@maramihali maramihali changed the title Mm/pg simulator feat: Recursive folding verifier and decider as ultra circuits and circuit simulator May 2, 2024
@maramihali maramihali requested a review from Rumata888 May 2, 2024 14:59
@maramihali maramihali marked this pull request as ready for review May 2, 2024 14:59
* @details In the folding recursive verifier we might hit the scenerio where we do a batch_mul(commitments,
* lagranges) where the commitments are equal. That is because when we add gates to ensure no zero commitments,
* these will be the same for all circuits, hitting an edge case in batch_mul that creates a failing constraint.
* Specifically, at some point in the algorithm we combute the difference between the points which, if they are
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo: "combute"

@@ -97,31 +105,25 @@ template <typename RecursiveFlavor> class ProtoGalaxyRecursiveTests : public tes
fq_ct big_b(fr_ct(witness_ct(&builder, bigfield_data_b.to_montgomery_form())), fr_ct(witness_ct(&builder, 0)));

big_a* big_b;

Copy link
Contributor

Choose a reason for hiding this comment

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

Why did you remove additional gates for Goblin?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

because big_a * big_b should already create goblin ops and that should be enough for testing purposes

@@ -7,8 +7,10 @@
#include "barretenberg/protogalaxy/protogalaxy_verifier.hpp"
#include "barretenberg/stdlib/hash/blake3s/blake3s.hpp"
#include "barretenberg/stdlib/hash/pedersen/pedersen.hpp"
#include "barretenberg/stdlib/hash/sha256/sha256.hpp"
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 additional headers needed? I haven't seen sha or packed_byte_array being used in the changes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

wops leftovers, will remove, thanks

Copy link
Contributor

@Rumata888 Rumata888 left a comment

Choose a reason for hiding this comment

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

I've left a few questions, but everything seems ok

@maramihali maramihali self-assigned this May 2, 2024
@maramihali maramihali added the crypto cryptography label May 2, 2024
@maramihali maramihali enabled auto-merge (squash) May 2, 2024 16:47
@maramihali maramihali merged commit acc8641 into master May 3, 2024
62 checks passed
@maramihali maramihali deleted the mm/pg-simulator branch May 3, 2024 14:38
AztecBot pushed a commit to AztecProtocol/barretenberg that referenced this pull request May 4, 2024
…rcuit simulator (#6150)

Gets the folding recursive verifiers tests working on
`UltraCircuitBuilder` and `CircuitSimulator`. The former required
working around an edge case of `batch_mul` (see
[971](AztecProtocol/aztec-packages#6150)).

---------

Co-authored-by: ludamad <adam.domurad@gmail.com>
Co-authored-by: codygunton <codygunton@gmail.com>
Co-authored-by: ludamad <adam@aztecprotocol.com>
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
crypto cryptography
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants