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: plumb fee payer #6286

Merged
merged 3 commits into from
May 13, 2024
Merged

feat: plumb fee payer #6286

merged 3 commits into from
May 13, 2024

Conversation

just-mitch
Copy link
Collaborator

@just-mitch just-mitch commented May 8, 2024

Implemented

See spec.

A boolean flag is_fee_payer in the PrivateCircuitPublicInputs. The private kernel circuits will check this flag for every call stack item.

When a call stack item is found with is_fee_payer set, the kernel circuit will set fee_payer in its PrivateKernelCircuitPublicInputs to be the callStackItem.contractAddress.

This is subsequently passed through the PublicKernelCircuitPublicInputs to the KernelCircuitPublicInputs.

If a transaction attempts to set fee_payer multiple times, the transaction will be considered invalid.

Deviations

Whereas in the spec we said we would use contract_address, we have updated that to use storage_contract_address because it correctly handles delegate calls: if is_fee_payer gets set during delegate call, the "delegator" should be the fee_payer, not the "delegatee".

Remaining

Actually setting fee_payer in a contract, and making assertions. (#5920)

If the fee_payer is not set, the transaction will be considered invalid. (#6343)

Elsewhere

Unit tests on SerDe (#6339)

Copy link
Collaborator Author

just-mitch commented May 8, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @just-mitch and the rest of your teammates on Graphite Graphite

Copy link
Contributor

github-actions bot commented May 9, 2024

Changes to circuit sizes

Generated at commit: aa5616f5d24eb192a03ebf389e7e934958cf38a9, compared to commit: e7d2dd617209f2603af81d9f5e89dd62bbb13fa1

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_tail_simulated 0 ➖ 0.00% +1 ❌ +0.38%
public_kernel_tail_simulated 0 ➖ 0.00% +1 ❌ +0.38%
private_kernel_inner +206 ❌ +0.14% +868 ❌ +0.07%
private_kernel_init_simulated 0 ➖ 0.00% +1 ❌ +0.07%
private_kernel_inner_simulated 0 ➖ 0.00% +1 ❌ +0.07%
private_kernel_init +173 ❌ +0.14% +363 ❌ +0.06%
public_kernel_app_logic_simulated 0 ➖ 0.00% +1 ❌ +0.05%
public_kernel_teardown_simulated 0 ➖ 0.00% +1 ❌ +0.05%
private_kernel_tail_to_public_simulated 0 ➖ 0.00% +1 ❌ +0.05%
public_kernel_setup_simulated 0 ➖ 0.00% +1 ❌ +0.05%
private_kernel_tail +388 ❌ +0.15% +543 ❌ +0.03%
private_kernel_tail_to_public +388 ❌ +0.08% +544 ❌ +0.02%
public_kernel_app_logic +7 ❌ +0.01% +8 ❌ +0.00%
public_kernel_teardown +4 ❌ +0.00% +5 ❌ +0.00%
public_kernel_setup +1 ❌ +0.00% +2 ❌ +0.00%
public_kernel_tail +1 ❌ +0.00% +2 ❌ +0.00%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_tail_simulated 1 (0) 0.00% 265 (+1) +0.38%
public_kernel_tail_simulated 1 (0) 0.00% 265 (+1) +0.38%
private_kernel_inner 142,507 (+206) +0.14% 1,161,067 (+868) +0.07%
private_kernel_init_simulated 1 (0) 0.00% 1,371 (+1) +0.07%
private_kernel_inner_simulated 1 (0) 0.00% 1,371 (+1) +0.07%
private_kernel_init 121,989 (+173) +0.14% 570,658 (+363) +0.06%
public_kernel_app_logic_simulated 1 (0) 0.00% 1,991 (+1) +0.05%
public_kernel_teardown_simulated 1 (0) 0.00% 1,991 (+1) +0.05%
private_kernel_tail_to_public_simulated 1 (0) 0.00% 1,991 (+1) +0.05%
public_kernel_setup_simulated 1 (0) 0.00% 1,991 (+1) +0.05%
private_kernel_tail 266,835 (+388) +0.15% 1,836,903 (+543) +0.03%
private_kernel_tail_to_public 498,645 (+388) +0.08% 2,370,577 (+544) +0.02%
public_kernel_app_logic 110,836 (+7) +0.01% 418,816 (+8) +0.00%
public_kernel_teardown 83,822 (+4) +0.00% 325,730 (+5) +0.00%
public_kernel_setup 83,608 (+1) +0.00% 325,428 (+2) +0.00%
public_kernel_tail 460,597 (+1) +0.00% 1,519,030 (+2) +0.00%

@just-mitch just-mitch force-pushed the 05-06-feat_process_designated_teardown_function_call branch 4 times, most recently from 0aabf76 to 19aea2e Compare May 9, 2024 19:44
Base automatically changed from 05-06-feat_process_designated_teardown_function_call to master May 9, 2024 20:19
@just-mitch just-mitch force-pushed the 05-08-feat_plumb_fee_payer branch 3 times, most recently from f44e2da to eb33eaa Compare May 10, 2024 14:38
@just-mitch just-mitch marked this pull request as ready for review May 10, 2024 14:41
@AztecBot
Copy link
Collaborator

AztecBot commented May 10, 2024

Docs Preview

Hey there! 👋 You can check your preview at https://6642465521141e16557c0104--aztec-docs-dev.netlify.app

@@ -35,7 +35,7 @@
"clean": "rm -rf ./dest .tsbuildinfo",
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
"remake-constants": "node --loader ts-node/esm src/scripts/constants.in.ts && prettier -w src/constants.gen.ts && cd ../../l1-contracts && ../foundry/bin/forge fmt",
"remake-constants": "node --loader ts-node/esm src/scripts/constants.in.ts && prettier -w src/constants.gen.ts && cd ../../l1-contracts && forge fmt",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe this wasn't meant to be included in the commit?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It was: there is no aztec-packages/foundry anymore. In fact, I can't see how/where remake-constants is called anywhere anymore other than manually.

@@ -15,6 +15,7 @@ use dep::types::{

struct DataSource {
private_call_public_inputs: PrivateCircuitPublicInputs,
contract_address: AztecAddress,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why was this new field needed? Isn't it the same as storage_contract_address right below?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I was going off the comment over in private_call_stack_item.nr:

// This is the actual contract address relating to where this function's code resides in the
// contract tree. Regardless of whether this is a call or delegatecall, this
// contract_address does not change. Amongst other things, it's used as a lookup for
// getting the correct code from the tree. There is a separate storage_contract_address
// within a CallStackItem which varies depending on whether this is a call or delegatecall.
contract_address: AztecAddress,

Copy link
Collaborator

Choose a reason for hiding this comment

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

But then you want to use the storage_contract_address for fee payment, because you want the balance to be taken from the state of that address, regardless of the code being run.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

So in the case of delegate call, we're saying contract_address will be the address of the delgatee? But if is_fee_payer is set during that delegate call, we want it to be the delegator, which will be storage_contract_address?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Okay updated the code and spec.

fn propagate_fee_payer(&mut self, source: DataSource) {
if (source.private_call_public_inputs.is_fee_payer) {
assert(self.public_inputs.fee_payer.is_zero(), "Cannot overwrite non-empty fee_payer");
self.public_inputs.fee_payer = source.private_call_public_inputs.call_context.storage_contract_address;
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be contract_address?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Exactly, caught it as well while rebasing.

@just-mitch just-mitch force-pushed the 05-08-feat_plumb_fee_payer branch from eb33eaa to f58d1a2 Compare May 13, 2024 15:11
Copy link
Collaborator

@LeilaWang LeilaWang left a comment

Choose a reason for hiding this comment

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

LGTM!

@just-mitch just-mitch merged commit 1f8fd1c into master May 13, 2024
92 checks passed
@just-mitch just-mitch deleted the 05-08-feat_plumb_fee_payer branch May 13, 2024 17:54
rahul-kothari pushed a commit that referenced this pull request May 14, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.39.0](aztec-package-v0.38.0...aztec-package-v0.39.0)
(2024-05-14)


### Features

* **p2p:** GossibSub
([#6170](#6170))
([98d32f1](98d32f1)),
closes
[#5055](#5055)
* PublicKeys struct
([#6333](#6333))
([2633cfc](2633cfc))


### Miscellaneous

* `CompleteAddress` cleanup
([#6300](#6300))
([9c30759](9c30759)),
closes
[#5834](#5834)
</details>

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

##
[0.39.0](barretenberg.js-v0.38.0...barretenberg.js-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))

### Features

* Switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
([78adcc0](78adcc0))
</details>

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

##
[0.39.0](aztec-packages-v0.38.0...aztec-packages-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
* shared mutable configurable delays
([#6104](#6104))
* specify databus arrays for BB
([#6239](#6239))

### Features

* Add `Not` trait to stdlib
(noir-lang/noir#4999)
([11cde44](11cde44))
* Add support for u16/i16 (noir-lang/noir#4985)
([11cde44](11cde44))
* Avm support for public input columns
([#5700](#5700))
([8cf9168](8cf9168))
* **avm-simulator:** Add to_radix_le instruction
([#6308](#6308))
([6374a32](6374a32))
* **avm-simulator:** Error stack tracking and enriching in AVM to match
ACVM/ACIR-SIM
([#6289](#6289))
([5c1f895](5c1f895))
* **aztec-nr:** Add 'with_gas()' function to avm call interface
([#6256](#6256))
([0aedd23](0aedd23))
* **aztec-nr:** Add enqueue functions to AvmCallInterface
([#6264](#6264))
([1c74387](1c74387))
* Build-images as earthly.
([#6194](#6194))
([67fedf1](67fedf1))
* Div opcode
([#6053](#6053))
([8e111f8](8e111f8))
* Encrypted log body
([#6251](#6251))
([ba618d5](ba618d5))
* Enforce note hash read requests to read within own contract
([#6310](#6310))
([bd10595](bd10595))
* Expose `set_as_fee_payer` and test it in e2e
([#6380](#6380))
([a8274f3](a8274f3))
* Implement `ops` traits on `u16`/`i16`
(noir-lang/noir#4996)
([11cde44](11cde44))
* Increase default expression width to 4
(noir-lang/noir#4995)
([11cde44](11cde44))
* Move abi demonomorphizer to noir_codegen and use noir_codegen in
protocol types
([#6302](#6302))
([690e500](690e500))
* Move to_radix to a blackbox
([#6294](#6294))
([ac27376](ac27376))
* **p2p:** GossibSub
([#6170](#6170))
([98d32f1](98d32f1)),
closes
[#5055](#5055)
* Plumb fee payer
([#6286](#6286))
([1f8fd1c](1f8fd1c))
* Private Kernel Recursion
([#6278](#6278))
([eae5822](eae5822))
* Proper padding in ts AES and constrained AES in body and header
computations
([#6269](#6269))
([ef9cdde](ef9cdde))
* PublicKeys struct
([#6333](#6333))
([2633cfc](2633cfc))
* Re-enabling authwit constraint
([#6323](#6323))
([aa06d55](aa06d55)),
closes
[#5830](#5830)
* Remove query to backend to get expression width
(noir-lang/noir#4975)
([11cde44](11cde44))
* Replacing mentions to aztec-starter with codespace methods
([#6177](#6177))
([63e8788](63e8788))
* Return gas usage per phase from node tx simulation
([#6255](#6255))
([fb58dfc](fb58dfc))
* Shared mutable configurable delays
([#6104](#6104))
([c191a40](c191a40))
* Small translator optimisations
([#6354](#6354))
([ba6c42e](ba6c42e))
* Specify databus arrays for BB
([#6239](#6239))
([01d9f24](01d9f24))
* Structured trace in client ivc
([#6132](#6132))
([92c1478](92c1478))
* Switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
([78adcc0](78adcc0))
* Sync from aztec-packages (noir-lang/noir#4993)
([11cde44](11cde44))
* ToRadix BB + avm transpiler support
([#6330](#6330))
([c3c602f](c3c602f))
* **vm:** Reading kernel state opcodes
([#5739](#5739))
([3250a8a](3250a8a))


### Bug Fixes

* `CombinedConstantData` not registered for serialization
([#6292](#6292))
([89ab8ee](89ab8ee))
* **avm-context:** Enqueueing of public from private
([#6299](#6299))
([bd2ccf0](bd2ccf0))
* **avm-simulator:** Always set revertReason when reverting
([#6297](#6297))
([cc59981](cc59981))
* **avm-simulator:** Correctly create call stack in shallow assertions
([#6274](#6274))
([f6045fd](f6045fd))
* **avm-simulator:** Fix env getters
([#6357](#6357))
([485fe40](485fe40))
* **avm-simulator:** Fix message sender
([#6331](#6331))
([f7e2d26](f7e2d26))
* **avm-simulator:** Fix test expectation
([#6293](#6293))
([f51acfa](f51acfa))
* **avm-simulator:** Rethrow nested assertions
([#6275](#6275))
([cd05b91](cd05b91))
* **avm-transpiler:** Patch debug infos with modified PCs
([#6371](#6371))
([c36f0fa](c36f0fa))
* Check for public args in aztec functions
([#6355](#6355))
([219efd6](219efd6))
* **ci:** Bench list
([#6282](#6282))
([2652576](2652576))
* **circuits.js:** Fix nullifier non existent hints
([#6346](#6346))
([297779a](297779a))
* **ci:** Stop mass serialization
([#6290](#6290))
([60104e9](60104e9))
* Defer overflow checks for unsigned integers to acir-gen
(noir-lang/noir#4832)
([11cde44](11cde44))
* Enable client proof tests
([#6249](#6249))
([6d3a800](6d3a800))
* Ignore no_predicates in brillig functions
(noir-lang/noir#5012)
([3cda21a](3cda21a))
* Noir_js import
([#6381](#6381))
([e9c7e5f](e9c7e5f))
* Pw/update merge check
([#6201](#6201))
([856657f](856657f))
* Run noir browser tests in series
([#6232](#6232))
([e092514](e092514))
* Temporarily revert to_radix blackbox
([#6304](#6304))
([044d0fe](044d0fe))


### Miscellaneous

* `CompleteAddress` cleanup
([#6300](#6300))
([9c30759](9c30759)),
closes
[#5834](#5834)
* Adding name shadowing tests template program
(noir-lang/noir#4799)
([11cde44](11cde44))
* **avm-context:** Implement Empty
([#6303](#6303))
([27534ac](27534ac))
* **avm-simulator:** Add U128 overflow tests to AVM simulator
([#6281](#6281))
([5514143](5514143))
* Bump public bytecode size to 40000 in prep for AVM migration
([#6266](#6266))
([2b61123](2b61123))
* Bump timeout for after-hook for data store test
([#6364](#6364))
([18eca39](18eca39))
* **ci:** Fix master, better spot copy times
([#6374](#6374))
([fee7649](fee7649))
* **ci:** Hotfix runner checks
([#6373](#6373))
([d5fd668](d5fd668))
* **ci:** Reuse ssh connections
([#6382](#6382))
([5f6c31e](5f6c31e))
* **ci:** Revert inline cache push for now
([#6318](#6318))
([4c9bfb0](4c9bfb0))
* **ci:** Run clippy on benchmarks
(noir-lang/noir#4988)
([11cde44](11cde44))
* **ci:** Run e2e on isolated spots
([#6287](#6287))
([e7d2dd6](e7d2dd6))
* **ci:** Spot health fix, earthly workarounds
([#6379](#6379))
([da7573c](da7573c))
* **ci:** Stability after spot changes
([#6367](#6367))
([7ad4179](7ad4179))
* **ci:** Use on-demand runners
([#6311](#6311))
([dba835d](dba835d))
* Deploying accounts after key registry
([#6322](#6322))
([84878d1](84878d1))
* Disable `gates_report.yml`
(noir-lang/noir#4997)
([11cde44](11cde44))
* **docs:** Update contract deployments page
([#6319](#6319))
([2e331b5](2e331b5))
* **dsl:** Update backend gateCount command to query a Program in a
single request
([#6228](#6228))
([8079f60](8079f60))
* Enforce formatting of noir code
([#6271](#6271))
([356f7bb](356f7bb))
* **experimental:** Add compiler option to enable the Elaborator
(noir-lang/noir#5003)
([3cda21a](3cda21a))
* **experimental:** Add Elaborator pass
(noir-lang/noir#4992)
([3cda21a](3cda21a))
* Make coinbase and fee_recipient inaccessible
([#6375](#6375))
([ded28b7](ded28b7))
* Make MSM builder more explicit
([#6110](#6110))
([40306b6](40306b6))
* Pw/refactor bb prover
([#6349](#6349))
([8eb0398](8eb0398))
* Remove `bb info` command
([#6276](#6276))
([f0a1c89](f0a1c89))
* Replace relative paths to noir-protocol-circuits
([fd40d99](fd40d99))
* Replace relative paths to noir-protocol-circuits
([53dbcb5](53dbcb5))
* Replace relative paths to noir-protocol-circuits
([48e07c3](48e07c3))
* Replace relative paths to noir-protocol-circuits
([6532725](6532725))
* Replace relative paths to noir-protocol-circuits
([8330f70](8330f70))
* Replace relative paths to noir-protocol-circuits
([484741a](484741a))
* Replacing old pub key oracle with get_ivpk_m
([#6219](#6219))
([9acc9ec](9acc9ec))
* Siloing in tails
([#6167](#6167))
([c20dd50](c20dd50))
* Simplify nargo CLI to read from artifacts
([#6279](#6279))
([b2c019b](b2c019b))
* Skip formatting informattable comments
([#6288](#6288))
([95b499b](95b499b))
* Split `ops` into `arith` and `bit` modules
(noir-lang/noir#4989)
([11cde44](11cde44))
* **test-contracts:** Prepare e2e_token_contract+ error msgs for AVM
migration
([#6307](#6307))
([0c20f44](0c20f44))
* Update cspell for abi demonomorphizer
([#6258](#6258))
([ce2d43c](ce2d43c))
* Update serialisation
([#6378](#6378))
([527129d](527129d))
* Validating private call data
([#6316](#6316))
([84b9fcd](84b9fcd))


### Documentation

* Call types
([#5472](#5472))
([1ca0d28](1ca0d28))
* Re-add and update accounts docs
([#6345](#6345))
([4926d15](4926d15))
* Updated protocol specs
([#6341](#6341))
([a0f82db](a0f82db))
</details>

<details><summary>barretenberg: 0.39.0</summary>

##
[0.39.0](barretenberg-v0.38.0...barretenberg-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
* specify databus arrays for BB
([#6239](#6239))

### Features

* Avm support for public input columns
([#5700](#5700))
([8cf9168](8cf9168))
* **avm-simulator:** Add to_radix_le instruction
([#6308](#6308))
([6374a32](6374a32))
* Div opcode
([#6053](#6053))
([8e111f8](8e111f8))
* Move to_radix to a blackbox
([#6294](#6294))
([ac27376](ac27376))
* Small translator optimisations
([#6354](#6354))
([ba6c42e](ba6c42e))
* Specify databus arrays for BB
([#6239](#6239))
([01d9f24](01d9f24))
* Structured trace in client ivc
([#6132](#6132))
([92c1478](92c1478))
* Switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
([78adcc0](78adcc0))
* ToRadix BB + avm transpiler support
([#6330](#6330))
([c3c602f](c3c602f))
* **vm:** Reading kernel state opcodes
([#5739](#5739))
([3250a8a](3250a8a))


### Bug Fixes

* Temporarily revert to_radix blackbox
([#6304](#6304))
([044d0fe](044d0fe))


### Miscellaneous

* **dsl:** Update backend gateCount command to query a Program in a
single request
([#6228](#6228))
([8079f60](8079f60))
* Make MSM builder more explicit
([#6110](#6110))
([40306b6](40306b6))
* Remove `bb info` command
([#6276](#6276))
([f0a1c89](f0a1c89))
* Update serialisation
([#6378](#6378))
([527129d](527129d))
</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 15, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.39.0](AztecProtocol/aztec-packages@aztec-package-v0.38.0...aztec-package-v0.39.0)
(2024-05-14)


### Features

* **p2p:** GossibSub
([#6170](AztecProtocol/aztec-packages#6170))
([98d32f1](AztecProtocol/aztec-packages@98d32f1)),
closes
[#5055](AztecProtocol/aztec-packages#5055)
* PublicKeys struct
([#6333](AztecProtocol/aztec-packages#6333))
([2633cfc](AztecProtocol/aztec-packages@2633cfc))


### Miscellaneous

* `CompleteAddress` cleanup
([#6300](AztecProtocol/aztec-packages#6300))
([9c30759](AztecProtocol/aztec-packages@9c30759)),
closes
[#5834](AztecProtocol/aztec-packages#5834)
</details>

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

##
[0.39.0](AztecProtocol/aztec-packages@barretenberg.js-v0.38.0...barretenberg.js-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](AztecProtocol/aztec-packages#6283))

### Features

* Switch `bb` over to read ACIR from nargo artifacts
([#6283](AztecProtocol/aztec-packages#6283))
([78adcc0](AztecProtocol/aztec-packages@78adcc0))
</details>

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

##
[0.39.0](AztecProtocol/aztec-packages@aztec-packages-v0.38.0...aztec-packages-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](AztecProtocol/aztec-packages#6283))
* shared mutable configurable delays
([#6104](AztecProtocol/aztec-packages#6104))
* specify databus arrays for BB
([#6239](AztecProtocol/aztec-packages#6239))

### Features

* Add `Not` trait to stdlib
(noir-lang/noir#4999)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* Add support for u16/i16 (noir-lang/noir#4985)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* Avm support for public input columns
([#5700](AztecProtocol/aztec-packages#5700))
([8cf9168](AztecProtocol/aztec-packages@8cf9168))
* **avm-simulator:** Add to_radix_le instruction
([#6308](AztecProtocol/aztec-packages#6308))
([6374a32](AztecProtocol/aztec-packages@6374a32))
* **avm-simulator:** Error stack tracking and enriching in AVM to match
ACVM/ACIR-SIM
([#6289](AztecProtocol/aztec-packages#6289))
([5c1f895](AztecProtocol/aztec-packages@5c1f895))
* **aztec-nr:** Add 'with_gas()' function to avm call interface
([#6256](AztecProtocol/aztec-packages#6256))
([0aedd23](AztecProtocol/aztec-packages@0aedd23))
* **aztec-nr:** Add enqueue functions to AvmCallInterface
([#6264](AztecProtocol/aztec-packages#6264))
([1c74387](AztecProtocol/aztec-packages@1c74387))
* Build-images as earthly.
([#6194](AztecProtocol/aztec-packages#6194))
([67fedf1](AztecProtocol/aztec-packages@67fedf1))
* Div opcode
([#6053](AztecProtocol/aztec-packages#6053))
([8e111f8](AztecProtocol/aztec-packages@8e111f8))
* Encrypted log body
([#6251](AztecProtocol/aztec-packages#6251))
([ba618d5](AztecProtocol/aztec-packages@ba618d5))
* Enforce note hash read requests to read within own contract
([#6310](AztecProtocol/aztec-packages#6310))
([bd10595](AztecProtocol/aztec-packages@bd10595))
* Expose `set_as_fee_payer` and test it in e2e
([#6380](AztecProtocol/aztec-packages#6380))
([a8274f3](AztecProtocol/aztec-packages@a8274f3))
* Implement `ops` traits on `u16`/`i16`
(noir-lang/noir#4996)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* Increase default expression width to 4
(noir-lang/noir#4995)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* Move abi demonomorphizer to noir_codegen and use noir_codegen in
protocol types
([#6302](AztecProtocol/aztec-packages#6302))
([690e500](AztecProtocol/aztec-packages@690e500))
* Move to_radix to a blackbox
([#6294](AztecProtocol/aztec-packages#6294))
([ac27376](AztecProtocol/aztec-packages@ac27376))
* **p2p:** GossibSub
([#6170](AztecProtocol/aztec-packages#6170))
([98d32f1](AztecProtocol/aztec-packages@98d32f1)),
closes
[#5055](AztecProtocol/aztec-packages#5055)
* Plumb fee payer
([#6286](AztecProtocol/aztec-packages#6286))
([1f8fd1c](AztecProtocol/aztec-packages@1f8fd1c))
* Private Kernel Recursion
([#6278](AztecProtocol/aztec-packages#6278))
([eae5822](AztecProtocol/aztec-packages@eae5822))
* Proper padding in ts AES and constrained AES in body and header
computations
([#6269](AztecProtocol/aztec-packages#6269))
([ef9cdde](AztecProtocol/aztec-packages@ef9cdde))
* PublicKeys struct
([#6333](AztecProtocol/aztec-packages#6333))
([2633cfc](AztecProtocol/aztec-packages@2633cfc))
* Re-enabling authwit constraint
([#6323](AztecProtocol/aztec-packages#6323))
([aa06d55](AztecProtocol/aztec-packages@aa06d55)),
closes
[#5830](AztecProtocol/aztec-packages#5830)
* Remove query to backend to get expression width
(noir-lang/noir#4975)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* Replacing mentions to aztec-starter with codespace methods
([#6177](AztecProtocol/aztec-packages#6177))
([63e8788](AztecProtocol/aztec-packages@63e8788))
* Return gas usage per phase from node tx simulation
([#6255](AztecProtocol/aztec-packages#6255))
([fb58dfc](AztecProtocol/aztec-packages@fb58dfc))
* Shared mutable configurable delays
([#6104](AztecProtocol/aztec-packages#6104))
([c191a40](AztecProtocol/aztec-packages@c191a40))
* Small translator optimisations
([#6354](AztecProtocol/aztec-packages#6354))
([ba6c42e](AztecProtocol/aztec-packages@ba6c42e))
* Specify databus arrays for BB
([#6239](AztecProtocol/aztec-packages#6239))
([01d9f24](AztecProtocol/aztec-packages@01d9f24))
* Structured trace in client ivc
([#6132](AztecProtocol/aztec-packages#6132))
([92c1478](AztecProtocol/aztec-packages@92c1478))
* Switch `bb` over to read ACIR from nargo artifacts
([#6283](AztecProtocol/aztec-packages#6283))
([78adcc0](AztecProtocol/aztec-packages@78adcc0))
* Sync from aztec-packages (noir-lang/noir#4993)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* ToRadix BB + avm transpiler support
([#6330](AztecProtocol/aztec-packages#6330))
([c3c602f](AztecProtocol/aztec-packages@c3c602f))
* **vm:** Reading kernel state opcodes
([#5739](AztecProtocol/aztec-packages#5739))
([3250a8a](AztecProtocol/aztec-packages@3250a8a))


### Bug Fixes

* `CombinedConstantData` not registered for serialization
([#6292](AztecProtocol/aztec-packages#6292))
([89ab8ee](AztecProtocol/aztec-packages@89ab8ee))
* **avm-context:** Enqueueing of public from private
([#6299](AztecProtocol/aztec-packages#6299))
([bd2ccf0](AztecProtocol/aztec-packages@bd2ccf0))
* **avm-simulator:** Always set revertReason when reverting
([#6297](AztecProtocol/aztec-packages#6297))
([cc59981](AztecProtocol/aztec-packages@cc59981))
* **avm-simulator:** Correctly create call stack in shallow assertions
([#6274](AztecProtocol/aztec-packages#6274))
([f6045fd](AztecProtocol/aztec-packages@f6045fd))
* **avm-simulator:** Fix env getters
([#6357](AztecProtocol/aztec-packages#6357))
([485fe40](AztecProtocol/aztec-packages@485fe40))
* **avm-simulator:** Fix message sender
([#6331](AztecProtocol/aztec-packages#6331))
([f7e2d26](AztecProtocol/aztec-packages@f7e2d26))
* **avm-simulator:** Fix test expectation
([#6293](AztecProtocol/aztec-packages#6293))
([f51acfa](AztecProtocol/aztec-packages@f51acfa))
* **avm-simulator:** Rethrow nested assertions
([#6275](AztecProtocol/aztec-packages#6275))
([cd05b91](AztecProtocol/aztec-packages@cd05b91))
* **avm-transpiler:** Patch debug infos with modified PCs
([#6371](AztecProtocol/aztec-packages#6371))
([c36f0fa](AztecProtocol/aztec-packages@c36f0fa))
* Check for public args in aztec functions
([#6355](AztecProtocol/aztec-packages#6355))
([219efd6](AztecProtocol/aztec-packages@219efd6))
* **ci:** Bench list
([#6282](AztecProtocol/aztec-packages#6282))
([2652576](AztecProtocol/aztec-packages@2652576))
* **circuits.js:** Fix nullifier non existent hints
([#6346](AztecProtocol/aztec-packages#6346))
([297779a](AztecProtocol/aztec-packages@297779a))
* **ci:** Stop mass serialization
([#6290](AztecProtocol/aztec-packages#6290))
([60104e9](AztecProtocol/aztec-packages@60104e9))
* Defer overflow checks for unsigned integers to acir-gen
(noir-lang/noir#4832)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* Enable client proof tests
([#6249](AztecProtocol/aztec-packages#6249))
([6d3a800](AztecProtocol/aztec-packages@6d3a800))
* Ignore no_predicates in brillig functions
(noir-lang/noir#5012)
([3cda21a](AztecProtocol/aztec-packages@3cda21a))
* Noir_js import
([#6381](AztecProtocol/aztec-packages#6381))
([e9c7e5f](AztecProtocol/aztec-packages@e9c7e5f))
* Pw/update merge check
([#6201](AztecProtocol/aztec-packages#6201))
([856657f](AztecProtocol/aztec-packages@856657f))
* Run noir browser tests in series
([#6232](AztecProtocol/aztec-packages#6232))
([e092514](AztecProtocol/aztec-packages@e092514))
* Temporarily revert to_radix blackbox
([#6304](AztecProtocol/aztec-packages#6304))
([044d0fe](AztecProtocol/aztec-packages@044d0fe))


### Miscellaneous

* `CompleteAddress` cleanup
([#6300](AztecProtocol/aztec-packages#6300))
([9c30759](AztecProtocol/aztec-packages@9c30759)),
closes
[#5834](AztecProtocol/aztec-packages#5834)
* Adding name shadowing tests template program
(noir-lang/noir#4799)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* **avm-context:** Implement Empty
([#6303](AztecProtocol/aztec-packages#6303))
([27534ac](AztecProtocol/aztec-packages@27534ac))
* **avm-simulator:** Add U128 overflow tests to AVM simulator
([#6281](AztecProtocol/aztec-packages#6281))
([5514143](AztecProtocol/aztec-packages@5514143))
* Bump public bytecode size to 40000 in prep for AVM migration
([#6266](AztecProtocol/aztec-packages#6266))
([2b61123](AztecProtocol/aztec-packages@2b61123))
* Bump timeout for after-hook for data store test
([#6364](AztecProtocol/aztec-packages#6364))
([18eca39](AztecProtocol/aztec-packages@18eca39))
* **ci:** Fix master, better spot copy times
([#6374](AztecProtocol/aztec-packages#6374))
([fee7649](AztecProtocol/aztec-packages@fee7649))
* **ci:** Hotfix runner checks
([#6373](AztecProtocol/aztec-packages#6373))
([d5fd668](AztecProtocol/aztec-packages@d5fd668))
* **ci:** Reuse ssh connections
([#6382](AztecProtocol/aztec-packages#6382))
([5f6c31e](AztecProtocol/aztec-packages@5f6c31e))
* **ci:** Revert inline cache push for now
([#6318](AztecProtocol/aztec-packages#6318))
([4c9bfb0](AztecProtocol/aztec-packages@4c9bfb0))
* **ci:** Run clippy on benchmarks
(noir-lang/noir#4988)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* **ci:** Run e2e on isolated spots
([#6287](AztecProtocol/aztec-packages#6287))
([e7d2dd6](AztecProtocol/aztec-packages@e7d2dd6))
* **ci:** Spot health fix, earthly workarounds
([#6379](AztecProtocol/aztec-packages#6379))
([da7573c](AztecProtocol/aztec-packages@da7573c))
* **ci:** Stability after spot changes
([#6367](AztecProtocol/aztec-packages#6367))
([7ad4179](AztecProtocol/aztec-packages@7ad4179))
* **ci:** Use on-demand runners
([#6311](AztecProtocol/aztec-packages#6311))
([dba835d](AztecProtocol/aztec-packages@dba835d))
* Deploying accounts after key registry
([#6322](AztecProtocol/aztec-packages#6322))
([84878d1](AztecProtocol/aztec-packages@84878d1))
* Disable `gates_report.yml`
(noir-lang/noir#4997)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* **docs:** Update contract deployments page
([#6319](AztecProtocol/aztec-packages#6319))
([2e331b5](AztecProtocol/aztec-packages@2e331b5))
* **dsl:** Update backend gateCount command to query a Program in a
single request
([#6228](AztecProtocol/aztec-packages#6228))
([8079f60](AztecProtocol/aztec-packages@8079f60))
* Enforce formatting of noir code
([#6271](AztecProtocol/aztec-packages#6271))
([356f7bb](AztecProtocol/aztec-packages@356f7bb))
* **experimental:** Add compiler option to enable the Elaborator
(noir-lang/noir#5003)
([3cda21a](AztecProtocol/aztec-packages@3cda21a))
* **experimental:** Add Elaborator pass
(noir-lang/noir#4992)
([3cda21a](AztecProtocol/aztec-packages@3cda21a))
* Make coinbase and fee_recipient inaccessible
([#6375](AztecProtocol/aztec-packages#6375))
([ded28b7](AztecProtocol/aztec-packages@ded28b7))
* Make MSM builder more explicit
([#6110](AztecProtocol/aztec-packages#6110))
([40306b6](AztecProtocol/aztec-packages@40306b6))
* Pw/refactor bb prover
([#6349](AztecProtocol/aztec-packages#6349))
([8eb0398](AztecProtocol/aztec-packages@8eb0398))
* Remove `bb info` command
([#6276](AztecProtocol/aztec-packages#6276))
([f0a1c89](AztecProtocol/aztec-packages@f0a1c89))
* Replace relative paths to noir-protocol-circuits
([fd40d99](AztecProtocol/aztec-packages@fd40d99))
* Replace relative paths to noir-protocol-circuits
([53dbcb5](AztecProtocol/aztec-packages@53dbcb5))
* Replace relative paths to noir-protocol-circuits
([48e07c3](AztecProtocol/aztec-packages@48e07c3))
* Replace relative paths to noir-protocol-circuits
([6532725](AztecProtocol/aztec-packages@6532725))
* Replace relative paths to noir-protocol-circuits
([8330f70](AztecProtocol/aztec-packages@8330f70))
* Replace relative paths to noir-protocol-circuits
([484741a](AztecProtocol/aztec-packages@484741a))
* Replacing old pub key oracle with get_ivpk_m
([#6219](AztecProtocol/aztec-packages#6219))
([9acc9ec](AztecProtocol/aztec-packages@9acc9ec))
* Siloing in tails
([#6167](AztecProtocol/aztec-packages#6167))
([c20dd50](AztecProtocol/aztec-packages@c20dd50))
* Simplify nargo CLI to read from artifacts
([#6279](AztecProtocol/aztec-packages#6279))
([b2c019b](AztecProtocol/aztec-packages@b2c019b))
* Skip formatting informattable comments
([#6288](AztecProtocol/aztec-packages#6288))
([95b499b](AztecProtocol/aztec-packages@95b499b))
* Split `ops` into `arith` and `bit` modules
(noir-lang/noir#4989)
([11cde44](AztecProtocol/aztec-packages@11cde44))
* **test-contracts:** Prepare e2e_token_contract+ error msgs for AVM
migration
([#6307](AztecProtocol/aztec-packages#6307))
([0c20f44](AztecProtocol/aztec-packages@0c20f44))
* Update cspell for abi demonomorphizer
([#6258](AztecProtocol/aztec-packages#6258))
([ce2d43c](AztecProtocol/aztec-packages@ce2d43c))
* Update serialisation
([#6378](AztecProtocol/aztec-packages#6378))
([527129d](AztecProtocol/aztec-packages@527129d))
* Validating private call data
([#6316](AztecProtocol/aztec-packages#6316))
([84b9fcd](AztecProtocol/aztec-packages@84b9fcd))


### Documentation

* Call types
([#5472](AztecProtocol/aztec-packages#5472))
([1ca0d28](AztecProtocol/aztec-packages@1ca0d28))
* Re-add and update accounts docs
([#6345](AztecProtocol/aztec-packages#6345))
([4926d15](AztecProtocol/aztec-packages@4926d15))
* Updated protocol specs
([#6341](AztecProtocol/aztec-packages#6341))
([a0f82db](AztecProtocol/aztec-packages@a0f82db))
</details>

<details><summary>barretenberg: 0.39.0</summary>

##
[0.39.0](AztecProtocol/aztec-packages@barretenberg-v0.38.0...barretenberg-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](AztecProtocol/aztec-packages#6283))
* specify databus arrays for BB
([#6239](AztecProtocol/aztec-packages#6239))

### Features

* Avm support for public input columns
([#5700](AztecProtocol/aztec-packages#5700))
([8cf9168](AztecProtocol/aztec-packages@8cf9168))
* **avm-simulator:** Add to_radix_le instruction
([#6308](AztecProtocol/aztec-packages#6308))
([6374a32](AztecProtocol/aztec-packages@6374a32))
* Div opcode
([#6053](AztecProtocol/aztec-packages#6053))
([8e111f8](AztecProtocol/aztec-packages@8e111f8))
* Move to_radix to a blackbox
([#6294](AztecProtocol/aztec-packages#6294))
([ac27376](AztecProtocol/aztec-packages@ac27376))
* Small translator optimisations
([#6354](AztecProtocol/aztec-packages#6354))
([ba6c42e](AztecProtocol/aztec-packages@ba6c42e))
* Specify databus arrays for BB
([#6239](AztecProtocol/aztec-packages#6239))
([01d9f24](AztecProtocol/aztec-packages@01d9f24))
* Structured trace in client ivc
([#6132](AztecProtocol/aztec-packages#6132))
([92c1478](AztecProtocol/aztec-packages@92c1478))
* Switch `bb` over to read ACIR from nargo artifacts
([#6283](AztecProtocol/aztec-packages#6283))
([78adcc0](AztecProtocol/aztec-packages@78adcc0))
* ToRadix BB + avm transpiler support
([#6330](AztecProtocol/aztec-packages#6330))
([c3c602f](AztecProtocol/aztec-packages@c3c602f))
* **vm:** Reading kernel state opcodes
([#5739](AztecProtocol/aztec-packages#5739))
([3250a8a](AztecProtocol/aztec-packages@3250a8a))


### Bug Fixes

* Temporarily revert to_radix blackbox
([#6304](AztecProtocol/aztec-packages#6304))
([044d0fe](AztecProtocol/aztec-packages@044d0fe))


### Miscellaneous

* **dsl:** Update backend gateCount command to query a Program in a
single request
([#6228](AztecProtocol/aztec-packages#6228))
([8079f60](AztecProtocol/aztec-packages@8079f60))
* Make MSM builder more explicit
([#6110](AztecProtocol/aztec-packages#6110))
([40306b6](AztecProtocol/aztec-packages@40306b6))
* Remove `bb info` command
([#6276](AztecProtocol/aztec-packages#6276))
([f0a1c89](AztecProtocol/aztec-packages@f0a1c89))
* Update serialisation
([#6378](AztecProtocol/aztec-packages#6378))
([527129d](AztecProtocol/aztec-packages@527129d))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
iakovenkos pushed a commit that referenced this pull request May 15, 2024
## Implemented

[See
spec](https://docs.aztec.network/protocol-specs/gas-and-fees/specifying-gas-fee-info).

A boolean flag `is_fee_payer` in the PrivateCircuitPublicInputs. The
private kernel circuits will check this flag for every call stack item.

When a call stack item is found with `is_fee_payer` set, the kernel
circuit will set `fee_payer` in its PrivateKernelCircuitPublicInputs to
be the callStackItem.contractAddress.

This is subsequently passed through the PublicKernelCircuitPublicInputs
to the KernelCircuitPublicInputs.

If a transaction attempts to set fee_payer multiple times, the
transaction will be considered invalid.

## Deviations

Whereas in the spec we said we would use `contract_address`, we have
updated that to use `storage_contract_address` because it correctly
handles delegate calls: if `is_fee_payer` gets set during delegate call,
the "delegator" should be the `fee_payer`, not the "delegatee".

## Remaining

Actually setting `fee_payer` in a contract, and making assertions.
(#5920)

If the fee_payer is not set, the transaction will be considered invalid.
(#6343)

## Elsewhere

Unit tests on SerDe
(#6339)
iakovenkos pushed a commit that referenced this pull request May 15, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.39.0](aztec-package-v0.38.0...aztec-package-v0.39.0)
(2024-05-14)


### Features

* **p2p:** GossibSub
([#6170](#6170))
([98d32f1](98d32f1)),
closes
[#5055](#5055)
* PublicKeys struct
([#6333](#6333))
([2633cfc](2633cfc))


### Miscellaneous

* `CompleteAddress` cleanup
([#6300](#6300))
([9c30759](9c30759)),
closes
[#5834](#5834)
</details>

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

##
[0.39.0](barretenberg.js-v0.38.0...barretenberg.js-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))

### Features

* Switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
([78adcc0](78adcc0))
</details>

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

##
[0.39.0](aztec-packages-v0.38.0...aztec-packages-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
* shared mutable configurable delays
([#6104](#6104))
* specify databus arrays for BB
([#6239](#6239))

### Features

* Add `Not` trait to stdlib
(noir-lang/noir#4999)
([11cde44](11cde44))
* Add support for u16/i16 (noir-lang/noir#4985)
([11cde44](11cde44))
* Avm support for public input columns
([#5700](#5700))
([8cf9168](8cf9168))
* **avm-simulator:** Add to_radix_le instruction
([#6308](#6308))
([6374a32](6374a32))
* **avm-simulator:** Error stack tracking and enriching in AVM to match
ACVM/ACIR-SIM
([#6289](#6289))
([5c1f895](5c1f895))
* **aztec-nr:** Add 'with_gas()' function to avm call interface
([#6256](#6256))
([0aedd23](0aedd23))
* **aztec-nr:** Add enqueue functions to AvmCallInterface
([#6264](#6264))
([1c74387](1c74387))
* Build-images as earthly.
([#6194](#6194))
([67fedf1](67fedf1))
* Div opcode
([#6053](#6053))
([8e111f8](8e111f8))
* Encrypted log body
([#6251](#6251))
([ba618d5](ba618d5))
* Enforce note hash read requests to read within own contract
([#6310](#6310))
([bd10595](bd10595))
* Expose `set_as_fee_payer` and test it in e2e
([#6380](#6380))
([a8274f3](a8274f3))
* Implement `ops` traits on `u16`/`i16`
(noir-lang/noir#4996)
([11cde44](11cde44))
* Increase default expression width to 4
(noir-lang/noir#4995)
([11cde44](11cde44))
* Move abi demonomorphizer to noir_codegen and use noir_codegen in
protocol types
([#6302](#6302))
([690e500](690e500))
* Move to_radix to a blackbox
([#6294](#6294))
([ac27376](ac27376))
* **p2p:** GossibSub
([#6170](#6170))
([98d32f1](98d32f1)),
closes
[#5055](#5055)
* Plumb fee payer
([#6286](#6286))
([1f8fd1c](1f8fd1c))
* Private Kernel Recursion
([#6278](#6278))
([eae5822](eae5822))
* Proper padding in ts AES and constrained AES in body and header
computations
([#6269](#6269))
([ef9cdde](ef9cdde))
* PublicKeys struct
([#6333](#6333))
([2633cfc](2633cfc))
* Re-enabling authwit constraint
([#6323](#6323))
([aa06d55](aa06d55)),
closes
[#5830](#5830)
* Remove query to backend to get expression width
(noir-lang/noir#4975)
([11cde44](11cde44))
* Replacing mentions to aztec-starter with codespace methods
([#6177](#6177))
([63e8788](63e8788))
* Return gas usage per phase from node tx simulation
([#6255](#6255))
([fb58dfc](fb58dfc))
* Shared mutable configurable delays
([#6104](#6104))
([c191a40](c191a40))
* Small translator optimisations
([#6354](#6354))
([ba6c42e](ba6c42e))
* Specify databus arrays for BB
([#6239](#6239))
([01d9f24](01d9f24))
* Structured trace in client ivc
([#6132](#6132))
([92c1478](92c1478))
* Switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
([78adcc0](78adcc0))
* Sync from aztec-packages (noir-lang/noir#4993)
([11cde44](11cde44))
* ToRadix BB + avm transpiler support
([#6330](#6330))
([c3c602f](c3c602f))
* **vm:** Reading kernel state opcodes
([#5739](#5739))
([3250a8a](3250a8a))


### Bug Fixes

* `CombinedConstantData` not registered for serialization
([#6292](#6292))
([89ab8ee](89ab8ee))
* **avm-context:** Enqueueing of public from private
([#6299](#6299))
([bd2ccf0](bd2ccf0))
* **avm-simulator:** Always set revertReason when reverting
([#6297](#6297))
([cc59981](cc59981))
* **avm-simulator:** Correctly create call stack in shallow assertions
([#6274](#6274))
([f6045fd](f6045fd))
* **avm-simulator:** Fix env getters
([#6357](#6357))
([485fe40](485fe40))
* **avm-simulator:** Fix message sender
([#6331](#6331))
([f7e2d26](f7e2d26))
* **avm-simulator:** Fix test expectation
([#6293](#6293))
([f51acfa](f51acfa))
* **avm-simulator:** Rethrow nested assertions
([#6275](#6275))
([cd05b91](cd05b91))
* **avm-transpiler:** Patch debug infos with modified PCs
([#6371](#6371))
([c36f0fa](c36f0fa))
* Check for public args in aztec functions
([#6355](#6355))
([219efd6](219efd6))
* **ci:** Bench list
([#6282](#6282))
([2652576](2652576))
* **circuits.js:** Fix nullifier non existent hints
([#6346](#6346))
([297779a](297779a))
* **ci:** Stop mass serialization
([#6290](#6290))
([60104e9](60104e9))
* Defer overflow checks for unsigned integers to acir-gen
(noir-lang/noir#4832)
([11cde44](11cde44))
* Enable client proof tests
([#6249](#6249))
([6d3a800](6d3a800))
* Ignore no_predicates in brillig functions
(noir-lang/noir#5012)
([3cda21a](3cda21a))
* Noir_js import
([#6381](#6381))
([e9c7e5f](e9c7e5f))
* Pw/update merge check
([#6201](#6201))
([856657f](856657f))
* Run noir browser tests in series
([#6232](#6232))
([e092514](e092514))
* Temporarily revert to_radix blackbox
([#6304](#6304))
([044d0fe](044d0fe))


### Miscellaneous

* `CompleteAddress` cleanup
([#6300](#6300))
([9c30759](9c30759)),
closes
[#5834](#5834)
* Adding name shadowing tests template program
(noir-lang/noir#4799)
([11cde44](11cde44))
* **avm-context:** Implement Empty
([#6303](#6303))
([27534ac](27534ac))
* **avm-simulator:** Add U128 overflow tests to AVM simulator
([#6281](#6281))
([5514143](5514143))
* Bump public bytecode size to 40000 in prep for AVM migration
([#6266](#6266))
([2b61123](2b61123))
* Bump timeout for after-hook for data store test
([#6364](#6364))
([18eca39](18eca39))
* **ci:** Fix master, better spot copy times
([#6374](#6374))
([fee7649](fee7649))
* **ci:** Hotfix runner checks
([#6373](#6373))
([d5fd668](d5fd668))
* **ci:** Reuse ssh connections
([#6382](#6382))
([5f6c31e](5f6c31e))
* **ci:** Revert inline cache push for now
([#6318](#6318))
([4c9bfb0](4c9bfb0))
* **ci:** Run clippy on benchmarks
(noir-lang/noir#4988)
([11cde44](11cde44))
* **ci:** Run e2e on isolated spots
([#6287](#6287))
([e7d2dd6](e7d2dd6))
* **ci:** Spot health fix, earthly workarounds
([#6379](#6379))
([da7573c](da7573c))
* **ci:** Stability after spot changes
([#6367](#6367))
([7ad4179](7ad4179))
* **ci:** Use on-demand runners
([#6311](#6311))
([dba835d](dba835d))
* Deploying accounts after key registry
([#6322](#6322))
([84878d1](84878d1))
* Disable `gates_report.yml`
(noir-lang/noir#4997)
([11cde44](11cde44))
* **docs:** Update contract deployments page
([#6319](#6319))
([2e331b5](2e331b5))
* **dsl:** Update backend gateCount command to query a Program in a
single request
([#6228](#6228))
([8079f60](8079f60))
* Enforce formatting of noir code
([#6271](#6271))
([356f7bb](356f7bb))
* **experimental:** Add compiler option to enable the Elaborator
(noir-lang/noir#5003)
([3cda21a](3cda21a))
* **experimental:** Add Elaborator pass
(noir-lang/noir#4992)
([3cda21a](3cda21a))
* Make coinbase and fee_recipient inaccessible
([#6375](#6375))
([ded28b7](ded28b7))
* Make MSM builder more explicit
([#6110](#6110))
([40306b6](40306b6))
* Pw/refactor bb prover
([#6349](#6349))
([8eb0398](8eb0398))
* Remove `bb info` command
([#6276](#6276))
([f0a1c89](f0a1c89))
* Replace relative paths to noir-protocol-circuits
([fd40d99](fd40d99))
* Replace relative paths to noir-protocol-circuits
([53dbcb5](53dbcb5))
* Replace relative paths to noir-protocol-circuits
([48e07c3](48e07c3))
* Replace relative paths to noir-protocol-circuits
([6532725](6532725))
* Replace relative paths to noir-protocol-circuits
([8330f70](8330f70))
* Replace relative paths to noir-protocol-circuits
([484741a](484741a))
* Replacing old pub key oracle with get_ivpk_m
([#6219](#6219))
([9acc9ec](9acc9ec))
* Siloing in tails
([#6167](#6167))
([c20dd50](c20dd50))
* Simplify nargo CLI to read from artifacts
([#6279](#6279))
([b2c019b](b2c019b))
* Skip formatting informattable comments
([#6288](#6288))
([95b499b](95b499b))
* Split `ops` into `arith` and `bit` modules
(noir-lang/noir#4989)
([11cde44](11cde44))
* **test-contracts:** Prepare e2e_token_contract+ error msgs for AVM
migration
([#6307](#6307))
([0c20f44](0c20f44))
* Update cspell for abi demonomorphizer
([#6258](#6258))
([ce2d43c](ce2d43c))
* Update serialisation
([#6378](#6378))
([527129d](527129d))
* Validating private call data
([#6316](#6316))
([84b9fcd](84b9fcd))


### Documentation

* Call types
([#5472](#5472))
([1ca0d28](1ca0d28))
* Re-add and update accounts docs
([#6345](#6345))
([4926d15](4926d15))
* Updated protocol specs
([#6341](#6341))
([a0f82db](a0f82db))
</details>

<details><summary>barretenberg: 0.39.0</summary>

##
[0.39.0](barretenberg-v0.38.0...barretenberg-v0.39.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
* specify databus arrays for BB
([#6239](#6239))

### Features

* Avm support for public input columns
([#5700](#5700))
([8cf9168](8cf9168))
* **avm-simulator:** Add to_radix_le instruction
([#6308](#6308))
([6374a32](6374a32))
* Div opcode
([#6053](#6053))
([8e111f8](8e111f8))
* Move to_radix to a blackbox
([#6294](#6294))
([ac27376](ac27376))
* Small translator optimisations
([#6354](#6354))
([ba6c42e](ba6c42e))
* Specify databus arrays for BB
([#6239](#6239))
([01d9f24](01d9f24))
* Structured trace in client ivc
([#6132](#6132))
([92c1478](92c1478))
* Switch `bb` over to read ACIR from nargo artifacts
([#6283](#6283))
([78adcc0](78adcc0))
* ToRadix BB + avm transpiler support
([#6330](#6330))
([c3c602f](c3c602f))
* **vm:** Reading kernel state opcodes
([#5739](#5739))
([3250a8a](3250a8a))


### Bug Fixes

* Temporarily revert to_radix blackbox
([#6304](#6304))
([044d0fe](044d0fe))


### Miscellaneous

* **dsl:** Update backend gateCount command to query a Program in a
single request
([#6228](#6228))
([8079f60](8079f60))
* Make MSM builder more explicit
([#6110](#6110))
([40306b6](40306b6))
* Remove `bb info` command
([#6276](#6276))
([f0a1c89](f0a1c89))
* Update serialisation
([#6378](#6378))
([527129d](527129d))
</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.

4 participants