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: handle empty response foreign calls without an external resolver #4959

Merged
merged 2 commits into from
May 2, 2024

Conversation

TomAFrench
Copy link
Member

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:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@TomAFrench TomAFrench requested a review from guipublic May 2, 2024 09:01
Copy link
Contributor

@spalladino spalladino left a 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?

@TomAFrench
Copy link
Member Author

The callstack leading to the oracle call should be sufficient for users to determine the error imo.

Copy link
Contributor

@jfecher jfecher left a 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?

test_programs/noir_test_success/ignored_oracle/src/main.nr Outdated Show resolved Hide resolved
Co-authored-by: jfecher <jake@aztecprotocol.com>
@TomAFrench
Copy link
Member Author

Wouldn't the correct fix here just be to have the custom debugging oracle be present in the test or otherwise removed from it?

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.

@jfecher
Copy link
Contributor

jfecher commented May 2, 2024

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.
Or maybe we can introduce a boolean value used for checking if nargo test is being run? Then the library could change the calls to if !NARGO_TEST { debug(); }

@TomAFrench
Copy link
Member Author

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

@TomAFrench
Copy link
Member Author

TomAFrench commented May 2, 2024

Or maybe we can introduce a boolean value used for checking if nargo test is being run?

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.

@TomAFrench
Copy link
Member Author

TomAFrench commented May 2, 2024

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.

@TomAFrench
Copy link
Member Author

For context, here's the error that's being shown.

error: Assertion failed: '0 output values were provided as a foreign call result for 1 destination slots'
   ┌─ /home/tom/Programming/aztec/noir/test_programs/noir_test_success/ignored_oracle/src/main.nr:22:13
   │
22 │     let _ = custom_getter();
   │             ---------------
   │
   = Call stack:
     1. /home/tom/Programming/aztec/noir/test_programs/noir_test_success/ignored_oracle/src/main.nr:22:13

Copy link
Contributor

@jfecher jfecher left a 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

@TomAFrench
Copy link
Member Author

I agree that it's not perfect but it's replacing a panic which is arguably worse.

@TomAFrench TomAFrench added this pull request to the merge queue May 2, 2024
github-merge-queue bot pushed a commit that referenced this pull request May 2, 2024
#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>
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 2, 2024
@TomAFrench TomAFrench added this pull request to the merge queue May 2, 2024
Merged via the queue into master with commit 0154bde May 2, 2024
43 checks passed
@TomAFrench TomAFrench deleted the tf/ignore-foreign-calls-if-no-executor branch May 2, 2024 19:57
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request May 3, 2024
…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)
spalladino added a commit to AztecProtocol/aztec-packages that referenced this pull request May 3, 2024
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.
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request May 4, 2024
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>
github-merge-queue bot pushed a commit that referenced this pull request May 6, 2024
🤖 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 &gt; 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).
spalladino added a commit to AztecProtocol/aztec-packages that referenced this pull request May 7, 2024
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.
spalladino added a commit to AztecProtocol/aztec-packages that referenced this pull request May 7, 2024
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.
rahul-kothari pushed a commit to AztecProtocol/aztec-packages 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).
TomAFrench added a commit that referenced this pull request May 8, 2024
* 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)
  ...
madztheo pushed a commit to madztheo/aztec-packages that referenced this pull request Jun 26, 2024
🤖 I have created a release *beep* *boop*
---

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Migrate acir tests to earthly
([AztecProtocol#6142](AztecProtocol#6142))
([18c8ea8](AztecProtocol@18c8ea8))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants