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(vm): reading kernel state opcodes #5739

Merged
merged 55 commits into from
May 11, 2024

Conversation

Maddiaa0
Copy link
Member

@Maddiaa0 Maddiaa0 commented Apr 12, 2024

This pr will cover the following opcodes:
ADDRESS
STORAGEADDRESS
SENDER
FEEPERL2GAS
FEEPERDAGAS
TRANSACTIONFEE

CHAINID
VERSION
BLOCKNUMBER
TIMESTAMP

Copy link
Member Author

Maddiaa0 commented Apr 12, 2024

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

Join @Maddiaa0 and the rest of your teammates on Graphite Graphite

@AztecBot
Copy link
Collaborator

AztecBot commented Apr 12, 2024

Benchmark results

Metrics with a significant change:

  • note_successful_decrypting_time_in_ms (8): 206 (-17%)
  • note_trial_decrypting_time_in_ms (8): 7.52 (-85%)
Detailed results

All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.

This benchmark source data is available in JSON format on S3 here.

L2 block published to L1

Each column represents the number of txs on an L2 block published to L1.

Metric 8 txs 32 txs 64 txs
l1_rollup_calldata_size_in_bytes 772 772 772
l1_rollup_calldata_gas 6,844 (+1%) 6,844 6,844
l1_rollup_execution_gas 587,325 587,325 587,325
l2_block_processing_time_in_ms 1,570 (+6%) 5,377 10,511 (+2%)
note_successful_decrypting_time_in_ms ⚠️ 206 (-17%) 594 (+7%) 1,001 (+5%)
note_trial_decrypting_time_in_ms ⚠️ 7.52 (-85%) 105 (+60%) 120 (+72%)
l2_block_building_time_in_ms 18,133 70,702 (-1%) 141,187 (-1%)
l2_block_rollup_simulation_time_in_ms 17,899 69,842 (-1%) 139,496 (-1%)
l2_block_public_tx_process_time_in_ms 8,306 (+1%) 31,881 (-1%) 64,010 (-1%)

L2 chain processing

Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric 5 blocks 10 blocks
node_history_sync_time_in_ms 16,072 (-3%) 30,676 (+2%)
note_history_successful_decrypting_time_in_ms 1,242 (-1%) 2,231 (-11%)
note_history_trial_decrypting_time_in_ms 50.4 (-26%) 75.6 (-35%)
node_database_size_in_bytes 19,165,264 35,885,136
pxe_database_size_in_bytes 29,859 59,414

Circuits stats

Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit circuit_simulation_time_in_ms circuit_input_size_in_bytes circuit_output_size_in_bytes
private-kernel-init 148 (-3%) 45,173 27,384
private-kernel-inner 163 (-2%) 73,608 27,384
private-kernel-ordering 119 (-2%) 53,138 41,123
base-parity 45.3 (-1%) 128 311
root-parity 7.22 (-3%) 1,244 311
base-rollup 19,001 (-2%) 110,928 957
root-rollup 47.3 (-1%) 4,551 821
public-kernel-app-logic 91.9 (-2%) 50,319 42,853
public-kernel-tail 375 (-2%) 159,352 7,493
merge-rollup 6.98 (-1%) 2,760 957
public-kernel-teardown 87.0 (-1%) 50,319 42,853
public-kernel-setup 86.0 50,319 42,853

Tree insertion stats

The duration to insert a fixed batch of leaves into each tree type.

Metric 1 leaves 16 leaves 64 leaves 128 leaves 512 leaves 1024 leaves 2048 leaves 4096 leaves 32 leaves
batch_insert_into_append_only_tree_16_depth_ms 11.0 (-1%) 17.7 (-1%) N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_count 16.8 31.6 N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_ms 0.640 (-1%) 0.547 (-1%) N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_32_depth_ms N/A N/A 51.6 (-2%) 80.9 261 500 (-3%) 981 (-2%) 1,965 (+1%) N/A
batch_insert_into_append_only_tree_32_depth_hash_count N/A N/A 96.0 159 543 1,055 2,079 4,127 N/A
batch_insert_into_append_only_tree_32_depth_hash_ms N/A N/A 0.529 (-1%) 0.499 0.476 (+1%) 0.468 (-3%) 0.466 (-2%) 0.470 (+1%) N/A
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 60.5 (-2%) 119 (-2%) 379 737 (-3%) 1,475 (-1%) 2,922 N/A
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 105 207 691 1,363 2,707 5,395 N/A
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A 0.535 (-1%) 0.535 (-1%) 0.514 0.507 (-3%) 0.510 (-1%) 0.509 N/A
batch_insert_into_indexed_tree_40_depth_ms N/A N/A N/A N/A N/A N/A N/A N/A 67.2 (-2%)
batch_insert_into_indexed_tree_40_depth_hash_count N/A N/A N/A N/A N/A N/A N/A N/A 109
batch_insert_into_indexed_tree_40_depth_hash_ms N/A N/A N/A N/A N/A N/A N/A N/A 0.587 (-1%)

Miscellaneous

Transaction sizes based on how many contract classes are registered in the tx.

Metric 0 registered classes 1 registered classes
tx_size_in_bytes 42,886 535,757

Transaction size based on fee payment method

Metric native fee payment method fpc_public fee payment method fpc_private fee payment method
tx_with_fee_size_in_bytes 897 1,145 1,345

Transaction processing duration by data writes.

Metric 0 new note hashes 1 new note hashes 2 new note hashes
tx_pxe_processing_time_ms 1,252 833 (-3%) 3,529 (+2%)
Metric 1 public data writes 2 public data writes 3 public data writes 4 public data writes 5 public data writes 8 public data writes
tx_sequencer_processing_time_ms 796 (-2%) 668 1,272 (-1%) 872 1,952 1,131 (+1%)

Copy link
Contributor

@jeanmon jeanmon left a comment

Choose a reason for hiding this comment

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

@Maddiaa0 Commented on PIL relations only. Let us agree first on these ones and then we cna move to the witness generation.

barretenberg/cpp/pil/avm/avm_main.pil Outdated Show resolved Hide resolved
barretenberg/cpp/pil/avm/avm_environment.pil Outdated Show resolved Hide resolved
barretenberg/cpp/pil/avm/avm_environment.pil Outdated Show resolved Hide resolved
barretenberg/cpp/pil/avm/avm_main.pil Outdated Show resolved Hide resolved
Copy link
Contributor

@jeanmon jeanmon left a comment

Choose a reason for hiding this comment

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

Good work @Maddiaa0 . Please address/look at the feedback before merging.

barretenberg/cpp/pil/avm/avm_kernel.pil Outdated Show resolved Hide resolved

#[LOOKUP_INTO_KERNEL]
// TODO: FIX not having the trailing is_public breaking compilation :(
avm_main.q_kernel_lookup { avm_main.ia, kernel_sel } in q_public_input_kernel_add_to_table { kernel_inputs__is_public, avm_main.clk };
Copy link
Contributor

Choose a reason for hiding this comment

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

Whenever we have a lookup/perm involving the main trace, we define them in the main pil file. It is a convention that we try to follow.

Copy link
Contributor

Choose a reason for hiding this comment

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

I would rather see kernel_sel defined in main trace. Then, all the above relations above can be moved in the main trace actually. The avm_kernel.pil would simply defined by the kernel_inputs and q_public_input_kernel_add_to_table

barretenberg/cpp/pil/avm/avm_kernel.pil Outdated Show resolved Hide resolved
@@ -0,0 +1,23 @@
#!/bin/bash
Copy link
Contributor

Choose a reason for hiding this comment

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

Very welcome script! Thx.

AvmMemoryTag w_tag = AvmMemoryTag::U32; // THIS WAS U32
mem_trace_builder.write_into_memory(clk, IntermRegister::IA, dst_offset, value, r_tag, w_tag);

// TODO: must i constrain r in tag to be the type of the write operation in pil?
Copy link
Contributor

Choose a reason for hiding this comment

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

What is not clear to me is whether the kernel or another component constraints these public inputs to

  1. having the right type?
  2. comply to their tag?
    If not, we need to perform range checks on these inputs to ensure that they are indeed 32 bits (timestamp 64 bits).

In any case, I would enforce that the w_in_tag being u32 for these opcodes.

Copy link
Member Author

Choose a reason for hiding this comment

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

These values will be read in via the public inputs, and therefore will be constrained to the correct type via the kernel circuits

@Maddiaa0 Maddiaa0 changed the base branch from md/04-11-feat_bb_support_for_public_input_columns to master May 9, 2024 16:51
@Maddiaa0 Maddiaa0 changed the base branch from master to md/04-11-feat_bb_support_for_public_input_columns May 9, 2024 16:51
@Maddiaa0
Copy link
Member Author

Maddiaa0 commented May 9, 2024

AztecProtocol/powdr#59 related powdr pr

@Maddiaa0 Maddiaa0 marked this pull request as ready for review May 10, 2024 10:31
Base automatically changed from md/04-11-feat_bb_support_for_public_input_columns to master May 10, 2024 11:21
@Maddiaa0 Maddiaa0 enabled auto-merge (squash) May 10, 2024 14:21
@Maddiaa0 Maddiaa0 merged commit 3250a8a into master May 11, 2024
79 of 83 checks passed
@Maddiaa0 Maddiaa0 deleted the md/04-12-feat_example_caller_and_address_opcode branch May 11, 2024 21:49
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
🤖 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.

None yet

3 participants