-
Notifications
You must be signed in to change notification settings - Fork 233
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(avm-simulator): error stack tracking in AVM to match ACVM/ACIR-SIM #6289
Conversation
dbanks12
commented
May 9, 2024
•
edited
Loading
edited
This stack of pull requests is managed by Graphite. Learn more about stacking. |
6412258
to
e4545c0
Compare
expect(results.revertReason?.name).toEqual('OutOfGasError'); | ||
expect(results.revertReason?.message).toEqual('Not enough L2GAS gas left'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
name
is no longer available here since revertReason
is not an AvmExecutionError
anymore but instead an ExecutionError
(or actually an AvmRevertReason
)
073cbc4
to
2d9d29e
Compare
constructor(message: string, ...rest: any[]) { | ||
super(message, ...rest); | ||
this.name = 'AvmInterpreterError'; | ||
constructor(message: string) { | ||
super(message); | ||
this.name = 'AvmExecutionError'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Weirdly typescript started yelling me for not telling it what types rest should have....
2d9d29e
to
1393875
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it ended up looking rather nice!
Could you add some change to the e2e_avm_simulator_test so that we know the expression is being thrown? It might be as easy as finding some toThrow (which I think still works because it matches substrings) and writing the full string.
this.name = 'RethrownError'; | ||
} | ||
if (!nestedCallResults.revertReason) { | ||
throw new Error('A reverted nested call be assigned a revert reason in the AVM execution loop'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"...shoul be assigned..."?
public getHalted(): boolean { | ||
return this.halted; | ||
} | ||
|
||
public getReverted(): boolean { | ||
return this.reverted; | ||
} | ||
|
||
public getOutput(): Fr[] { | ||
return this.output; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider public readonly
instead, but I'm ok with getters.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe that readonly
means it is essentially immutable (can only be initialized in the constructor), but we want it to be mutable by functions inside the AvmMachineState
if (this.revertReason) { | ||
resultsStr += `, revertReason: ${this.revertReason}`; | ||
resultsString += `, revertReason: ${this.revertReason!.message}`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm surprised you needed the ! given you have the conditional!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH this toString changeset isn't really desired. I'm going to revert it back to what it is in master!
*/ | ||
export function decodeRevertDataAsMessage(revertData: Fr[]): string { | ||
if (revertData.length === 0) { | ||
return 'Assertion failed.'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add an e2e test to see how an intrinsic failure shows up? (e.g., the assert bit size error we saw). I expect `Assertion failed. 'expression here'", which is not true, but it's good enough.
I think ideally "assertion failed" should only appear for the REVERT opcode (or rethrows?). The intrinsic failures and the truly exceptional failures (unknown error type) are not assertions in noir.
However, this is almost a nit. I'd love to see a test but I wouldn't spend much time trying to reconcile this!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1393875
to
25047dd
Compare
🤖 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).
🤖 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).
🤖 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).