-
Notifications
You must be signed in to change notification settings - Fork 260
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
Conversation
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: |
There was a problem hiding this comment.
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);.
* @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 |
There was a problem hiding this comment.
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; | |||
|
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
There was a problem hiding this 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
…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 <[email protected]> Co-authored-by: codygunton <[email protected]> Co-authored-by: ludamad <[email protected]>
🤖 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).
🤖 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).
🤖 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).
Gets the folding recursive verifiers tests working on
UltraCircuitBuilder
andCircuitSimulator
. The former required working around an edge case ofbatch_mul
(see 971).