Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @IlyasRidhuan and the rest of your teammates on |
e0cfbcb to
8b2cce3
Compare
e5c162b to
a11a57d
Compare
| uint32_t side_effect_counter, | ||
| std::vector<FF> calldata) | ||
| std::vector<FF> calldata, | ||
| const std::vector<uint8_t>& contract_bytecode) |
There was a problem hiding this comment.
Same as above - changing the order was more of a pain
|
|
||
| // The + 32 here is for the contract_address in bytes, the +4 is for the extra 4 bytes that contain log_size and is | ||
| // prefixed to message see toBuffer in unencrypted_l2_log.ts | ||
| // The + 32 here is for the contract_address in bytes, the +4 is for the extra 4 bytes that contain log_size and |
There was a problem hiding this comment.
🤷 not sure why the formatting has changed slightly?
| @@ -0,0 +1,14 @@ | |||
|
|
|||
| namespace bytecode(256); | |||
There was a problem hiding this comment.
Just a placeholder for now
a11a57d to
02ecd19
Compare
| publicBytecodeCommitment: Fr; | ||
| }; | ||
|
|
||
| // TODO(#5860): Replace with actual implementation |
There was a problem hiding this comment.
This is removed here, but there are a few more instances which need to be fixed before this issue can be considered "done"
02ecd19 to
1bdd083
Compare
Docs PreviewHey there! 👋 You can check your preview at https://671b8a720a7e7c1195b1b923--aztec-docs-dev.netlify.app |
fcarreiro
left a comment
There was a problem hiding this comment.
Please add to the description what is done and what remains to be done.
| template class ExecutionTrace_<plonk::flavor::Ultra>; | ||
|
|
||
| } // namespace bb No newline at end of file | ||
| } // namespace bb |
There was a problem hiding this comment.
barretenberg/cpp/src/barretenberg/vm/avm/trace/bytecode_trace.hpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm/avm/trace/bytecode_trace.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm/avm/trace/bytecode_trace.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm/avm/trace/bytecode_trace.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm/avm/trace/bytecode_trace.hpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm/avm/trace/bytecode_trace.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm/avm/trace/bytecode_trace.hpp
Outdated
Show resolved
Hide resolved
8429d29 to
c093e9f
Compare
f7e7f7a to
81dd3de
Compare
4ff6d28 to
c28dbaa
Compare
81dd3de to
769d979
Compare
c28dbaa to
bfa433f
Compare
769d979 to
66ab86f
Compare
2930541 to
22a3cb8
Compare
22a3cb8 to
0486b5d
Compare
0486b5d to
265bb38
Compare
265bb38 to
5b44970
Compare
dbanks12
left a comment
There was a problem hiding this comment.
LGTM! Excellent work. Some comments, but let's get this merged.
Are there tests that specifically test that bytecode hashing is working as intended?
| // This is the main loop that will generate the bytecode trace | ||
| for (auto& contract_bytecode : all_contracts_bytecode) { | ||
| FF running_hash = FF::zero(); | ||
| auto packed_bytecode = pack_bytecode(contract_bytecode); | ||
| // This size is already based on the number of fields | ||
| for (size_t i = 0; i < packed_bytecode.size(); ++i) { | ||
| bytecode_trace.push_back(BytecodeTraceEntry{ | ||
| .packed_bytecode = packed_bytecode[i], | ||
| .running_hash = running_hash, | ||
| .bytecode_length_remaining = static_cast<uint16_t>(packed_bytecode.size() - i), | ||
| }); | ||
| running_hash = poseidon2::hash({ packed_bytecode[i], running_hash }); | ||
| } | ||
| // Now running_hash actually contains the bytecode hash | ||
| BytecodeTraceEntry last_entry; | ||
| last_entry.running_hash = running_hash; | ||
| last_entry.bytecode_length_remaining = 0; | ||
| // TODO: Come back to this later | ||
| // last_entry.class_id = _ | ||
| // last_entry.contract_address = _ | ||
| } | ||
| } |
There was a problem hiding this comment.
So the 0th bytecode trace row has running_hash = 0, and then the 1st row has running_hash = hash({bytecode[0], 0}). Okay yeah that makes sense! Probably would be good to comment this a bit more thoroughly, but it didn't take long to parse what's going on. 👍
There was a problem hiding this comment.
will add a comment to the PR at the top of the stack
Yep, in the other PRs we will enforce that the bytecode hashing we perform matches the hints received by the hints. So effectively |
fcarreiro
left a comment
There was a problem hiding this comment.
Typescript side looks ok, except for the length in packedBytecode
| ); | ||
| } else { | ||
| // Any bytes after the bytecode length must be 0 | ||
| assert_eq(packed_public_bytecode[i + 1], 0); |
There was a problem hiding this comment.
Hmm interesting, is this overprotective?
There was a problem hiding this comment.
hmmm i think this is required or someone could sneak in extra bytecode that will not be part of the hash (since length of the bytecode is essentially user-defined)
| for i in 0..(MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS - 1) { | ||
| // While we are forced to run the hash MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS times in the circuit, | ||
| // we want the bytecode commitment to be based on the actual length | ||
| if (i < bytecode_length_in_fields) { |
There was a problem hiding this comment.
(optional, or for later) Assuming we don't need the check of the "else" branch, maybe this if can be made more efficient with something like:
u1 pred = i < bytecode_length_in_fields;
computed_public_bytecode_commitment =
pred * std::hash::poseidon2::Poseidon2::hash([packed_public_bytecode[i + 1], computed_public_bytecode_commitment], 2) +
(1 - pred) * computed_public_bytecode_commitment;
| export function computePublicBytecodeCommitment(packedBytecode: Buffer) { | ||
| // Encode the buffer into field elements (chunked into 31 bytes each) | ||
| const encodedBytecode: Fr[] = bufferAsFields(packedBytecode, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS); | ||
| // The first element is the length of the bytecode (in bytes) |
There was a problem hiding this comment.
Is this still the case? Given that a buffer holds its length, I thought I would've avoided this extra byte in the packedBytecode.
You can however add it here in this function if you need it (but not in the function that generates the packedBytecode).
There was a problem hiding this comment.
You can however add it here in this function
I meant in the function that passes the bytecode to the contract registerer
Here you should be able to use the buffer size since we are in TS?
There was a problem hiding this comment.
Yeah that's true, I was just re-using the bufferAsFields utility since that's what's used when broadcasting public functions and i didnt want to re-implement the "packing into fields" logic.
I could remove the length from the encoded-bytecode that is used in pop_capsule, but we would need to then add it as a parameter to the class register function.
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.61.0</summary> ## [0.61.0](aztec-package-v0.60.0...aztec-package-v0.61.0) (2024-10-30) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.61.0</summary> ## [0.61.0](barretenberg.js-v0.60.0...barretenberg.js-v0.61.0) (2024-10-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.61.0</summary> ## [0.61.0](aztec-packages-v0.60.0...aztec-packages-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](#9551)) * **avm:** returndatasize + returndatacopy ([#9475](#9475)) * use Brillig opcode when possible for less-than operations on fields ([#9416](#9416)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) * split base rollup and remove public kernel proving ([#9434](#9434)) * getcontractinstance instruction returns only a specified member ([#9300](#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](#9408)) ### Features * `bytes_to_fields` requiring only 1 generic param ([#9417](#9417)) ([2217da6](2217da6)) * 20-30% cost reduction in recursive ipa algorithm ([#9420](#9420)) ([a4bd3e1](a4bd3e1)) * Add capacities to brillig vectors and use them in slice ops (noir-lang/noir#6332) ([b82f3d1](b82f3d1)) * Added indexes and a way to store/retrieve tagged secrets ([#9468](#9468)) ([1c685b1](1c685b1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](#9408)) ([1bbd724](1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](#9389)) ([07d6dc2](07d6dc2)) * **avm:** Cleanup CALL ([#9551](#9551)) ([26adc55](26adc55)) * **avm:** Merkle tree gadget ([#9205](#9205)) ([d52b616](d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](#9475)) ([8f71006](8f71006)) * **avm:** Trace contract class and contract instance ([#8840](#8840)) ([84205d8](84205d8)) * Better LSP hover for functions (noir-lang/noir#6376) ([b82f3d1](b82f3d1)) * Bytecode hashing init ([#8535](#8535)) ([2bb09e5](2bb09e5)) * Check trait where clause (noir-lang/noir#6325) ([d67381b](d67381b)) * Comptime deriving generators in macros ([#9195](#9195)) ([c4b629c](c4b629c)) * Derive address and class id in avm ([#8897](#8897)) ([2ebe361](2ebe361)) * Do not increment reference counts on arrays through references (noir-lang/noir#6375) ([f386612](f386612)) * **docs:** Function transforms (hidden macros) ([#7784](#7784)) ([831cc66](831cc66)) * Fee pricing to 0 for old instances ([#9296](#9296)) ([7bc3a21](7bc3a21)) * Fixed number of pub inputs for databus commitment propagation ([#9336](#9336)) ([8658abd](8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](#9300)) ([29b692f](29b692f)) * Implement encryption to an address point and decryption from an address secret ([#9272](#9272)) ([6d77dd0](6d77dd0)) * Initial block reward + external libraries ([#9297](#9297)) ([240e9b5](240e9b5)) * Let LSP suggest traits in trait bounds (noir-lang/noir#6370) ([f386612](f386612)) * Let the formatter remove lambda block braces for single-statement blocks (noir-lang/noir#6335) ([d67381b](d67381b)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([f386612](f386612)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([d67381b](d67381b)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([f386612](f386612)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([d67381b](d67381b)) * Merge and sort imports (noir-lang/noir#6322) ([b4db379](b4db379)) * Note tagging oracle ([#9429](#9429)) ([cec6306](cec6306)) * Ownable sysstia ([#9398](#9398)) ([30314ec](30314ec)), closes [#9351](#9351) * **perf:** Use [u32;16] for message block in sha256 (noir-lang/noir#6324) ([d67381b](d67381b)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](#9411)) ([84fdc52](84fdc52)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) ([d67381b](d67381b)) * Prover coordination test with a reorg ([#9405](#9405)) ([9efe288](9efe288)) * **prover:** Perform prover coordination via p2p layer ([#9325](#9325)) ([2132bc2](2132bc2)), closes [#9264](#9264) * Reject programs with unconditional recursion (noir-lang/noir#6292) ([b4db379](b4db379)) * Remove 'single use' intermediate variables (noir-lang/noir#6268) ([d67381b](d67381b)) * Reorder blocks for efficiency ([#9560](#9560)) ([10874f4](10874f4)) * Simulate latency with network chaos ([#9469](#9469)) ([10aefbb](10aefbb)) * Sol shplemini in acir tests + contract_gen ([#8874](#8874)) ([1c0275d](1c0275d)) * Suggest removing `!` from macro call that doesn't return Quoted (noir-lang/noir#6384) ([b82f3d1](b82f3d1)) * Support specifying generics on a struct when calling an associated function (noir-lang/noir#6306) ([b82f3d1](b82f3d1)) * Sync from aztec-packages (noir-lang/noir#6345) ([d67381b](d67381b)) * Tally AVM opcodes executed in simulator ([#9473](#9473)) ([9a06ada](9a06ada)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([f386612](f386612)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([d67381b](d67381b)) ### Bug Fixes * (formatter) correctly format quote delimiters (noir-lang/noir#6377) ([b82f3d1](b82f3d1)) * (formatter) indent after infix lhs (noir-lang/noir#6331) ([b4db379](b4db379)) * (LSP) check visibility of module that re-exports item, if any (noir-lang/noir#6371) ([f386612](f386612)) * Add native verification test to honk keccak ([#9501](#9501)) ([59810e0](59810e0)) * Allow globals in format strings (noir-lang/noir#6382) ([b82f3d1](b82f3d1)) * Allow more resources for 4epochs tests ([#9418](#9418)) ([74a8ad1](74a8ad1)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([f386612](f386612)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([d67381b](d67381b)) * Always inline `derive_generators` (noir-lang/noir#6350) ([f386612](f386612)) * Always inline `derive_generators` (noir-lang/noir#6350) ([d67381b](d67381b)) * **avm:** Address bytecode hashing comments ([#9436](#9436)) ([a85f92a](a85f92a)) * **avm:** Disable sha256 in bulk test until we debug it ([#9482](#9482)) ([078c318](078c318)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](#9496)) ([0fe64df](0fe64df)) * Bb-only-change fix e2e build instability ([#9441](#9441)) ([ca3abaa](ca3abaa)) * Better formatting of leading/trailing line/block comments in expression lists (noir-lang/noir#6338) ([d67381b](d67381b)) * Cleanup of janky encryption apis ([#9390](#9390)) ([9e3e536](9e3e536)) * Deploy & version aztec-up scripts ([#9435](#9435)) ([ad80169](ad80169)) * Display every bit in integer tokens (noir-lang/noir#6360) ([b82f3d1](b82f3d1)) * Docker fast ([#9467](#9467)) ([34e6dd0](34e6dd0)) * **docs:** Update getting started docs ([#9426](#9426)) ([985190b](985190b)) * Fix panic in comptime code (noir-lang/noir#6361) ([f386612](f386612)) * Fix panic in comptime code (noir-lang/noir#6361) ([d67381b](d67381b)) * Formatter didn't format `>>=` well (noir-lang/noir#6337) ([b4db379](b4db379)) * Honk shplemini acir artifacts ([#9550](#9550)) ([468c100](468c100)) * Issue in partial notes API ([#9555](#9555)) ([9d66c1a](9d66c1a)) * LSP auto-import would import public item inside private module (noir-lang/noir#6366) ([f386612](f386612)) * Make keccak256 work with input lengths greater than 136 bytes (noir-lang/noir#6393) ([b82f3d1](b82f3d1)) * Make sure kind tests run every master commit ([#9478](#9478)) ([78de316](78de316)) * Mutable global pattern didn't have a span (noir-lang/noir#6328) ([b4db379](b4db379)) * Remove assumed parent traits (noir-lang/noir#6365) ([f386612](f386612)) * Remove unnecessary ivpk's from aztec-nr ([#9460](#9460)) ([c6437cc](c6437cc)) * Replace npk_m_hash with addresses ([#9461](#9461)) ([f4ed55b](f4ed55b)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](#9505)) ([3351217](3351217)) * Slightly better formatting of empty blocks with comments (noir-lang/noir#6367) ([f386612](f386612)) * Spot_strategy passing ([#9428](#9428)) ([1e38d3e](1e38d3e)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([f386612](f386612)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([d67381b](d67381b)) * Yarn build:fast ([#9464](#9464)) ([bbe6d06](bbe6d06)) * Yarn project bootstrap fast ([#9440](#9440)) ([c1ebed5](c1ebed5)) ### Miscellaneous * Add serdes and eq for address note ([#9544](#9544)) ([74bcfab](74bcfab)) * Add some tests for type aliases ([d67381b](d67381b)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([f386612](f386612)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([d67381b](d67381b)) * Align debug logging between AVM sim & witgen ([#9498](#9498)) ([7c2d67a](7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](#9466)) ([8e07de8](8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](#9345)) ([a67d0e2](a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](#9431)) ([91c50dd](91c50dd)) * **CI:** Remove end-to-end/Earthfile ([#9364](#9364)) ([2823cbb](2823cbb)), closes [#9221](#9221) * Clean up note processor after changes due to address ([#9401](#9401)) ([d33c988](d33c988)) * Disable e2e_fees_dapp_subscription ([#9489](#9489)) ([26416b6](26416b6)) * Disable flakey e2e_synching.test.ts ([#9439](#9439)) ([01147a5](01147a5)) * Dont show aws creds in docker fast ([#9465](#9465)) ([a6d8f48](a6d8f48)) * Fix sync scripts ([#9423](#9423)) ([7766c8e](7766c8e)) * Have 'aztec' honour the 'DEBUG' env var ([#9413](#9413)) ([771a2ac](771a2ac)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([f386612](f386612)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([d67381b](d67381b)) * Minting only private or public balance in Token TXE tests ([#9491](#9491)) ([b8c015b](b8c015b)) * Node follow prune and extend chain ([#9328](#9328)) ([a653fd3](a653fd3)) * Noir bug workaround ([#9443](#9443)) ([f619687](f619687)) * Passing partial note logs through transient storage ([#9356](#9356)) ([8835b31](8835b31)) * Redo typo PR by defitricks ([#9571](#9571)) ([9a5dce3](9a5dce3)) * Remove ovpk as param in boxes contracts ([#9495](#9495)) ([2b24b98](2b24b98)) * Remove unnecessary trait ([#9437](#9437)) ([1db2eec](1db2eec)) * Rename private function in L2 block stream ([#9481](#9481)) ([a34d4aa](a34d4aa)), closes [#9314](#9314) * Replace relative paths to noir-protocol-circuits ([4f2d67c](4f2d67c)) * Replace relative paths to noir-protocol-circuits ([33f2151](33f2151)) * Replace relative paths to noir-protocol-circuits ([5247be2](5247be2)) * Replace relative paths to noir-protocol-circuits ([49467ba](49467ba)) * Replace relative paths to noir-protocol-circuits ([f6d714f](f6d714f)) * Replace relative paths to noir-protocol-circuits ([b4841ad](b4841ad)) * Replace token note with uint note ([#8143](#8143)) ([493a3f3](493a3f3)) * Run tests in metaprogramming.rs (noir-lang/noir#6339) ([d67381b](d67381b)) * Split base rollup and remove public kernel proving ([#9434](#9434)) ([4316242](4316242)) * Switch to btreeset for deterministic ordering (noir-lang/noir#6348) ([d67381b](d67381b)) * Update title from feedback (noir-lang/noir#6334) ([b4db379](b4db379)) * Use array instead of Vec in keccak256 (noir-lang/noir#6395) ([b82f3d1](b82f3d1)) * Use big endian in sha ([#9471](#9471)) ([bc9828e](bc9828e)) * Use Brillig opcode when possible for less-than operations on fields ([#9416](#9416)) ([e50303d](e50303d)) ### Documentation * Clean up docker messaging ([#9419](#9419)) ([4c4974f](4c4974f)) </details> <details><summary>barretenberg: 0.61.0</summary> ## [0.61.0](barretenberg-v0.60.0...barretenberg-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](#9551)) * **avm:** returndatasize + returndatacopy ([#9475](#9475)) * getcontractinstance instruction returns only a specified member ([#9300](#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](#9408)) ### Features * 20-30% cost reduction in recursive ipa algorithm ([#9420](#9420)) ([a4bd3e1](a4bd3e1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](#9408)) ([1bbd724](1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](#9389)) ([07d6dc2](07d6dc2)) * **avm:** Cleanup CALL ([#9551](#9551)) ([26adc55](26adc55)) * **avm:** Merkle tree gadget ([#9205](#9205)) ([d52b616](d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](#9475)) ([8f71006](8f71006)) * **avm:** Trace contract class and contract instance ([#8840](#8840)) ([84205d8](84205d8)) * Bytecode hashing init ([#8535](#8535)) ([2bb09e5](2bb09e5)) * Derive address and class id in avm ([#8897](#8897)) ([2ebe361](2ebe361)) * Fixed number of pub inputs for databus commitment propagation ([#9336](#9336)) ([8658abd](8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](#9300)) ([29b692f](29b692f)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](#9411)) ([84fdc52](84fdc52)) * Reorder blocks for efficiency ([#9560](#9560)) ([10874f4](10874f4)) * Sol shplemini in acir tests + contract_gen ([#8874](#8874)) ([1c0275d](1c0275d)) ### Bug Fixes * Add native verification test to honk keccak ([#9501](#9501)) ([59810e0](59810e0)) * **avm:** Address bytecode hashing comments ([#9436](#9436)) ([a85f92a](a85f92a)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](#9496)) ([0fe64df](0fe64df)) * Honk shplemini acir artifacts ([#9550](#9550)) ([468c100](468c100)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](#9505)) ([3351217](3351217)) ### Miscellaneous * Align debug logging between AVM sim & witgen ([#9498](#9498)) ([7c2d67a](7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](#9466)) ([8e07de8](8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](#9345)) ([a67d0e2](a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](#9431)) ([91c50dd](91c50dd)) * Use big endian in sha ([#9471](#9471)) ([bc9828e](bc9828e)) </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.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@aztec-package-v0.60.0...aztec-package-v0.61.0) (2024-10-30) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@barretenberg.js-v0.60.0...barretenberg.js-v0.61.0) (2024-10-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@aztec-packages-v0.60.0...aztec-packages-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) * **avm:** returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) * use Brillig opcode when possible for less-than operations on fields ([#9416](AztecProtocol/aztec-packages#9416)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) * split base rollup and remove public kernel proving ([#9434](AztecProtocol/aztec-packages#9434)) * getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ### Features * `bytes_to_fields` requiring only 1 generic param ([#9417](AztecProtocol/aztec-packages#9417)) ([2217da6](AztecProtocol/aztec-packages@2217da6)) * 20-30% cost reduction in recursive ipa algorithm ([#9420](AztecProtocol/aztec-packages#9420)) ([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1)) * Add capacities to brillig vectors and use them in slice ops (noir-lang/noir#6332) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Added indexes and a way to store/retrieve tagged secrets ([#9468](AztecProtocol/aztec-packages#9468)) ([1c685b1](AztecProtocol/aztec-packages@1c685b1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ([1bbd724](AztecProtocol/aztec-packages@1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](AztecProtocol/aztec-packages#9389)) ([07d6dc2](AztecProtocol/aztec-packages@07d6dc2)) * **avm:** Cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) ([26adc55](AztecProtocol/aztec-packages@26adc55)) * **avm:** Merkle tree gadget ([#9205](AztecProtocol/aztec-packages#9205)) ([d52b616](AztecProtocol/aztec-packages@d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) ([8f71006](AztecProtocol/aztec-packages@8f71006)) * **avm:** Trace contract class and contract instance ([#8840](AztecProtocol/aztec-packages#8840)) ([84205d8](AztecProtocol/aztec-packages@84205d8)) * Better LSP hover for functions (noir-lang/noir#6376) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Bytecode hashing init ([#8535](AztecProtocol/aztec-packages#8535)) ([2bb09e5](AztecProtocol/aztec-packages@2bb09e5)) * Check trait where clause (noir-lang/noir#6325) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Comptime deriving generators in macros ([#9195](AztecProtocol/aztec-packages#9195)) ([c4b629c](AztecProtocol/aztec-packages@c4b629c)) * Derive address and class id in avm ([#8897](AztecProtocol/aztec-packages#8897)) ([2ebe361](AztecProtocol/aztec-packages@2ebe361)) * Do not increment reference counts on arrays through references (noir-lang/noir#6375) ([f386612](AztecProtocol/aztec-packages@f386612)) * **docs:** Function transforms (hidden macros) ([#7784](AztecProtocol/aztec-packages#7784)) ([831cc66](AztecProtocol/aztec-packages@831cc66)) * Fee pricing to 0 for old instances ([#9296](AztecProtocol/aztec-packages#9296)) ([7bc3a21](AztecProtocol/aztec-packages@7bc3a21)) * Fixed number of pub inputs for databus commitment propagation ([#9336](AztecProtocol/aztec-packages#9336)) ([8658abd](AztecProtocol/aztec-packages@8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) ([29b692f](AztecProtocol/aztec-packages@29b692f)) * Implement encryption to an address point and decryption from an address secret ([#9272](AztecProtocol/aztec-packages#9272)) ([6d77dd0](AztecProtocol/aztec-packages@6d77dd0)) * Initial block reward + external libraries ([#9297](AztecProtocol/aztec-packages#9297)) ([240e9b5](AztecProtocol/aztec-packages@240e9b5)) * Let LSP suggest traits in trait bounds (noir-lang/noir#6370) ([f386612](AztecProtocol/aztec-packages@f386612)) * Let the formatter remove lambda block braces for single-statement blocks (noir-lang/noir#6335) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([f386612](AztecProtocol/aztec-packages@f386612)) * Let the LSP import code action insert into existing use statements (noir-lang/noir#6358) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([f386612](AztecProtocol/aztec-packages@f386612)) * LSP auto-import will try to add to existing use statements (noir-lang/noir#6354) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Merge and sort imports (noir-lang/noir#6322) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Note tagging oracle ([#9429](AztecProtocol/aztec-packages#9429)) ([cec6306](AztecProtocol/aztec-packages@cec6306)) * Ownable sysstia ([#9398](AztecProtocol/aztec-packages#9398)) ([30314ec](AztecProtocol/aztec-packages@30314ec)), closes [#9351](AztecProtocol/aztec-packages#9351) * **perf:** Use [u32;16] for message block in sha256 (noir-lang/noir#6324) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](AztecProtocol/aztec-packages#9411)) ([84fdc52](AztecProtocol/aztec-packages@84fdc52)) * **profiler:** New flamegraph command that profiles the opcodes executed (noir-lang/noir#6327) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Prover coordination test with a reorg ([#9405](AztecProtocol/aztec-packages#9405)) ([9efe288](AztecProtocol/aztec-packages@9efe288)) * **prover:** Perform prover coordination via p2p layer ([#9325](AztecProtocol/aztec-packages#9325)) ([2132bc2](AztecProtocol/aztec-packages@2132bc2)), closes [#9264](AztecProtocol/aztec-packages#9264) * Reject programs with unconditional recursion (noir-lang/noir#6292) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Remove 'single use' intermediate variables (noir-lang/noir#6268) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Reorder blocks for efficiency ([#9560](AztecProtocol/aztec-packages#9560)) ([10874f4](AztecProtocol/aztec-packages@10874f4)) * Simulate latency with network chaos ([#9469](AztecProtocol/aztec-packages#9469)) ([10aefbb](AztecProtocol/aztec-packages@10aefbb)) * Sol shplemini in acir tests + contract_gen ([#8874](AztecProtocol/aztec-packages#8874)) ([1c0275d](AztecProtocol/aztec-packages@1c0275d)) * Suggest removing `!` from macro call that doesn't return Quoted (noir-lang/noir#6384) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Support specifying generics on a struct when calling an associated function (noir-lang/noir#6306) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Sync from aztec-packages (noir-lang/noir#6345) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Tally AVM opcodes executed in simulator ([#9473](AztecProtocol/aztec-packages#9473)) ([9a06ada](AztecProtocol/aztec-packages@9a06ada)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([f386612](AztecProtocol/aztec-packages@f386612)) * **test:** Run test matrix on stdlib tests (noir-lang/noir#6352) ([d67381b](AztecProtocol/aztec-packages@d67381b)) ### Bug Fixes * (formatter) correctly format quote delimiters (noir-lang/noir#6377) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * (formatter) indent after infix lhs (noir-lang/noir#6331) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * (LSP) check visibility of module that re-exports item, if any (noir-lang/noir#6371) ([f386612](AztecProtocol/aztec-packages@f386612)) * Add native verification test to honk keccak ([#9501](AztecProtocol/aztec-packages#9501)) ([59810e0](AztecProtocol/aztec-packages@59810e0)) * Allow globals in format strings (noir-lang/noir#6382) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Allow more resources for 4epochs tests ([#9418](AztecProtocol/aztec-packages#9418)) ([74a8ad1](AztecProtocol/aztec-packages@74a8ad1)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([f386612](AztecProtocol/aztec-packages@f386612)) * Allow type aliases in let patterns (noir-lang/noir#6356) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Always inline `derive_generators` (noir-lang/noir#6350) ([f386612](AztecProtocol/aztec-packages@f386612)) * Always inline `derive_generators` (noir-lang/noir#6350) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * **avm:** Address bytecode hashing comments ([#9436](AztecProtocol/aztec-packages#9436)) ([a85f92a](AztecProtocol/aztec-packages@a85f92a)) * **avm:** Disable sha256 in bulk test until we debug it ([#9482](AztecProtocol/aztec-packages#9482)) ([078c318](AztecProtocol/aztec-packages@078c318)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](AztecProtocol/aztec-packages#9496)) ([0fe64df](AztecProtocol/aztec-packages@0fe64df)) * Bb-only-change fix e2e build instability ([#9441](AztecProtocol/aztec-packages#9441)) ([ca3abaa](AztecProtocol/aztec-packages@ca3abaa)) * Better formatting of leading/trailing line/block comments in expression lists (noir-lang/noir#6338) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Cleanup of janky encryption apis ([#9390](AztecProtocol/aztec-packages#9390)) ([9e3e536](AztecProtocol/aztec-packages@9e3e536)) * Deploy & version aztec-up scripts ([#9435](AztecProtocol/aztec-packages#9435)) ([ad80169](AztecProtocol/aztec-packages@ad80169)) * Display every bit in integer tokens (noir-lang/noir#6360) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Docker fast ([#9467](AztecProtocol/aztec-packages#9467)) ([34e6dd0](AztecProtocol/aztec-packages@34e6dd0)) * **docs:** Update getting started docs ([#9426](AztecProtocol/aztec-packages#9426)) ([985190b](AztecProtocol/aztec-packages@985190b)) * Fix panic in comptime code (noir-lang/noir#6361) ([f386612](AztecProtocol/aztec-packages@f386612)) * Fix panic in comptime code (noir-lang/noir#6361) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Formatter didn't format `>>=` well (noir-lang/noir#6337) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Honk shplemini acir artifacts ([#9550](AztecProtocol/aztec-packages#9550)) ([468c100](AztecProtocol/aztec-packages@468c100)) * Issue in partial notes API ([#9555](AztecProtocol/aztec-packages#9555)) ([9d66c1a](AztecProtocol/aztec-packages@9d66c1a)) * LSP auto-import would import public item inside private module (noir-lang/noir#6366) ([f386612](AztecProtocol/aztec-packages@f386612)) * Make keccak256 work with input lengths greater than 136 bytes (noir-lang/noir#6393) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Make sure kind tests run every master commit ([#9478](AztecProtocol/aztec-packages#9478)) ([78de316](AztecProtocol/aztec-packages@78de316)) * Mutable global pattern didn't have a span (noir-lang/noir#6328) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Remove assumed parent traits (noir-lang/noir#6365) ([f386612](AztecProtocol/aztec-packages@f386612)) * Remove unnecessary ivpk's from aztec-nr ([#9460](AztecProtocol/aztec-packages#9460)) ([c6437cc](AztecProtocol/aztec-packages@c6437cc)) * Replace npk_m_hash with addresses ([#9461](AztecProtocol/aztec-packages#9461)) ([f4ed55b](AztecProtocol/aztec-packages@f4ed55b)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](AztecProtocol/aztec-packages#9505)) ([3351217](AztecProtocol/aztec-packages@3351217)) * Slightly better formatting of empty blocks with comments (noir-lang/noir#6367) ([f386612](AztecProtocol/aztec-packages@f386612)) * Spot_strategy passing ([#9428](AztecProtocol/aztec-packages#9428)) ([1e38d3e](AztecProtocol/aztec-packages@1e38d3e)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([f386612](AztecProtocol/aztec-packages@f386612)) * **ssa:** Do not mark an array from a parameter mutable (noir-lang/noir#6355) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Yarn build:fast ([#9464](AztecProtocol/aztec-packages#9464)) ([bbe6d06](AztecProtocol/aztec-packages@bbe6d06)) * Yarn project bootstrap fast ([#9440](AztecProtocol/aztec-packages#9440)) ([c1ebed5](AztecProtocol/aztec-packages@c1ebed5)) ### Miscellaneous * Add serdes and eq for address note ([#9544](AztecProtocol/aztec-packages#9544)) ([74bcfab](AztecProtocol/aztec-packages@74bcfab)) * Add some tests for type aliases ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([f386612](AztecProtocol/aztec-packages@f386612)) * Add test to check that duplicate definitions generated from macros throws error (noir-lang/noir#6351) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Align debug logging between AVM sim & witgen ([#9498](AztecProtocol/aztec-packages#9498)) ([7c2d67a](AztecProtocol/aztec-packages@7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](AztecProtocol/aztec-packages#9466)) ([8e07de8](AztecProtocol/aztec-packages@8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](AztecProtocol/aztec-packages#9345)) ([a67d0e2](AztecProtocol/aztec-packages@a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](AztecProtocol/aztec-packages#9431)) ([91c50dd](AztecProtocol/aztec-packages@91c50dd)) * **CI:** Remove end-to-end/Earthfile ([#9364](AztecProtocol/aztec-packages#9364)) ([2823cbb](AztecProtocol/aztec-packages@2823cbb)), closes [#9221](AztecProtocol/aztec-packages#9221) * Clean up note processor after changes due to address ([#9401](AztecProtocol/aztec-packages#9401)) ([d33c988](AztecProtocol/aztec-packages@d33c988)) * Disable e2e_fees_dapp_subscription ([#9489](AztecProtocol/aztec-packages#9489)) ([26416b6](AztecProtocol/aztec-packages@26416b6)) * Disable flakey e2e_synching.test.ts ([#9439](AztecProtocol/aztec-packages#9439)) ([01147a5](AztecProtocol/aztec-packages@01147a5)) * Dont show aws creds in docker fast ([#9465](AztecProtocol/aztec-packages#9465)) ([a6d8f48](AztecProtocol/aztec-packages@a6d8f48)) * Fix sync scripts ([#9423](AztecProtocol/aztec-packages#9423)) ([7766c8e](AztecProtocol/aztec-packages@7766c8e)) * Have 'aztec' honour the 'DEBUG' env var ([#9413](AztecProtocol/aztec-packages#9413)) ([771a2ac](AztecProtocol/aztec-packages@771a2ac)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([f386612](AztecProtocol/aztec-packages@f386612)) * Minor tweaks to comptime doc (noir-lang/noir#6357) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Minting only private or public balance in Token TXE tests ([#9491](AztecProtocol/aztec-packages#9491)) ([b8c015b](AztecProtocol/aztec-packages@b8c015b)) * Node follow prune and extend chain ([#9328](AztecProtocol/aztec-packages#9328)) ([a653fd3](AztecProtocol/aztec-packages@a653fd3)) * Noir bug workaround ([#9443](AztecProtocol/aztec-packages#9443)) ([f619687](AztecProtocol/aztec-packages@f619687)) * Passing partial note logs through transient storage ([#9356](AztecProtocol/aztec-packages#9356)) ([8835b31](AztecProtocol/aztec-packages@8835b31)) * Redo typo PR by defitricks ([#9571](AztecProtocol/aztec-packages#9571)) ([9a5dce3](AztecProtocol/aztec-packages@9a5dce3)) * Remove ovpk as param in boxes contracts ([#9495](AztecProtocol/aztec-packages#9495)) ([2b24b98](AztecProtocol/aztec-packages@2b24b98)) * Remove unnecessary trait ([#9437](AztecProtocol/aztec-packages#9437)) ([1db2eec](AztecProtocol/aztec-packages@1db2eec)) * Rename private function in L2 block stream ([#9481](AztecProtocol/aztec-packages#9481)) ([a34d4aa](AztecProtocol/aztec-packages@a34d4aa)), closes [#9314](AztecProtocol/aztec-packages#9314) * Replace relative paths to noir-protocol-circuits ([4f2d67c](AztecProtocol/aztec-packages@4f2d67c)) * Replace relative paths to noir-protocol-circuits ([33f2151](AztecProtocol/aztec-packages@33f2151)) * Replace relative paths to noir-protocol-circuits ([5247be2](AztecProtocol/aztec-packages@5247be2)) * Replace relative paths to noir-protocol-circuits ([49467ba](AztecProtocol/aztec-packages@49467ba)) * Replace relative paths to noir-protocol-circuits ([f6d714f](AztecProtocol/aztec-packages@f6d714f)) * Replace relative paths to noir-protocol-circuits ([b4841ad](AztecProtocol/aztec-packages@b4841ad)) * Replace token note with uint note ([#8143](AztecProtocol/aztec-packages#8143)) ([493a3f3](AztecProtocol/aztec-packages@493a3f3)) * Run tests in metaprogramming.rs (noir-lang/noir#6339) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Split base rollup and remove public kernel proving ([#9434](AztecProtocol/aztec-packages#9434)) ([4316242](AztecProtocol/aztec-packages@4316242)) * Switch to btreeset for deterministic ordering (noir-lang/noir#6348) ([d67381b](AztecProtocol/aztec-packages@d67381b)) * Update title from feedback (noir-lang/noir#6334) ([b4db379](AztecProtocol/aztec-packages@b4db379)) * Use array instead of Vec in keccak256 (noir-lang/noir#6395) ([b82f3d1](AztecProtocol/aztec-packages@b82f3d1)) * Use big endian in sha ([#9471](AztecProtocol/aztec-packages#9471)) ([bc9828e](AztecProtocol/aztec-packages@bc9828e)) * Use Brillig opcode when possible for less-than operations on fields ([#9416](AztecProtocol/aztec-packages#9416)) ([e50303d](AztecProtocol/aztec-packages@e50303d)) ### Documentation * Clean up docker messaging ([#9419](AztecProtocol/aztec-packages#9419)) ([4c4974f](AztecProtocol/aztec-packages@4c4974f)) </details> <details><summary>barretenberg: 0.61.0</summary> ## [0.61.0](AztecProtocol/aztec-packages@barretenberg-v0.60.0...barretenberg-v0.61.0) (2024-10-30) ### ⚠ BREAKING CHANGES * **avm:** cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) * **avm:** returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) * getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) * **avm/brillig:** revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ### Features * 20-30% cost reduction in recursive ipa algorithm ([#9420](AztecProtocol/aztec-packages#9420)) ([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1)) * **avm/brillig:** Revert/rethrow oracle ([#9408](AztecProtocol/aztec-packages#9408)) ([1bbd724](AztecProtocol/aztec-packages@1bbd724)) * **avm:** Avm replace zeromorph pcs by shplemini ([#9389](AztecProtocol/aztec-packages#9389)) ([07d6dc2](AztecProtocol/aztec-packages@07d6dc2)) * **avm:** Cleanup CALL ([#9551](AztecProtocol/aztec-packages#9551)) ([26adc55](AztecProtocol/aztec-packages@26adc55)) * **avm:** Merkle tree gadget ([#9205](AztecProtocol/aztec-packages#9205)) ([d52b616](AztecProtocol/aztec-packages@d52b616)) * **avm:** Returndatasize + returndatacopy ([#9475](AztecProtocol/aztec-packages#9475)) ([8f71006](AztecProtocol/aztec-packages@8f71006)) * **avm:** Trace contract class and contract instance ([#8840](AztecProtocol/aztec-packages#8840)) ([84205d8](AztecProtocol/aztec-packages@84205d8)) * Bytecode hashing init ([#8535](AztecProtocol/aztec-packages#8535)) ([2bb09e5](AztecProtocol/aztec-packages@2bb09e5)) * Derive address and class id in avm ([#8897](AztecProtocol/aztec-packages#8897)) ([2ebe361](AztecProtocol/aztec-packages@2ebe361)) * Fixed number of pub inputs for databus commitment propagation ([#9336](AztecProtocol/aztec-packages#9336)) ([8658abd](AztecProtocol/aztec-packages@8658abd)) * Getcontractinstance instruction returns only a specified member ([#9300](AztecProtocol/aztec-packages#9300)) ([29b692f](AztecProtocol/aztec-packages@29b692f)) * Print finalized size and log dyadic size during Ultra proof construction ([#9411](AztecProtocol/aztec-packages#9411)) ([84fdc52](AztecProtocol/aztec-packages@84fdc52)) * Reorder blocks for efficiency ([#9560](AztecProtocol/aztec-packages#9560)) ([10874f4](AztecProtocol/aztec-packages@10874f4)) * Sol shplemini in acir tests + contract_gen ([#8874](AztecProtocol/aztec-packages#8874)) ([1c0275d](AztecProtocol/aztec-packages@1c0275d)) ### Bug Fixes * Add native verification test to honk keccak ([#9501](AztecProtocol/aztec-packages#9501)) ([59810e0](AztecProtocol/aztec-packages@59810e0)) * **avm:** Address bytecode hashing comments ([#9436](AztecProtocol/aztec-packages#9436)) ([a85f92a](AztecProtocol/aztec-packages@a85f92a)) * **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR ([#9496](AztecProtocol/aztec-packages#9496)) ([0fe64df](AztecProtocol/aztec-packages@0fe64df)) * Honk shplemini acir artifacts ([#9550](AztecProtocol/aztec-packages#9550)) ([468c100](AztecProtocol/aztec-packages@468c100)) * Revert "feat: sol shplemini in acir tests + contract_gen" ([#9505](AztecProtocol/aztec-packages#9505)) ([3351217](AztecProtocol/aztec-packages@3351217)) ### Miscellaneous * Align debug logging between AVM sim & witgen ([#9498](AztecProtocol/aztec-packages#9498)) ([7c2d67a](AztecProtocol/aztec-packages@7c2d67a)) * **avm::** Fix execution tests in proving mode ([#9466](AztecProtocol/aztec-packages#9466)) ([8e07de8](AztecProtocol/aztec-packages@8e07de8)) * **avm:** Allocate memory for unshifted polynomials according to their trace col size ([#9345](AztecProtocol/aztec-packages#9345)) ([a67d0e2](AztecProtocol/aztec-packages@a67d0e2)) * Bumping L2 gas and public reads constants ([#9431](AztecProtocol/aztec-packages#9431)) ([91c50dd](AztecProtocol/aztec-packages@91c50dd)) * Use big endian in sha ([#9471](AztecProtocol/aztec-packages#9471)) ([bc9828e](AztecProtocol/aztec-packages@bc9828e)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

This adds proper computation of the public bytecode commitment (i.e. pair-wise poseidon hashing of the public bytecode). This hash is also computed in the witgen although the circuit remains unconstrained.
Follow up PRs will handle: