-
Notifications
You must be signed in to change notification settings - Fork 219
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: handle empty response foreign calls without an external resolver #4959
Conversation
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.
Thanks @TomAFrench! I'm worried this will make failures more obscure though, since if a user now forgets to set up a resolver, they'll get an ACVM error rather than an error related to a foreign call. Or do you think the stack trace should be good enough to identify the cause of the error?
The callstack leading to the oracle call should be sufficient for users to determine the error imo. |
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.
A few empty files were committed as well
The callstack leading to the oracle call should be sufficient for users to determine the error imo.
This doesn't sit right with me. If there's an error in the program we should tell users directly what the error is and not have them rely on context information. Wouldn't the correct fix here just be to have the custom debugging oracle be present in the test or otherwise removed from it?
Co-authored-by: jfecher <jake@aztecprotocol.com>
I'm assuming you mean "not be present in the test"? I agree in general but in this case these oracle calls are spread throughout aztec-nr and so it's not easy to remove them solely from the tests without affecting the actual code. |
This sounds like an aztec-nr specific problem then. I wonder if we can at least issue a warning like "oracle xxx was not executed" or similar. If an oracle has no return values then it must have been placed for its side effects in general so I don't think they should necessarily be skipped without warning. |
That's true but these side effects are entirely optional. I should be able to execute the circuit while ignoring those side effects if I want to. If I don't specify an oracle resolver then by default I'm saying that I don't want to hook up the ACVM to an outside system |
Conditional compilation is def something we can look at at some point. I think it's valid to want to be able to execute a circuit without tracking any purely outwards oracle calls though. |
My ideal outcome for this is if the ABI we're aware of the foreign calls which the program can make including the type information for arguments/return values. At that point we could distinguish the calls which need return values and throw an error in Nargo rather than the ACVM but I really don't see the current error message as that bad. |
For context, here's the error that's being shown.
|
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'm still not sure about this to be honest but I think we can at least merge it to unblock @spalladino and anyone else who needs it
I agree that it's not perfect but it's replacing a panic which is arguably worse. |
#4959) # Description ## Problem\* Resolves <!-- Link to GitHub Issue --> ## Summary\* I've modified the `DefaultForeignCallExecutor` so that rather than panicking on an unrecognised foreign call we return an empty response. This solves an issue experienced by @spalladino where `nargo test` was failing due to the use of a custom debugging oracle which doesn't return any values to the circuit. The only situation where these oracle calls not being handled would change the outcome of the test would be if they modify state in an external resolver such as to modify the response of a different oracle call (and so we'd still fail on those anyway). ## Additional Context I've cleared up some empty `Prover.toml` files as well. ## Documentation\* Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [x] I have tested the changes locally. - [x] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings. --------- Co-authored-by: jfecher <jake@aztecprotocol.com>
…sion) (noir-lang/noir#4716) chore: rename instruction checks for side effects (noir-lang/noir#4945) chore: Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) fix: Use annotated type when checking declaration (noir-lang/noir#4966) feat: handle empty response foreign calls without an external resolver (noir-lang/noir#4959) feat: Complex outputs from acir call (noir-lang/noir#4952)
After noir-lang/noir#4959 lands in aztec-packages, we should be able to keep debug_log calls in protocol-circuits without breaking nargo test there. A prerequisite for that is ensuring that debug log calls do not return anything. I understand they were returning zero because of legacy issues, but according to @TomFrench that should not be needed. This PR updates debug calls so they return no values.
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat: Optimize array sets in if conditions (alternate version) (noir-lang/noir#4716) chore: rename instruction checks for side effects (noir-lang/noir#4945) chore: Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) fix: Use annotated type when checking declaration (noir-lang/noir#4966) feat: handle empty response foreign calls without an external resolver (noir-lang/noir#4959) feat: Complex outputs from acir call (noir-lang/noir#4952) END_COMMIT_OVERRIDE --------- Co-authored-by: TomAFrench <tom@tomfren.ch> Co-authored-by: vezenovm <mvezenov@gmail.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- <details><summary>0.29.0</summary> ## [0.29.0](v0.28.0...v0.29.0) (2024-05-03) ### ⚠ BREAKING CHANGES * use `distinct` return value witnesses by default ([#4951](#4951)) * Bit shift is restricted to u8 right operand ([#4907](#4907)) ### Features * Add `#[inline(tag)]` attribute and codegen ([#4913](#4913)) ([1ec9cdc](1ec9cdc)) * Add de-sugaring for `impl Trait` in function parameters ([#4919](#4919)) ([8aad2e4](8aad2e4)) * Add variable size sha256 ([#4920](#4920)) ([dbfca58](dbfca58)) * Bit shift is restricted to u8 right operand ([#4907](#4907)) ([c4b0369](c4b0369)) * Complex outputs from acir call ([#4952](#4952)) ([2e085b9](2e085b9)) * **experimental:** `comptime` globals ([#4918](#4918)) ([8a3c7f1](8a3c7f1)) * Handle `BrilligCall` opcodes in the debugger ([#4897](#4897)) ([b380dc4](b380dc4)) * Handle `no_predicates` attribute ([#4942](#4942)) ([0ce04d3](0ce04d3)) * Handle empty response foreign calls without an external resolver ([#4959](#4959)) ([0154bde](0154bde)) * Optimize array sets in if conditions (alternate version) ([#4716](#4716)) ([a87c655](a87c655)) * Use `distinct` return value witnesses by default ([#4951](#4951)) ([5f1b584](5f1b584)) ### Bug Fixes * Ban self-referential structs ([#4883](#4883)) ([800f670](800f670)) * Discard ref counts during unrolling ([#4923](#4923)) ([91062db](91062db)) * Ensure where clauses propagated to trait default definitions ([#4894](#4894)) ([aaac0f6](aaac0f6)) * Move remove_if_else pass after second inlining ([#4976](#4976)) ([96fb3e9](96fb3e9)) * Nested array equality ([#4903](#4903)) ([0cf2e2a](0cf2e2a)) * Require for all foldable functions to use distinct return ([#4949](#4949)) ([d4c6806](d4c6806)) * Use annotated type when checking declaration ([#4966](#4966)) ([f7fa696](f7fa696)) </details> <details><summary>0.45.0</summary> ## [0.45.0](v0.44.0...v0.45.0) (2024-05-03) ### ⚠ BREAKING CHANGES * Bit shift is restricted to u8 right operand ([#4907](#4907)) * contract interfaces and better function calls (AztecProtocol/aztec-packages#5687) * change backend width to 4 (AztecProtocol/aztec-packages#5374) * Use fixed size arrays in black box functions where sizes are known (AztecProtocol/aztec-packages#5620) * trap with revert data (AztecProtocol/aztec-packages#5732) * **acir:** BrilligCall opcode (AztecProtocol/aztec-packages#5709) * remove fixed-length keccak256 (AztecProtocol/aztec-packages#5617) * storage_layout and `#[aztec(storage)]` (AztecProtocol/aztec-packages#5387) * **acir:** Add predicate to call opcode (AztecProtocol/aztec-packages#5616) * contract_abi-exports (AztecProtocol/aztec-packages#5386) * Brillig typed memory (AztecProtocol/aztec-packages#5395) * **acir:** Program and witness stack structure (AztecProtocol/aztec-packages#5149) * automatic NoteInterface and NoteGetterOptions auto select (AztecProtocol/aztec-packages#4508) * Acir call opcode (AztecProtocol/aztec-packages#4773) * Support contracts with no constructor (AztecProtocol/aztec-packages#5175) * Internal as a macro (AztecProtocol/aztec-packages#4898) * move noir out of yarn-project (AztecProtocol/aztec-packages#4479) * note type ids (AztecProtocol/aztec-packages#4500) * rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) * Add expression width into acir (AztecProtocol/aztec-packages#4014) * init storage macro (AztecProtocol/aztec-packages#4200) * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) * Sync commits from `aztec-packages` ([#4144](#4144)) * Breaking changes from aztec-packages ([#3955](#3955)) ### Features * Acir call opcode (AztecProtocol/aztec-packages#4773) ([c3c9e19](c3c9e19)) * **acir_gen:** Brillig stdlib ([#4848](#4848)) ([0c8175c](0c8175c)) * **acir_gen:** Fold attribute at compile-time and initial non inlined ACIR (AztecProtocol/aztec-packages#5341) ([a0f7474](a0f7474)) * **acir:** Add predicate to call opcode (AztecProtocol/aztec-packages#5616) ([2bd006a](2bd006a)) * **acir:** BrilligCall opcode (AztecProtocol/aztec-packages#5709) ([0f9ae0a](0f9ae0a)) * **acir:** Program and witness stack structure (AztecProtocol/aztec-packages#5149) ([13eb71b](13eb71b)) * **acvm_js:** Execute program ([#4694](#4694)) ([386f6d0](386f6d0)) * **acvm:** Execute multiple circuits (AztecProtocol/aztec-packages#5380) ([a0f7474](a0f7474)) * Add bit size to const opcode (AztecProtocol/aztec-packages#4385) ([158c8ce](158c8ce)) * Add CMOV instruction to brillig and brillig gen (AztecProtocol/aztec-packages#5308) ([13eb71b](13eb71b)) * Add expression width into acir (AztecProtocol/aztec-packages#4014) ([158c8ce](158c8ce)) * Add instrumentation for tracking variables in debugging ([#4122](#4122)) ([c58d691](c58d691)) * Add poseidon2 opcode implementation for acvm/brillig, and Noir ([#4398](#4398)) ([10e8292](10e8292)) * Add return values to aztec fns (AztecProtocol/aztec-packages#5389) ([2bd006a](2bd006a)) * Add support for overriding expression width ([#4117](#4117)) ([c8026d5](c8026d5)) * Added cast opcode and cast calldata (AztecProtocol/aztec-packages#4423) ([78ef013](78ef013)) * Allow brillig to read arrays directly from memory (AztecProtocol/aztec-packages#4460) ([158c8ce](158c8ce)) * Allow nested arrays and vectors in Brillig foreign calls (AztecProtocol/aztec-packages#4478) ([158c8ce](158c8ce)) * Allow variables and stack trace inspection in the debugger ([#4184](#4184)) ([bf263fc](bf263fc)) * Automatic NoteInterface and NoteGetterOptions auto select (AztecProtocol/aztec-packages#4508) ([13eb71b](13eb71b)) * **avm:** Back in avm context with macro - refactor context (AztecProtocol/aztec-packages#4438) ([158c8ce](158c8ce)) * **avm:** Brillig CONST of size > u128 (AztecProtocol/aztec-packages#5217) ([c3c9e19](c3c9e19)) * **avm:** Integrate AVM with initializers (AztecProtocol/aztec-packages#5469) ([2bd006a](2bd006a)) * **aztec-nr:** Initial work for aztec public vm macro (AztecProtocol/aztec-packages#4400) ([158c8ce](158c8ce)) * Backpropagate constants in ACIR during optimization ([#3926](#3926)) ([aad0da0](aad0da0)) * Bit shift is restricted to u8 right operand ([#4907](#4907)) ([c4b0369](c4b0369)) * Breaking changes from aztec-packages ([#3955](#3955)) ([5be049e](5be049e)) * Brillig heterogeneous memory cells (AztecProtocol/aztec-packages#5608) ([305bcdc](305bcdc)) * Brillig IR refactor (AztecProtocol/aztec-packages#5233) ([c3c9e19](c3c9e19)) * Brillig pointer codegen and execution (AztecProtocol/aztec-packages#5737) ([0f9ae0a](0f9ae0a)) * Brillig typed memory (AztecProtocol/aztec-packages#5395) ([0bc18c4](0bc18c4)) * Change backend width to 4 (AztecProtocol/aztec-packages#5374) ([0f9ae0a](0f9ae0a)) * Check initializer msg.sender matches deployer from address preimage (AztecProtocol/aztec-packages#5222) ([c3c9e19](c3c9e19)) * Contract interfaces and better function calls (AztecProtocol/aztec-packages#5687) ([0f9ae0a](0f9ae0a)) * Contract_abi-exports (AztecProtocol/aztec-packages#5386) ([2bd006a](2bd006a)) * Evaluation of dynamic assert messages ([#4101](#4101)) ([c284e01](c284e01)) * Handle `BrilligCall` opcodes in the debugger ([#4897](#4897)) ([b380dc4](b380dc4)) * Impl of missing functionality in new key store (AztecProtocol/aztec-packages#5750) ([0f9ae0a](0f9ae0a)) * Init storage macro (AztecProtocol/aztec-packages#4200) ([158c8ce](158c8ce)) * Initial Earthly CI (AztecProtocol/aztec-packages#5069) ([c3c9e19](c3c9e19)) * Internal as a macro (AztecProtocol/aztec-packages#4898) ([5f57ebb](5f57ebb)) * **nargo:** Handle call stacks for multiple Acir calls ([#4711](#4711)) ([5b23171](5b23171)) * New brillig field operations and refactor of binary operations (AztecProtocol/aztec-packages#5208) ([c3c9e19](c3c9e19)) * Note type ids (AztecProtocol/aztec-packages#4500) ([78ef013](78ef013)) * Remove replacement of boolean range opcodes with `AssertZero` opcodes ([#4107](#4107)) ([dac0e87](dac0e87)) * Restore hashing args via slice for performance (AztecProtocol/aztec-packages#5539) ([2bd006a](2bd006a)) * Signed integer division and modulus in brillig gen (AztecProtocol/aztec-packages#5279) ([c3c9e19](c3c9e19)) * **simulator:** Fetch return values at circuit execution (AztecProtocol/aztec-packages#5642) ([305bcdc](305bcdc)) * Storage_layout and `#[aztec(storage)]` (AztecProtocol/aztec-packages#5387) ([2bd006a](2bd006a)) * Support contracts with no constructor (AztecProtocol/aztec-packages#5175) ([c3c9e19](c3c9e19)) * Sync `aztec-packages` ([#4011](#4011)) ([fee2452](fee2452)) * Sync commits from `aztec-packages` ([#4068](#4068)) ([7a8f3a3](7a8f3a3)) * Sync commits from `aztec-packages` ([#4144](#4144)) ([0205d3b](0205d3b)) * Sync from aztec-packages ([#4483](#4483)) ([fe8f277](fe8f277)) * Sync from noir (AztecProtocol/aztec-packages#5234) ([c3c9e19](c3c9e19)) * Sync from noir (AztecProtocol/aztec-packages#5286) ([c3c9e19](c3c9e19)) * Sync from noir (AztecProtocol/aztec-packages#5572) ([2bd006a](2bd006a)) * Sync from noir (AztecProtocol/aztec-packages#5619) ([2bd006a](2bd006a)) * Sync from noir (AztecProtocol/aztec-packages#5697) ([305bcdc](305bcdc)) * Sync from noir (AztecProtocol/aztec-packages#5794) ([0f9ae0a](0f9ae0a)) * Sync from noir (AztecProtocol/aztec-packages#5814) ([0f9ae0a](0f9ae0a)) * Sync from noir (AztecProtocol/aztec-packages#5935) ([1b867b1](1b867b1)) * Sync from noir (AztecProtocol/aztec-packages#5955) ([1b867b1](1b867b1)) * Sync from noir (AztecProtocol/aztec-packages#5999) ([1b867b1](1b867b1)) * Trap with revert data (AztecProtocol/aztec-packages#5732) ([0f9ae0a](0f9ae0a)) * Use fixed size arrays in black box functions where sizes are known (AztecProtocol/aztec-packages#5620) ([0f9ae0a](0f9ae0a)) * Variable length returns (AztecProtocol/aztec-packages#5633) ([305bcdc](305bcdc)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable ([#4708](#4708)) ([8fea405](8fea405)) * Avoid huge unrolling in hash_args (AztecProtocol/aztec-packages#5703) ([305bcdc](305bcdc)) * Catch panics from EC point creation (e.g. the point is at infinity) ([#4790](#4790)) ([645dba1](645dba1)) * Don't reuse brillig with slice arguments (AztecProtocol/aztec-packages#5800) ([0f9ae0a](0f9ae0a)) * Issue 4682 and add solver for unconstrained bigintegers ([#4729](#4729)) ([e4d33c1](e4d33c1)) * Noir test incorrect reporting (AztecProtocol/aztec-packages#4925) ([5f57ebb](5f57ebb)) * Proper field inversion for bigints ([#4802](#4802)) ([b46d0e3](b46d0e3)) * Remove panic from `init_log_level` in `acvm_js` ([#4195](#4195)) ([2e26530](2e26530)) * Return error rather instead of panicking on invalid circuit ([#3976](#3976)) ([67201bf](67201bf)) ### Miscellaneous Chores * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) ([158c8ce](158c8ce)) * Move noir out of yarn-project (AztecProtocol/aztec-packages#4479) ([78ef013](78ef013)) * Remove fixed-length keccak256 (AztecProtocol/aztec-packages#5617) ([305bcdc](305bcdc)) * Rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) ([158c8ce](158c8ce)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
After noir-lang/noir#4959 lands in aztec-packages, we should be able to keep debug_log calls in protocol-circuits without breaking nargo test there. A prerequisite for that is ensuring that debug log calls do not return anything. I understand they were returning zero because of legacy issues, but according to @TomFrench that should not be needed. This PR updates debug calls so they return no values.
After noir-lang/noir#4959 lands in aztec-packages, we should be able to keep debug_log calls in protocol-circuits without breaking nargo test there. A prerequisite for that is ensuring that debug log calls do not return anything. I understand they were returning zero because of legacy issues, but according to @TomFrench that should not be needed. This PR updates debug calls so they return no values.
🤖 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).
* master: (41 commits) fix: defer overflow checks for unsigned integers to acir-gen (#4832) feat: add support for u16/i16 (#4985) chore: split `ops` into `arith` and `bit` modules (#4989) chore(ci): run clippy on benchmarks (#4988) feat: remove query to backend to get expression width (#4975) fix: set index and value to 0 for array_get with predicate (#4971) fix: Compute the correct slice length when coercing from a literal array of complex types (#4986) feat: add `Neg` trait to stdlib (#4983) feat: implement `From` array trait for `BoundedVec` (#4927) chore: Release Noir(0.29.0) (#4905) fix: Move remove_if_else pass after second inlining (#4976) feat: Optimize array sets in if conditions (alternate version) (#4716) chore: rename instruction checks for side effects (#4945) chore: Switch Noir JS to use execute program instead of circuit (#4965) fix: Use annotated type when checking declaration (#4966) feat: handle empty response foreign calls without an external resolver (#4959) feat: Complex outputs from acir call (#4952) fix: Require for all foldable functions to use distinct return (#4949) feat!: use `distinct` return value witnesses by default (#4951) chore(docs): adding matomo tracking (#4898) ...
🤖 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).
Description
Problem*
Resolves
Summary*
I've modified the
DefaultForeignCallExecutor
so that rather than panicking on an unrecognised foreign call we return an empty response.This solves an issue experienced by @spalladino where
nargo test
was failing due to the use of a custom debugging oracle which doesn't return any values to the circuit. The only situation where these oracle calls not being handled would change the outcome of the test would be if they modify state in an external resolver such as to modify the response of a different oracle call (and so we'd still fail on those anyway).Additional Context
I've cleared up some empty
Prover.toml
files as well.Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.