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!: Mark transactions as reverted on L1 #5226

Merged

Conversation

just-mitch
Copy link
Contributor

@just-mitch just-mitch commented Mar 14, 2024

Introduction

Presently, if a transaction is reverted, the base rollup does not mark it as reverted: it merely has its revertible side effects dropped. This issue will update the base rollup to mark reverted transactions.

Solution Design

New RevertCode in TxEffect

Create a new class in circuits.js to hold a RevertCode. It will be a safe wrapper around an Fr that will be used to store the revert code of a transaction.

0 will indicate success, and any other value will indicate failure. Presently, only 1 is used to indicate general failure, but we'll leave the door open for future expansion.

TxEffect will be updated to include a RevertCode.

Ethereum status

Ethereum stores their status in a uint64, but only currently use 0 to indicate failure and 1 for success. More info (Thanks @spalladino !)

Size considerations

We'll eventually want to add gasUsed and gasPrice to TxEffect. Using a full field is wasteful, but using a smaller size will make the encoding and hashing more complex (see below). We'll implement with a full field and have a stacked PR to optimize the size.

Kernel Constraints

The RevertCode will become part of the content commitment for a transaction.

The content commitment is computed by the base rollup in compute_tx_effects_hash, which:

  • accepts a CombinedAccumulatedData
  • operates over Fields

We will therefore update the CombinedAccumulatedData to include the RevertCode.

A fallout from that is we will move the current reverted flag from PublicKernelCircuitPublicInputs to be part of:

  • PrivateAccumulatedNonRevertibleData
  • PublicAccumulatedNonRevertibleData

This is because we:

  1. build up a CombinedAccumulatedData during private execution
  2. split them into PrivateAccumulatedNonRevertibleData and PrivateAccumulatedRevertibleData in the private kernel tail
  3. convert those PrivateAccumulated... into PublicAccumulated... during public kernel execution as needed
  4. recombine them back into CombinedAccumulatedData before feeding back into base rollup

Encoding

The RevertCode will come first in the encoded TxEffect.

That is we will publish:

|| 32 bytes for RevertCode || ... Existing PublishedTxEffect ... ||

L1 Tx Decoder

We'll need to update the availability oracle to compensate for the new flag.

TxReceipt

We'll add a new TxStatus that is REVERTED = 'reverted'.

We need to update getSettledTxReceipt to inspect the TxEffect and set the status accordingly.

Test Plan

Unit Tests

  • Serde of TxEffect in TS and solidity.

E2E Tests

  • Add checks for tx statuses of REVERTED in the e2e_fees, e2e_deploy_contract, and dapp_testing.

Documentation Plan

Will start a page in the "Data publication and availability" section of the yellow paper describing the format of the block submitted.

Especially Relevant Parties

Plan Approvals

👋 Please add a +1 or comment to express your approval or disapproval of the plan above.

@just-mitch just-mitch linked an issue Mar 14, 2024 that may be closed by this pull request
@AztecBot
Copy link
Collaborator

AztecBot commented Mar 14, 2024

Benchmark results

Metrics with a significant change:

  • note_history_trial_decrypting_time_in_ms (5): 108 (+76%)
  • note_successful_decrypting_time_in_ms (32): 499 (-31%)
  • note_trial_decrypting_time_in_ms (32): 116 (+200%)
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.

Values are compared against data from master at commit 36e0f59b and shown if the difference exceeds 1%.

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 5,924 (+5%) 19,844 (+5%) 38,404 (+6%)
l1_rollup_calldata_gas 67,256 (+1%) 243,104 (+2%) 478,156 (+2%)
l1_rollup_execution_gas 648,994 936,022 (+1%) 1,319,456 (+1%)
l2_block_processing_time_in_ms 1,315 (+3%) 4,737 (+1%) 9,494 (+4%)
note_successful_decrypting_time_in_ms 176 (-1%) ⚠️ 499 (-31%) 1,006 (+5%)
note_trial_decrypting_time_in_ms 77.7 (-5%) ⚠️ 116 (+200%) 37.0 (-59%)
l2_block_building_time_in_ms 17,792 (-2%) 67,242 (-2%) 132,919 (-2%)
l2_block_rollup_simulation_time_in_ms 8,032 28,755 (+1%) 56,189
l2_block_public_tx_process_time_in_ms 9,741 (-3%) 38,431 (-3%) 76,634 (-3%)

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 14,567 (+1%) 28,864 (+1%)
note_history_successful_decrypting_time_in_ms 1,299 (+6%) 2,465
note_history_trial_decrypting_time_in_ms ⚠️ 108 (+76%) 192 (+2%)
node_database_size_in_bytes 18,673,744 35,049,552
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 280 (-2%) 44,366 28,276
private-kernel-ordering 213 (-4%) 52,900 14,358
base-parity 1,875 (+1%) 128 311
base-rollup 716 (-1%) 165,819 925
root-parity 1,458 (-9%) 1,244 311
root-rollup 51.6 (-5%) 4,487 725
private-kernel-inner 641 (-3%) 73,803 28,276
public-kernel-app-logic 425 (-7%) 35,322 28,246
public-kernel-tail 172 (-3%) 40,957 28,246
merge-rollup 8.28 (-8%) 2,696 925

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 9.98 (-3%) 16.2 (-4%) 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.582 (-3%) 0.500 (-4%) 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 46.3 (-2%) 76.2 (+6%) 229 446 (-10%) 872 1,722 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.475 (-2%) 0.470 (+6%) 0.419 0.418 (-10%) 0.415 0.414 N/A
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 53.7 (-3%) 107 333 661 (-6%) 1,304 2,603 N/A
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 104 207 691 1,363 2,707 5,395 N/A
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A 0.478 (-3%) 0.483 0.456 0.455 (-6%) 0.453 0.452 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 61.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.536 (-2%)

Miscellaneous

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

Metric 0 registered classes
tx_size_in_bytes 22,044

Transaction processing duration by data writes.

Metric 0 new note hashes 1 new note hashes
tx_pxe_processing_time_ms 3,203 (-2%) 1,741 (-3%)
Metric 0 public data writes 1 public data writes
tx_sequencer_processing_time_ms 13.6 (+18%) 1,199 (-6%)

@spalladino
Copy link
Collaborator

I propose to rename TxEffect to PublishedTxEffect, and add two new classes:

PublishedTxMetadata which will contain the published metadata for a transaction
PublishedTx which will contain the PublishedTxEffect and PublishedTxMetadata

Why not just include the revert flag as part of the TxEffect? It's data that gets published on chain and that needs to be passed into the rollup circuits, just like any other tx effect. I think I'm not seeing why it's different from a public write, for instance.

Aside from that, +1 from me!

@just-mitch
Copy link
Contributor Author

just-mitch commented Mar 15, 2024

@spalladino Totally can all be in the same place. The separation was just for more clear semantics in TS: Effect holds what was "done", and Metadata holds information about how it was done.

I didn't like putting the reverted flag in the Effects because it isn't a "write", or what I think of as a side effect.

So maybe the solution is to put them all together, but just rename TxEffect to PublishedTx? Or TxPublished

Edit: I'm also fine with leaving it and putting the reverted flag plus fee/gas info in TxEffect. I'd just would have liked to make it more clear that this the the construct that is actually published to DA.

@benesjan
Copy link
Contributor

benesjan commented Mar 15, 2024

@just-mitch I personally really like the name TxEffect because it really just contains the effects of a transaction (nullifiers and such). When something is named a Tx I imagine that it's something which contains calldata and a signature (or proof in our case).

For this reason I would prefer just including the revert flag in the TxEffect as Palla proposes. I think having the flag there is totally fine as it basically just means that the effects of the transaction have not been included in state (unless I am mistaken here, I have not been involved much with revertible stuff and couldn't find anything in yellow paper).

@PhilWindle
Copy link
Collaborator

Note that the reverted flag comes from the PublicKernelCircuitPublicInputs. If we're coming straight from private, we'll manually set the flag to false now, but in the future we'll probably need a specialized circuit to handle the case where there is no public component. @LeilaWang ?

Can we not add it to the private kernel public inputs with value always false? It then gets propagated through the public kernels and set to false in case of revert.

@PhilWindle
Copy link
Collaborator

I cna understand the motivation with splitting things out. As other say though I suspect it's simpler to keep as is.

@just-mitch
Copy link
Contributor Author

@benesjan If the revert flag is set, then all revertible side effects have been stripped out, but non-revertible side effects will be present in TxEffect. There is some info on this here, but it does demand more documentation depth.

@PhilWindle I think we will need a separate circuit for private in the event when there is no public execution regardless because the base rollup expects recombined non/revertible (#5013). So I can imagine two tails for private- one that splits non/revertible (as we currently have), and another that says "oh there's nothing to split, I'll reformat this for the base rollup". I expect we'd choose in typescript after executing all required init/inner private kernels which tail to choose.

Regardless, I think I've also convinced myself that it is okay to put the flag in TxEffect: I had to switch it in my mind to read as "the result of this tx was these nullifiers etc and a raised reverted flag, and consumedGas etc", instead of my original conception of "the result of this tx was these nullifiers etc; the attributes of this tx include a raised reverted flag". Unless someone else comes along in the next few hours with a strong favor to the split out metadata I will change the original comment to reflect. Thanks all!

@just-mitch just-mitch force-pushed the 4972-update-the-base-rollup-to-mark-reverted-transactions branch from 9eefad0 to cd89676 Compare March 15, 2024 13:24
@just-mitch
Copy link
Contributor Author

just-mitch commented Mar 15, 2024

Okay, updated the design above to reflect the conversations.

Also, added a section on documentation.

Also, updated the L1 encoding to reflect that we will need to publish the reverted flag as a byte, not a bit (since we cannot serialize to a bit in typescript). Perhaps in the future we can pack a reverted code into the remaining bits.

@just-mitch just-mitch force-pushed the 4972-update-the-base-rollup-to-mark-reverted-transactions branch 5 times, most recently from a62ed6a to c0e0a24 Compare March 18, 2024 17:37
@@ -146,6 +146,7 @@ pub fn compute_tx_effects_hash(combined: CombinedAccumulatedData) -> [Field; NUM
// 1 unencrypted logs hash --> 1 sha256 hash -> 32 bytes -> 2 fields | Beware when populating bytes that it is only 32!
let mut txs_effects_hash_input = [0; TX_EFFECTS_HASH_INPUT_FIELDS];

let reverted = combined.reverted;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was the primary impetus for me simply adding the reverted code to CombinedAccumulatedData. This way we get the flag as an out from the private circuits as well.

@@ -48,7 +48,7 @@ struct PublicCircuitPublicInputs{

prover_address: AztecAddress,

reverted: bool,
reverted: Field,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because the base rollup computes its content commitment based on accumulating Fields, I felt this was appropriate for a first implementation. Ideally we will trim down the size, but that will require specialization of compute_tx_effects_hash

@just-mitch
Copy link
Contributor Author

just-mitch commented Mar 18, 2024

Built to spec, barring the caveat that we publish a full Fr for the reverted flag. See comments above for my reasoning. I suspect we can/will optimize this in the future.

Updated design comment to reflect the implementation.

@just-mitch just-mitch marked this pull request as ready for review March 18, 2024 20:27
@AztecBot
Copy link
Collaborator

AztecBot commented Mar 18, 2024

Docs Preview

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

Copy link
Collaborator

@PhilWindle PhilWindle left a comment

Choose a reason for hiding this comment

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

This all looks ok. I think @LeilaWang should probably look over it.

Are we using a full field for the revert code in anticipation of encoding more data into it?

}

pub fn initialize_reverted_flag(
previous_kernel: PublicKernelData,
public_call: PublicCallData,
circuit_outputs: &mut PublicKernelCircuitPublicInputsBuilder
) {
circuit_outputs.reverted = previous_kernel.public_inputs.reverted | public_call.call_stack_item.public_inputs.reverted;
if previous_kernel.public_inputs.end_non_revertible.reverted != 0 {
Copy link
Collaborator

Choose a reason for hiding this comment

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

So, we always take the revert code of the previous kernel if non-zero. If zero we take the result of this iteration.

Sounds correct.

@@ -11,6 +11,7 @@ export enum TxStatus {
DROPPED = 'dropped',
MINED = 'mined',
Copy link
Collaborator

Choose a reason for hiding this comment

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

Not for this PR but I can't help but think we should rename 'MINED'. Reverted transactions are also 'mined'.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Very true. I think they should roughly correspond with the RevertCode options. I added a TODO on #4096

@just-mitch
Copy link
Contributor Author

@PhilWindle

Are we using a full field for the revert code in anticipation of encoding more data into it?

I added a comment but marked it resolved, so it was probably invisible to you when you reviewed. I "unresolved" here

But yes, we'll want to encode more data into it if there isn't an easy way to break up the way we compute the commitment in the base rollup to have more granular elements than whole fields.

/**
* Wrapper class over a field to safely represent a revert code.
*/
export class RevertCode {
Copy link
Contributor

@alexghr alexghr Mar 19, 2024

Choose a reason for hiding this comment

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

I like the parallel to unix's exit code, 0 for success, != 0 for failure!

Copy link
Contributor

Choose a reason for hiding this comment

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

❤️

Copy link
Contributor Author

just-mitch commented Mar 19, 2024

@just-mitch just-mitch force-pushed the 4972-update-the-base-rollup-to-mark-reverted-transactions branch from 1be8576 to fa55d79 Compare March 19, 2024 18:20
@just-mitch just-mitch force-pushed the 4972-update-the-base-rollup-to-mark-reverted-transactions branch from fa55d79 to 3e52e95 Compare March 19, 2024 19:05
Copy link
Contributor

github-actions bot commented Mar 19, 2024

Changes to circuit sizes

Generated at commit: f6f314e33a39dc0f02c3716d45befa42d6f5cbad, compared to commit: 36e0f59b6784b64940111541f70089b8444d01c5

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_tail_simulated +1 ❌ +0.22% +2 ❌ +0.22%
private_kernel_inner_simulated +1 ❌ +0.11% +2 ❌ +0.11%
private_kernel_init_simulated +1 ❌ +0.11% +2 ❌ +0.11%
rollup_base +64 ❌ +0.04% +1,155 ❌ +0.07%
public_kernel_teardown +12 ❌ +0.04% +9 ❌ +0.00%
public_kernel_setup +11 ❌ +0.04% +8 ❌ +0.00%
public_kernel_app_logic +14 ❌ +0.02% +11 ❌ +0.00%
private_kernel_init +1 ❌ +0.00% +2 ❌ +0.00%
private_kernel_inner +1 ❌ +0.00% +2 ❌ +0.00%
private_kernel_tail +1 ❌ +0.00% +2 ❌ +0.00%
public_kernel_tail +1 ❌ +0.00% 0 ➖ 0.00%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_tail_simulated 456 (+1) +0.22% 915 (+2) +0.22%
private_kernel_inner_simulated 907 (+1) +0.11% 1,817 (+2) +0.11%
private_kernel_init_simulated 907 (+1) +0.11% 1,817 (+2) +0.11%
rollup_base 171,514 (+64) +0.04% 1,731,811 (+1,155) +0.07%
public_kernel_teardown 29,528 (+12) +0.04% 184,416 (+9) +0.00%
public_kernel_setup 29,419 (+11) +0.04% 184,306 (+8) +0.00%
public_kernel_app_logic 56,216 (+14) +0.02% 316,878 (+11) +0.00%
private_kernel_init 48,707 (+1) +0.00% 348,991 (+2) +0.00%
private_kernel_inner 95,997 (+1) +0.00% 521,444 (+2) +0.00%
private_kernel_tail 373,476 (+1) +0.00% 839,582 (+2) +0.00%
public_kernel_tail 124,968 (+1) +0.00% 358,964 (0) 0.00%

@just-mitch just-mitch force-pushed the 4972-update-the-base-rollup-to-mark-reverted-transactions branch from 3e52e95 to 30cf6cb Compare March 20, 2024 12:01
@just-mitch just-mitch force-pushed the 4972-update-the-base-rollup-to-mark-reverted-transactions branch from 30cf6cb to 820c489 Compare March 20, 2024 16:01
Copy link
Contributor Author

just-mitch commented Mar 20, 2024

Merge activity

  • Mar 20, 1:08 PM EDT: @just-mitch started a stack merge that includes this pull request via Graphite.
  • Mar 20, 1:09 PM EDT: Graphite couldn't merge this PR because it had conflicts with the trunk branch.
  • Mar 20, 2:46 PM EDT: @just-mitch started a stack merge that includes this pull request via Graphite.
  • Mar 20, 2:47 PM EDT: @just-mitch merged this pull request with Graphite.

@just-mitch just-mitch force-pushed the 4972-update-the-base-rollup-to-mark-reverted-transactions branch from 820c489 to 96f7e63 Compare March 20, 2024 17:32
@just-mitch just-mitch merged commit 40ecc02 into master Mar 20, 2024
97 of 101 checks passed
@just-mitch just-mitch deleted the 4972-update-the-base-rollup-to-mark-reverted-transactions branch March 20, 2024 18:47
rahul-kothari pushed a commit that referenced this pull request Mar 26, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.31.0](aztec-package-v0.30.1...aztec-package-v0.31.0)
(2024-03-26)


### Features

* Add batched signerless contract calls
([#5313](#5313))
([be60eb3](be60eb3))
* Dynamic proving
([#5346](#5346))
([6a7ccca](6a7ccca))
* Less earthly runners + e2e GA runners, bb bench
([#5356](#5356))
([2136a66](2136a66))
</details>

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

##
[0.31.0](barretenberg.js-v0.30.1...barretenberg.js-v0.31.0)
(2024-03-26)


### Features

* Earthly bb tests + arm + satellites
([#5268](#5268))
([eca12b3](eca12b3))
* Less earthly runners + e2e GA runners, bb bench
([#5356](#5356))
([2136a66](2136a66))
* Simplified bb Honk interface
([#5319](#5319))
([a2d138f](a2d138f))
</details>

<details><summary>aztec-cli: 0.31.0</summary>

##
[0.31.0](aztec-cli-v0.30.1...aztec-cli-v0.31.0)
(2024-03-26)


### Features

* Capture broadcasted functions in node
([#5353](#5353))
([bc05db2](bc05db2))


### Bug Fixes

* **cli:** Support initializers not named constructor in cli
([#5397](#5397))
([85f14c5](85f14c5))
</details>

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

##
[0.31.0](aztec-packages-v0.30.1...aztec-packages-v0.31.0)
(2024-03-26)


### ⚠ BREAKING CHANGES

* **avm:** per function avm run
([#5421](#5421))
* rename storage inclusion proof to historical storage read
([#5379](#5379))
* plug-in new outbox and update examples to use api to fetch inclusion
proofs #4769
([#5292](#5292))
* Mark transactions as reverted on L1
([#5226](#5226))

### Features

* Add batched signerless contract calls
([#5313](#5313))
([be60eb3](be60eb3))
* Add specific error for attempting `string[x] = ".."`
(noir-lang/noir#4611)
([13a12d5](13a12d5))
* **AuthWit:** Chain_id and version in hash
([#5331](#5331))
([5235c95](5235c95))
* **Authwit:** Lookup the validity of authwits
([#5316](#5316))
([7c24870](7c24870))
* Avm lookup and/or/xor
([#5338](#5338))
([489bc2c](489bc2c))
* **avm:** Add AvmContextInputs
([#5396](#5396))
([12e2844](12e2844))
* **avm:** Per function avm run
([#5421](#5421))
([f024751](f024751))
* **avm:** Track gas usage in AVM simulator
([#5438](#5438))
([4884d83](4884d83))
* Capture broadcasted functions in node
([#5353](#5353))
([bc05db2](bc05db2))
* Dynamic proving
([#5346](#5346))
([6a7ccca](6a7ccca))
* Earthly bb tests + arm + satellites
([#5268](#5268))
([eca12b3](eca12b3))
* Fix awkward snippet indention in docs
([#5367](#5367))
([c55d3da](c55d3da))
* Fold proving key polys instead of prover polys
([#5436](#5436))
([239ebfb](239ebfb))
* Implement serdes for u64
[#4990](#4990)
([#5411](#5411))
([5a6bcef](5a6bcef))
* Introduce max_block_number
([#5251](#5251))
([6573173](6573173))
* Less earthly runners + e2e GA runners, bb bench
([#5356](#5356))
([2136a66](2136a66))
* Mark transactions as reverted on L1
([#5226](#5226))
([40ecc02](40ecc02))
* Plug-in new outbox and update examples to use api to fetch inclusion
proofs
[#4769](#4769)
([#5292](#5292))
([fec1008](fec1008))
* Read_calldata
([#5409](#5409))
([034fbf0](034fbf0))
* Remove NUM_FIELDS_PER_SHA256
([#5392](#5392))
([86a181b](86a181b))
* Rename storage inclusion proof to historical storage read
([#5379](#5379))
([b6e7216](b6e7216))
* Returning non-nullified messages only
([#5390](#5390))
([4c671be](4c671be))
* Simplified bb Honk interface
([#5319](#5319))
([a2d138f](a2d138f))
* Simplify offsets and sizing using new block structure
([#5404](#5404))
([efa0842](efa0842))
* Throw by default when awaiting a tx that reverted
([#5431](#5431))
([c9113ec](c9113ec))
* Truncate SHA hashes inside circuits
([#5160](#5160))
([9dc0d2a](9dc0d2a))
* Unified CircuitChecker interface
([#5343](#5343))
([13cef1f](13cef1f))
* ZeroMorph working with IPA and integration with ECCVM
([#5246](#5246))
([c4dce94](c4dce94))


### Bug Fixes

* Addressing flakiness of `uniswap_trade_on_l1_from_l2.test.ts`
([#5443](#5443))
([2db9cad](2db9cad))
* **avm-simulator:** Hashing opcodes indirection
([#5376](#5376))
([a4b1ebc](a4b1ebc))
* Broadcasting unconstrained function with empty sibling
([#5429](#5429))
([933145e](933145e))
* **ci:** Disable uniswap test in earthly build
([#5344](#5344))
([0d69162](0d69162))
* **cli:** Support initializers not named constructor in cli
([#5397](#5397))
([85f14c5](85f14c5))
* Copy and deploy complete contents of l1-contracts
([#5447](#5447))
([501c5e9](501c5e9))
* Don't cancel protocol-circuits-gate-diff in master
([#5441](#5441))
([6894a78](6894a78))
* E2e_static_calls.test.ts bad merge
([#5405](#5405))
([4c56536](4c56536))
* Generate noir interface for constructors
([#5352](#5352))
([8434d2f](8434d2f))
* Limit earthly to few users
([#5375](#5375))
([71e8ab4](71e8ab4))
* Login to dockerhub before 'docker compose'
([#5440](#5440))
([4f7696b](4f7696b))
* Revert cbind breakage
([#5348](#5348))
([c237193](c237193))
* **ssa:** Use accurate type during SSA AsSlice simplficiation
(noir-lang/noir#4610)
([13a12d5](13a12d5))
* Track class registered count in tx stats
([#5417](#5417))
([ff8eafc](ff8eafc))
* Watch command should not spawn more than one tsc watch
([#5391](#5391))
([25caf4d](25caf4d))


### Miscellaneous

* Always use serialize function to get hash preimage in noir circuits or
when comparing structs etc
[#3595](#3595)
([#5439](#5439))
([22e0f0d](22e0f0d))
* **aztec-nr:** Unify contexts behind interfaces
([#5294](#5294))
([36e0f59](36e0f59))
* **bb:** Removed powers of eta in lookup and auxiliary relations
([#4695](#4695))
([f4e62ae](f4e62ae))
* CamelCase in noir-projects -&gt; snake_case
([#5381](#5381))
([eea711f](eea711f))
* **ci:** Create a dedicated job for the AVM unit tests
([#5369](#5369))
([59ca2ac](59ca2ac)),
closes
[#5366](#5366)
* Clean out prover instance and remove instance from oink
([#5314](#5314))
([a83368c](a83368c))
* Cleaning up messaging types
([#5442](#5442))
([dfffe5d](dfffe5d)),
closes
[#5420](#5420)
* Compute registerer address on the fly
([#5394](#5394))
([5d669b9](5d669b9))
* Delete slither output from version control
([#5393](#5393))
([41107e3](41107e3))
* Fix migration notes
([#5452](#5452))
([8c4e576](8c4e576))
* **github:** Improve PR template "document later" checkbox description
(noir-lang/noir#4625)
([13a12d5](13a12d5))
* Make get_notes fail if returning no notes
[#4988](#4988)
([#5320](#5320))
([be86ed3](be86ed3))
* Meld flavor and and circuit builder modules
([#5406](#5406))
([f0d9d1b](f0d9d1b))
* Messaging naming fixes
([#5383](#5383))
([0226102](0226102))
* Moving public inputs back to instance
([#5315](#5315))
([9cbe368](9cbe368))
* Name change: gen perm sort to delta range constraint
([#5378](#5378))
([841855f](841855f))
* Nuking l1 to l2 messages from block body
([#5272](#5272))
([ee176d2](ee176d2)),
closes
[#5072](#5072)
* Reduce size of revert code from Field to u8
([#5309](#5309))
([1868e25](1868e25))
* Remove mocking function in `EccOpQueue` again
([#5413](#5413))
([6fb4a75](6fb4a75))
* Remove snapshots from protocol-contracts
([#5342](#5342))
([31ca344](31ca344))
* Remove unused FunctionLeafPreimage struct
([#5354](#5354))
([dc51c2b](dc51c2b))
* Rename reverted to revertCode
([#5301](#5301))
([950a96d](950a96d))
* Replace relative paths to noir-protocol-circuits
([262ae02](262ae02))
* Replace relative paths to noir-protocol-circuits
([91a60db](91a60db))
* Replace relative paths to noir-protocol-circuits
([9fc9fbd](9fc9fbd))
* Replace relative paths to noir-protocol-circuits
([9939e99](9939e99))
* Replace relative paths to noir-protocol-circuits
([0b24aae](0b24aae))
* Replace relative paths to noir-protocol-circuits
([c4d89d5](c4d89d5))
* Reverting accidental changes
([#5371](#5371))
([c1484ce](c1484ce))
* Skip foundry install if possible
([#5398](#5398))
([060fa1e](060fa1e))
* Skip slither in docker
([#5384](#5384))
([8a76068](8a76068))
* Update docs with function names to match version 0.25.0 specifications
(noir-lang/noir#4466)
([13a12d5](13a12d5))
* Update integers.md to note support for Fields using `from_integer`
(noir-lang/noir#4536)
([13a12d5](13a12d5))
* Update min compiler version of contracts
([#5305](#5305))
([dcf6bb3](dcf6bb3))
* Use random tmp directory and cleanup afterwards
([#5368](#5368))
([5c0e15d](5c0e15d))


### Documentation

* Update versions-updating.md
([#5358](#5358))
([0f09b63](0f09b63))
</details>

<details><summary>barretenberg: 0.31.0</summary>

##
[0.31.0](barretenberg-v0.30.1...barretenberg-v0.31.0)
(2024-03-26)


### Features

* Avm lookup and/or/xor
([#5338](#5338))
([489bc2c](489bc2c))
* Earthly bb tests + arm + satellites
([#5268](#5268))
([eca12b3](eca12b3))
* Fold proving key polys instead of prover polys
([#5436](#5436))
([239ebfb](239ebfb))
* Less earthly runners + e2e GA runners, bb bench
([#5356](#5356))
([2136a66](2136a66))
* Read_calldata
([#5409](#5409))
([034fbf0](034fbf0))
* Simplified bb Honk interface
([#5319](#5319))
([a2d138f](a2d138f))
* Simplify offsets and sizing using new block structure
([#5404](#5404))
([efa0842](efa0842))
* Unified CircuitChecker interface
([#5343](#5343))
([13cef1f](13cef1f))
* ZeroMorph working with IPA and integration with ECCVM
([#5246](#5246))
([c4dce94](c4dce94))


### Bug Fixes

* Revert cbind breakage
([#5348](#5348))
([c237193](c237193))


### Miscellaneous

* **bb:** Removed powers of eta in lookup and auxiliary relations
([#4695](#4695))
([f4e62ae](f4e62ae))
* **ci:** Create a dedicated job for the AVM unit tests
([#5369](#5369))
([59ca2ac](59ca2ac)),
closes
[#5366](#5366)
* Clean out prover instance and remove instance from oink
([#5314](#5314))
([a83368c](a83368c))
* Meld flavor and and circuit builder modules
([#5406](#5406))
([f0d9d1b](f0d9d1b))
* Moving public inputs back to instance
([#5315](#5315))
([9cbe368](9cbe368))
* Name change: gen perm sort to delta range constraint
([#5378](#5378))
([841855f](841855f))
* Remove mocking function in `EccOpQueue` again
([#5413](#5413))
([6fb4a75](6fb4a75))
</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 Mar 27, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.31.0](AztecProtocol/aztec-packages@aztec-package-v0.30.1...aztec-package-v0.31.0)
(2024-03-26)


### Features

* Add batched signerless contract calls
([#5313](AztecProtocol/aztec-packages#5313))
([be60eb3](AztecProtocol/aztec-packages@be60eb3))
* Dynamic proving
([#5346](AztecProtocol/aztec-packages#5346))
([6a7ccca](AztecProtocol/aztec-packages@6a7ccca))
* Less earthly runners + e2e GA runners, bb bench
([#5356](AztecProtocol/aztec-packages#5356))
([2136a66](AztecProtocol/aztec-packages@2136a66))
</details>

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

##
[0.31.0](AztecProtocol/aztec-packages@barretenberg.js-v0.30.1...barretenberg.js-v0.31.0)
(2024-03-26)


### Features

* Earthly bb tests + arm + satellites
([#5268](AztecProtocol/aztec-packages#5268))
([eca12b3](AztecProtocol/aztec-packages@eca12b3))
* Less earthly runners + e2e GA runners, bb bench
([#5356](AztecProtocol/aztec-packages#5356))
([2136a66](AztecProtocol/aztec-packages@2136a66))
* Simplified bb Honk interface
([#5319](AztecProtocol/aztec-packages#5319))
([a2d138f](AztecProtocol/aztec-packages@a2d138f))
</details>

<details><summary>aztec-cli: 0.31.0</summary>

##
[0.31.0](AztecProtocol/aztec-packages@aztec-cli-v0.30.1...aztec-cli-v0.31.0)
(2024-03-26)


### Features

* Capture broadcasted functions in node
([#5353](AztecProtocol/aztec-packages#5353))
([bc05db2](AztecProtocol/aztec-packages@bc05db2))


### Bug Fixes

* **cli:** Support initializers not named constructor in cli
([#5397](AztecProtocol/aztec-packages#5397))
([85f14c5](AztecProtocol/aztec-packages@85f14c5))
</details>

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

##
[0.31.0](AztecProtocol/aztec-packages@aztec-packages-v0.30.1...aztec-packages-v0.31.0)
(2024-03-26)


### ⚠ BREAKING CHANGES

* **avm:** per function avm run
([#5421](AztecProtocol/aztec-packages#5421))
* rename storage inclusion proof to historical storage read
([#5379](AztecProtocol/aztec-packages#5379))
* plug-in new outbox and update examples to use api to fetch inclusion
proofs #4769
([#5292](AztecProtocol/aztec-packages#5292))
* Mark transactions as reverted on L1
([#5226](AztecProtocol/aztec-packages#5226))

### Features

* Add batched signerless contract calls
([#5313](AztecProtocol/aztec-packages#5313))
([be60eb3](AztecProtocol/aztec-packages@be60eb3))
* Add specific error for attempting `string[x] = ".."`
(noir-lang/noir#4611)
([13a12d5](AztecProtocol/aztec-packages@13a12d5))
* **AuthWit:** Chain_id and version in hash
([#5331](AztecProtocol/aztec-packages#5331))
([5235c95](AztecProtocol/aztec-packages@5235c95))
* **Authwit:** Lookup the validity of authwits
([#5316](AztecProtocol/aztec-packages#5316))
([7c24870](AztecProtocol/aztec-packages@7c24870))
* Avm lookup and/or/xor
([#5338](AztecProtocol/aztec-packages#5338))
([489bc2c](AztecProtocol/aztec-packages@489bc2c))
* **avm:** Add AvmContextInputs
([#5396](AztecProtocol/aztec-packages#5396))
([12e2844](AztecProtocol/aztec-packages@12e2844))
* **avm:** Per function avm run
([#5421](AztecProtocol/aztec-packages#5421))
([f024751](AztecProtocol/aztec-packages@f024751))
* **avm:** Track gas usage in AVM simulator
([#5438](AztecProtocol/aztec-packages#5438))
([4884d83](AztecProtocol/aztec-packages@4884d83))
* Capture broadcasted functions in node
([#5353](AztecProtocol/aztec-packages#5353))
([bc05db2](AztecProtocol/aztec-packages@bc05db2))
* Dynamic proving
([#5346](AztecProtocol/aztec-packages#5346))
([6a7ccca](AztecProtocol/aztec-packages@6a7ccca))
* Earthly bb tests + arm + satellites
([#5268](AztecProtocol/aztec-packages#5268))
([eca12b3](AztecProtocol/aztec-packages@eca12b3))
* Fix awkward snippet indention in docs
([#5367](AztecProtocol/aztec-packages#5367))
([c55d3da](AztecProtocol/aztec-packages@c55d3da))
* Fold proving key polys instead of prover polys
([#5436](AztecProtocol/aztec-packages#5436))
([239ebfb](AztecProtocol/aztec-packages@239ebfb))
* Implement serdes for u64
[#4990](AztecProtocol/aztec-packages#4990)
([#5411](AztecProtocol/aztec-packages#5411))
([5a6bcef](AztecProtocol/aztec-packages@5a6bcef))
* Introduce max_block_number
([#5251](AztecProtocol/aztec-packages#5251))
([6573173](AztecProtocol/aztec-packages@6573173))
* Less earthly runners + e2e GA runners, bb bench
([#5356](AztecProtocol/aztec-packages#5356))
([2136a66](AztecProtocol/aztec-packages@2136a66))
* Mark transactions as reverted on L1
([#5226](AztecProtocol/aztec-packages#5226))
([40ecc02](AztecProtocol/aztec-packages@40ecc02))
* Plug-in new outbox and update examples to use api to fetch inclusion
proofs
[#4769](AztecProtocol/aztec-packages#4769)
([#5292](AztecProtocol/aztec-packages#5292))
([fec1008](AztecProtocol/aztec-packages@fec1008))
* Read_calldata
([#5409](AztecProtocol/aztec-packages#5409))
([034fbf0](AztecProtocol/aztec-packages@034fbf0))
* Remove NUM_FIELDS_PER_SHA256
([#5392](AztecProtocol/aztec-packages#5392))
([86a181b](AztecProtocol/aztec-packages@86a181b))
* Rename storage inclusion proof to historical storage read
([#5379](AztecProtocol/aztec-packages#5379))
([b6e7216](AztecProtocol/aztec-packages@b6e7216))
* Returning non-nullified messages only
([#5390](AztecProtocol/aztec-packages#5390))
([4c671be](AztecProtocol/aztec-packages@4c671be))
* Simplified bb Honk interface
([#5319](AztecProtocol/aztec-packages#5319))
([a2d138f](AztecProtocol/aztec-packages@a2d138f))
* Simplify offsets and sizing using new block structure
([#5404](AztecProtocol/aztec-packages#5404))
([efa0842](AztecProtocol/aztec-packages@efa0842))
* Throw by default when awaiting a tx that reverted
([#5431](AztecProtocol/aztec-packages#5431))
([c9113ec](AztecProtocol/aztec-packages@c9113ec))
* Truncate SHA hashes inside circuits
([#5160](AztecProtocol/aztec-packages#5160))
([9dc0d2a](AztecProtocol/aztec-packages@9dc0d2a))
* Unified CircuitChecker interface
([#5343](AztecProtocol/aztec-packages#5343))
([13cef1f](AztecProtocol/aztec-packages@13cef1f))
* ZeroMorph working with IPA and integration with ECCVM
([#5246](AztecProtocol/aztec-packages#5246))
([c4dce94](AztecProtocol/aztec-packages@c4dce94))


### Bug Fixes

* Addressing flakiness of `uniswap_trade_on_l1_from_l2.test.ts`
([#5443](AztecProtocol/aztec-packages#5443))
([2db9cad](AztecProtocol/aztec-packages@2db9cad))
* **avm-simulator:** Hashing opcodes indirection
([#5376](AztecProtocol/aztec-packages#5376))
([a4b1ebc](AztecProtocol/aztec-packages@a4b1ebc))
* Broadcasting unconstrained function with empty sibling
([#5429](AztecProtocol/aztec-packages#5429))
([933145e](AztecProtocol/aztec-packages@933145e))
* **ci:** Disable uniswap test in earthly build
([#5344](AztecProtocol/aztec-packages#5344))
([0d69162](AztecProtocol/aztec-packages@0d69162))
* **cli:** Support initializers not named constructor in cli
([#5397](AztecProtocol/aztec-packages#5397))
([85f14c5](AztecProtocol/aztec-packages@85f14c5))
* Copy and deploy complete contents of l1-contracts
([#5447](AztecProtocol/aztec-packages#5447))
([501c5e9](AztecProtocol/aztec-packages@501c5e9))
* Don't cancel protocol-circuits-gate-diff in master
([#5441](AztecProtocol/aztec-packages#5441))
([6894a78](AztecProtocol/aztec-packages@6894a78))
* E2e_static_calls.test.ts bad merge
([#5405](AztecProtocol/aztec-packages#5405))
([4c56536](AztecProtocol/aztec-packages@4c56536))
* Generate noir interface for constructors
([#5352](AztecProtocol/aztec-packages#5352))
([8434d2f](AztecProtocol/aztec-packages@8434d2f))
* Limit earthly to few users
([#5375](AztecProtocol/aztec-packages#5375))
([71e8ab4](AztecProtocol/aztec-packages@71e8ab4))
* Login to dockerhub before 'docker compose'
([#5440](AztecProtocol/aztec-packages#5440))
([4f7696b](AztecProtocol/aztec-packages@4f7696b))
* Revert cbind breakage
([#5348](AztecProtocol/aztec-packages#5348))
([c237193](AztecProtocol/aztec-packages@c237193))
* **ssa:** Use accurate type during SSA AsSlice simplficiation
(noir-lang/noir#4610)
([13a12d5](AztecProtocol/aztec-packages@13a12d5))
* Track class registered count in tx stats
([#5417](AztecProtocol/aztec-packages#5417))
([ff8eafc](AztecProtocol/aztec-packages@ff8eafc))
* Watch command should not spawn more than one tsc watch
([#5391](AztecProtocol/aztec-packages#5391))
([25caf4d](AztecProtocol/aztec-packages@25caf4d))


### Miscellaneous

* Always use serialize function to get hash preimage in noir circuits or
when comparing structs etc
[#3595](AztecProtocol/aztec-packages#3595)
([#5439](AztecProtocol/aztec-packages#5439))
([22e0f0d](AztecProtocol/aztec-packages@22e0f0d))
* **aztec-nr:** Unify contexts behind interfaces
([#5294](AztecProtocol/aztec-packages#5294))
([36e0f59](AztecProtocol/aztec-packages@36e0f59))
* **bb:** Removed powers of eta in lookup and auxiliary relations
([#4695](AztecProtocol/aztec-packages#4695))
([f4e62ae](AztecProtocol/aztec-packages@f4e62ae))
* CamelCase in noir-projects -&gt; snake_case
([#5381](AztecProtocol/aztec-packages#5381))
([eea711f](AztecProtocol/aztec-packages@eea711f))
* **ci:** Create a dedicated job for the AVM unit tests
([#5369](AztecProtocol/aztec-packages#5369))
([59ca2ac](AztecProtocol/aztec-packages@59ca2ac)),
closes
[#5366](AztecProtocol/aztec-packages#5366)
* Clean out prover instance and remove instance from oink
([#5314](AztecProtocol/aztec-packages#5314))
([a83368c](AztecProtocol/aztec-packages@a83368c))
* Cleaning up messaging types
([#5442](AztecProtocol/aztec-packages#5442))
([dfffe5d](AztecProtocol/aztec-packages@dfffe5d)),
closes
[#5420](AztecProtocol/aztec-packages#5420)
* Compute registerer address on the fly
([#5394](AztecProtocol/aztec-packages#5394))
([5d669b9](AztecProtocol/aztec-packages@5d669b9))
* Delete slither output from version control
([#5393](AztecProtocol/aztec-packages#5393))
([41107e3](AztecProtocol/aztec-packages@41107e3))
* Fix migration notes
([#5452](AztecProtocol/aztec-packages#5452))
([8c4e576](AztecProtocol/aztec-packages@8c4e576))
* **github:** Improve PR template "document later" checkbox description
(noir-lang/noir#4625)
([13a12d5](AztecProtocol/aztec-packages@13a12d5))
* Make get_notes fail if returning no notes
[#4988](AztecProtocol/aztec-packages#4988)
([#5320](AztecProtocol/aztec-packages#5320))
([be86ed3](AztecProtocol/aztec-packages@be86ed3))
* Meld flavor and and circuit builder modules
([#5406](AztecProtocol/aztec-packages#5406))
([f0d9d1b](AztecProtocol/aztec-packages@f0d9d1b))
* Messaging naming fixes
([#5383](AztecProtocol/aztec-packages#5383))
([0226102](AztecProtocol/aztec-packages@0226102))
* Moving public inputs back to instance
([#5315](AztecProtocol/aztec-packages#5315))
([9cbe368](AztecProtocol/aztec-packages@9cbe368))
* Name change: gen perm sort to delta range constraint
([#5378](AztecProtocol/aztec-packages#5378))
([841855f](AztecProtocol/aztec-packages@841855f))
* Nuking l1 to l2 messages from block body
([#5272](AztecProtocol/aztec-packages#5272))
([ee176d2](AztecProtocol/aztec-packages@ee176d2)),
closes
[#5072](AztecProtocol/aztec-packages#5072)
* Reduce size of revert code from Field to u8
([#5309](AztecProtocol/aztec-packages#5309))
([1868e25](AztecProtocol/aztec-packages@1868e25))
* Remove mocking function in `EccOpQueue` again
([#5413](AztecProtocol/aztec-packages#5413))
([6fb4a75](AztecProtocol/aztec-packages@6fb4a75))
* Remove snapshots from protocol-contracts
([#5342](AztecProtocol/aztec-packages#5342))
([31ca344](AztecProtocol/aztec-packages@31ca344))
* Remove unused FunctionLeafPreimage struct
([#5354](AztecProtocol/aztec-packages#5354))
([dc51c2b](AztecProtocol/aztec-packages@dc51c2b))
* Rename reverted to revertCode
([#5301](AztecProtocol/aztec-packages#5301))
([950a96d](AztecProtocol/aztec-packages@950a96d))
* Replace relative paths to noir-protocol-circuits
([262ae02](AztecProtocol/aztec-packages@262ae02))
* Replace relative paths to noir-protocol-circuits
([91a60db](AztecProtocol/aztec-packages@91a60db))
* Replace relative paths to noir-protocol-circuits
([9fc9fbd](AztecProtocol/aztec-packages@9fc9fbd))
* Replace relative paths to noir-protocol-circuits
([9939e99](AztecProtocol/aztec-packages@9939e99))
* Replace relative paths to noir-protocol-circuits
([0b24aae](AztecProtocol/aztec-packages@0b24aae))
* Replace relative paths to noir-protocol-circuits
([c4d89d5](AztecProtocol/aztec-packages@c4d89d5))
* Reverting accidental changes
([#5371](AztecProtocol/aztec-packages#5371))
([c1484ce](AztecProtocol/aztec-packages@c1484ce))
* Skip foundry install if possible
([#5398](AztecProtocol/aztec-packages#5398))
([060fa1e](AztecProtocol/aztec-packages@060fa1e))
* Skip slither in docker
([#5384](AztecProtocol/aztec-packages#5384))
([8a76068](AztecProtocol/aztec-packages@8a76068))
* Update docs with function names to match version 0.25.0 specifications
(noir-lang/noir#4466)
([13a12d5](AztecProtocol/aztec-packages@13a12d5))
* Update integers.md to note support for Fields using `from_integer`
(noir-lang/noir#4536)
([13a12d5](AztecProtocol/aztec-packages@13a12d5))
* Update min compiler version of contracts
([#5305](AztecProtocol/aztec-packages#5305))
([dcf6bb3](AztecProtocol/aztec-packages@dcf6bb3))
* Use random tmp directory and cleanup afterwards
([#5368](AztecProtocol/aztec-packages#5368))
([5c0e15d](AztecProtocol/aztec-packages@5c0e15d))


### Documentation

* Update versions-updating.md
([#5358](AztecProtocol/aztec-packages#5358))
([0f09b63](AztecProtocol/aztec-packages@0f09b63))
</details>

<details><summary>barretenberg: 0.31.0</summary>

##
[0.31.0](AztecProtocol/aztec-packages@barretenberg-v0.30.1...barretenberg-v0.31.0)
(2024-03-26)


### Features

* Avm lookup and/or/xor
([#5338](AztecProtocol/aztec-packages#5338))
([489bc2c](AztecProtocol/aztec-packages@489bc2c))
* Earthly bb tests + arm + satellites
([#5268](AztecProtocol/aztec-packages#5268))
([eca12b3](AztecProtocol/aztec-packages@eca12b3))
* Fold proving key polys instead of prover polys
([#5436](AztecProtocol/aztec-packages#5436))
([239ebfb](AztecProtocol/aztec-packages@239ebfb))
* Less earthly runners + e2e GA runners, bb bench
([#5356](AztecProtocol/aztec-packages#5356))
([2136a66](AztecProtocol/aztec-packages@2136a66))
* Read_calldata
([#5409](AztecProtocol/aztec-packages#5409))
([034fbf0](AztecProtocol/aztec-packages@034fbf0))
* Simplified bb Honk interface
([#5319](AztecProtocol/aztec-packages#5319))
([a2d138f](AztecProtocol/aztec-packages@a2d138f))
* Simplify offsets and sizing using new block structure
([#5404](AztecProtocol/aztec-packages#5404))
([efa0842](AztecProtocol/aztec-packages@efa0842))
* Unified CircuitChecker interface
([#5343](AztecProtocol/aztec-packages#5343))
([13cef1f](AztecProtocol/aztec-packages@13cef1f))
* ZeroMorph working with IPA and integration with ECCVM
([#5246](AztecProtocol/aztec-packages#5246))
([c4dce94](AztecProtocol/aztec-packages@c4dce94))


### Bug Fixes

* Revert cbind breakage
([#5348](AztecProtocol/aztec-packages#5348))
([c237193](AztecProtocol/aztec-packages@c237193))


### Miscellaneous

* **bb:** Removed powers of eta in lookup and auxiliary relations
([#4695](AztecProtocol/aztec-packages#4695))
([f4e62ae](AztecProtocol/aztec-packages@f4e62ae))
* **ci:** Create a dedicated job for the AVM unit tests
([#5369](AztecProtocol/aztec-packages#5369))
([59ca2ac](AztecProtocol/aztec-packages@59ca2ac)),
closes
[#5366](AztecProtocol/aztec-packages#5366)
* Clean out prover instance and remove instance from oink
([#5314](AztecProtocol/aztec-packages#5314))
([a83368c](AztecProtocol/aztec-packages@a83368c))
* Meld flavor and and circuit builder modules
([#5406](AztecProtocol/aztec-packages#5406))
([f0d9d1b](AztecProtocol/aztec-packages@f0d9d1b))
* Moving public inputs back to instance
([#5315](AztecProtocol/aztec-packages#5315))
([9cbe368](AztecProtocol/aztec-packages@9cbe368))
* Name change: gen perm sort to delta range constraint
([#5378](AztecProtocol/aztec-packages#5378))
([841855f](AztecProtocol/aztec-packages@841855f))
* Remove mocking function in `EccOpQueue` again
([#5413](AztecProtocol/aztec-packages#5413))
([6fb4a75](AztecProtocol/aztec-packages@6fb4a75))
</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.

Update the base rollup to mark reverted transactions
6 participants