-
Notifications
You must be signed in to change notification settings - Fork 305
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: remove total logs len from pre tail kernels + add to L1 #6466
Conversation
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
@@ -37,6 +37,16 @@ export abstract class FunctionL2Logs<TLog extends UnencryptedL2Log | EncryptedL2 | |||
return this.logs.reduce((acc, log) => acc + log.length + 4, 0) + 4; | |||
} | |||
|
|||
/** | |||
* Get the total length of all chargable data (raw log data + 4 for each log) | |||
* TODO: Rename this? getChargableLength? getDALength? |
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.
Unsure on the name getKernelLength
- this method returns the lengths we expect from the kernels. So this doesn't include the +4 bytes added to the serialised logs for each function call and each blob of logs.
@@ -66,7 +66,6 @@ type PartialPublicExecutionResult = { | |||
contractStorageUpdateRequests: ContractStorageUpdateRequest[]; | |||
unencryptedLogsHashes: LogHash[]; | |||
unencryptedLogs: UnencryptedL2Log[]; | |||
unencryptedLogPreimagesLength: Fr; |
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.
@ AVM team - removed total logs length from journal, as I believe it's not required for you.
@@ -42,7 +42,6 @@ struct PublicContext { | |||
new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>, | |||
|
|||
unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>, | |||
unencrypted_log_preimages_length: Field, |
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.
@ AVM team - removed total logs length from public context, as I believe it's not required for you.
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.
Looks good for the AVM!
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.
Stats on running time collected for app circuits
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method | Metric | | Transaction processing duration by data writes.
|
// We throw to ensure that the byte len we charge for DA gas in the kernels matches the actual chargable log byte len | ||
// Without this check, the user may provide the kernels with a lower log len than reality | ||
if ( | ||
uint256(bytes32(slice(_body, offsets.encryptedLogsLength, 0x20))) |
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.
Why not having a separate length for note logs or combine all 3 together?
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.
Just to avoid having a new variable to track in rollup circuits/txs! I can combine all 3 if there's nothing keeping us from separating enc/unc lengths?
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 can't think of any reason that will require 3 lengths. But let's have a length for each type of log to begin with. It's easier to read. And we can probably refactor some repeated code and treat them as the same type { hash, length }.
Don't have to change it now if you want to merge this one today :)
@@ -52,6 +52,18 @@ impl CombinedAccumulatedData { | |||
revertible.unencrypted_logs_hashes | |||
) | |||
); | |||
let encrypted_log_preimages_length = array_merge( |
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.
It will be cheaper to loop through them directly to add up the length without creating a new array.
@@ -103,11 +99,29 @@ impl PrivateAccumulatedDataBuilder { | |||
} | |||
} | |||
|
|||
// note_encrypted_logs_hash_gas | |||
for i in 0..self.note_encrypted_logs_hashes.storage.len() { |
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.
is_empty
is not necessary. But maybe just pass the lengths to this function?
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.41.0</summary> ## [0.41.0](aztec-package-v0.40.1...aztec-package-v0.41.0) (2024-05-21) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.41.0</summary> ## [0.41.0](barretenberg.js-v0.40.1...barretenberg.js-v0.41.0) (2024-05-21) ### Features * Vk_as_fields, proof_as_fields flows for honk ([#6406](#6406)) ([a6100ad](a6100ad)) ### Miscellaneous * Remove acvmInfo from bb.js CLI ([#6507](#6507)) ([e298c76](e298c76)) </details> <details><summary>aztec-packages: 0.41.0</summary> ## [0.41.0](aztec-packages-v0.40.1...aztec-packages-v0.41.0) (2024-05-21) ### ⚠ BREAKING CHANGES * compile-time incorrect exec environment errors ([#6442](#6442)) * add is_infinite to curve addition opcode ([#6384](#6384)) * remove backend interactions from `nargo` ([#6320](#6320)) ### Features * `npk_m_hash` in all notes + key rotation test ([#6405](#6405)) ([74e98d4](74e98d4)) * Add encrypted log outgoing body ([#6334](#6334)) ([fa9f442](fa9f442)) * Add first version of kernel reset circuit ([#6393](#6393)) ([ed6df8e](ed6df8e)) * Add is_infinite to curve addition opcode ([#6384](#6384)) ([75d81c5](75d81c5)) * Add native rust implementations of pedersen functions (noir-lang/noir#4871) ([8bbbbb6](8bbbbb6)) * Add nullifying key to Token Note ([#6130](#6130)) ([95c6b4a](95c6b4a)) * Adding autogenerated variants for the reset circuit ([#6508](#6508)) ([8e8d2dd](8e8d2dd)) * **avm-simulator:** Cap gas for external calls ([#6479](#6479)) ([c8771ba](c8771ba)) * **avm:** Gzip avm bytecode ([#6475](#6475)) ([29559bd](29559bd)) * **avm:** To_radix gadget ([#6368](#6368)) ([89dd25f](89dd25f)) * Benchmark private proving ([#6409](#6409)) ([e9e5526](e9e5526)) * Compile-time incorrect exec environment errors ([#6442](#6442)) ([0f75efd](0f75efd)) * Do not return databus returndata, keep it private. (noir-lang/noir#5023) ([26f2197](26f2197)) * **docs:** Authwit how tos ([#6220](#6220)) ([78f13d9](78f13d9)) * **docs:** Key rotation / owner -> nullifier key docs ([#6538](#6538)) ([2453ba8](2453ba8)) * Full encryption and decryption of log in ts ([#6348](#6348)) ([0ac83dc](0ac83dc)) * Generic key validation request ([#6474](#6474)) ([948ec38](948ec38)) * Improved ClientIvc ([#6429](#6429)) ([f360b3f](f360b3f)) * Laying out a new recursion constraint for honk ([#6489](#6489)) ([af9fea4](af9fea4)) * New docs structure ([#6195](#6195)) ([9cca814](9cca814)) * Pay out arbitrary fee to coinbase on L1 ([#6436](#6436)) ([1b99de8](1b99de8)) * Remove total logs len from pre tail kernels + add to L1 ([#6466](#6466)) ([66a2d43](66a2d43)) * Run benchmarks for ACIR proving ([#6155](#6155)) ([ebf6fc2](ebf6fc2)) * Squash transient note logs ([#6268](#6268)) ([4574877](4574877)) * Sum transaction fees and pay on l1 ([#6522](#6522)) ([bf441da](bf441da)) * Translator recursive verifier ([#6327](#6327)) ([9321aef](9321aef)) * Update the encrypted note log format ([#6411](#6411)) ([e5cc9dc](e5cc9dc)) * Validate counters ([#6365](#6365)) ([1f28b3a](1f28b3a)) * View functions with static context enforcing ([#6338](#6338)) ([22ad5a5](22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([#6406](#6406)) ([a6100ad](a6100ad)) ### Bug Fixes * Arm ci ([#6480](#6480)) ([237952e](237952e)) * Asset struct serialization does not match Noir internal serialization ([#6494](#6494)) ([9e6a4c3](9e6a4c3)) * **avm-simulator:** Actually wrap oracles ([#6449](#6449)) ([8685acc](8685acc)) * **avm-simulator:** Nested calls should preserve static context ([#6414](#6414)) ([44d7916](44d7916)) * **avm-simulator:** Pending storage and nullifiers should be accessible in grandchild nested calls ([#6428](#6428)) ([84d2e1f](84d2e1f)) * Buggy e2e key registry test setup ([#6496](#6496)) ([52d85d1](52d85d1)) * **ci:** ARM ([#6521](#6521)) ([d1095f6](d1095f6)) * **ci:** Arm concurrency ([#6564](#6564)) ([a265da0](a265da0)) * Disable buggy ClientIVC tests ([#6546](#6546)) ([b61dea3](b61dea3)) * Disk attach edge case ([#6430](#6430)) ([2366ad3](2366ad3)) * **docs:** Clarify content on portals ([#6431](#6431)) ([869df4d](869df4d)) * Don't start multiple runners during RequestLimitExceeded ([#6444](#6444)) ([7c4c822](7c4c822)) * Dont start multiple builders ([#6437](#6437)) ([d67ab1c](d67ab1c)) * Fix no predicates for brillig with intermediate functions (noir-lang/noir#5015) ([26f2197](26f2197)) * Fixed several vulnerabilities in U128, added some tests (noir-lang/noir#5024) ([26f2197](26f2197)) * Increase N_max in Zeromorph ([#6415](#6415)) ([9e643b4](9e643b4)) * Quick fix of [#6405](#6405) by removing context from value note utils ([#6509](#6509)) ([3a4d828](3a4d828)) * Removed plain from path in array args of contract interfaces ([#6497](#6497)) ([2b37729](2b37729)) * Runs-on inconsistency and simplify concurrency keys ([#6433](#6433)) ([80674d9](80674d9)) * Spot retry fixup ([#6476](#6476)) ([784d784](784d784)) ### Miscellaneous * Add benchmarks for pedersen and schnorr verification (noir-lang/noir#5056) ([8bbbbb6](8bbbbb6)) * Add c++ tests for generator derivation ([#6528](#6528)) ([72931bd](72931bd)) * Add script to print lines of code (noir-lang/noir#4991) ([26f2197](26f2197)) * Add some docs on syncing noir ([#6340](#6340)) ([bb68fcd](bb68fcd)) * Anvil kill wrapper now supports mac ([#6520](#6520)) ([2a5d975](2a5d975)) * **avm:** Wrap oracles with unconstrained fns ([#6421](#6421)) ([3e7e094](3e7e094)) * Bump earthly ([#6419](#6419)) ([3d78751](3d78751)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6462](#6462)) ([26eac62](26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6495](#6495)) ([90d8092](90d8092)) * Change some error messages for avm switch ([#6447](#6447)) ([74d6519](74d6519)) * **ci:** Better retry defaults ([#6472](#6472)) ([b23f1fd](b23f1fd)) * **ci:** Consistency as external check ([#6460](#6460)) ([6793a75](6793a75)) * **ci:** Dont detach ebs ([#6441](#6441)) ([f933fc0](f933fc0)) * **ci:** Fix on-demand starting ([#6434](#6434)) ([c3efb9c](c3efb9c)) * **ci:** Increase timeouts ([#6426](#6426)) ([44986fe](44986fe)) * **ci:** Only run circleci on master ([#6525](#6525)) ([c75fbd4](c75fbd4)) * **ci:** Push l1-contracts tests off of critical path ([#6400](#6400)) ([ce0ae6d](ce0ae6d)) * **ci:** Reenable arm build ([#6455](#6455)) ([2862767](2862767)) * **ci:** Require setup in merge-check ([#6454](#6454)) ([ad73061](ad73061)) * **ci:** Spot capacity and reaping ([#6561](#6561)) ([8c639b5](8c639b5)) * Clean up kernel types by removing is_static from function_data ([#6557](#6557)) ([83ba29f](83ba29f)) * Cleanup the encrypted log incoming body ([#6325](#6325)) ([e88c209](e88c209)) * Copy subset of constants to cpp ([#6544](#6544)) ([21dc72a](21dc72a)) * Do not rebuild yarn-projects on bench-comment ([#6396](#6396)) ([797115b](797115b)) * **docs:** Adding analytics ([#6350](#6350)) ([6417cd9](6417cd9)) * **docs:** Restructure improvs ([#6502](#6502)) ([c3b573e](c3b573e)) * Fix linter issues in AVM ([#6057](#6057)) ([c2e72b1](c2e72b1)) * Fix logs upload to S3 ([#6401](#6401)) ([9df0602](9df0602)) * Fix migration notes ([#6458](#6458)) ([bee85a9](bee85a9)) * Fix migration notes ([#6551](#6551)) ([89bc350](89bc350)) * Fix notes 0.41.0 ([#6461](#6461)) ([04b0ec5](04b0ec5)) * Fix poor performance and long compile times in value_note.derement() ([#6523](#6523)) ([002b4aa](002b4aa)) * Fix tester image copy pattern ([#6438](#6438)) ([b892eae](b892eae)) * Get_nullifier_keys cleanup ([#6451](#6451)) ([8a71fd5](8a71fd5)) * Lower max public bytecode to 20k ([#6477](#6477)) ([ce192f0](ce192f0)) * Move `UPLOAD_LOGS` into root earthfile ([#6424](#6424)) ([d723da9](d723da9)) * Nuking `KeyStore` and `KeyPair` interfaces ([#6553](#6553)) ([23e0518](23e0518)) * Parameterise cycle_group by `Builder` rather than `Composer` ([#6565](#6565)) ([ea36bf9](ea36bf9)) * Prefetch noir deps in earthly for caching ([#6556](#6556)) ([8ee9060](8ee9060)) * Private call validation ([#6510](#6510)) ([07dc072](07dc072)) * Purge secret and open keywords ([#6501](#6501)) ([f9c74c4](f9c74c4)), closes [#5538](#5538) * Recommend Noir and rust plugin ([#6558](#6558)) ([298561f](298561f)) * Refactor key rotate and address comments from 6405 ([#6450](#6450)) ([6f3dab8](6f3dab8)) * Remove acvmInfo from bb.js CLI ([#6507](#6507)) ([e298c76](e298c76)) * Remove backend interactions from `nargo` ([#6320](#6320)) ([7a31896](7a31896)) * Replace relative paths to noir-protocol-circuits ([94ab877](94ab877)) * Replace relative paths to noir-protocol-circuits ([9f04bfe](9f04bfe)) * Replace relative paths to noir-protocol-circuits ([67f29e5](67f29e5)) * Replace relative paths to noir-protocol-circuits ([a7a4b86](a7a4b86)) * Replace relative paths to noir-protocol-circuits ([c6f61a4](c6f61a4)) * Share decider with ultra_prover ([#5467](#5467)) ([b3b7376](b3b7376)) * Switch over to constructing gates report in bash ([#6491](#6491)) ([1fa5963](1fa5963)) * **tests:** Change error messages in preparation for AVM ([#6422](#6422)) ([6616dc6](6616dc6)) ### Documentation * Sumcheck documentation ([#5841](#5841)) ([116eef0](116eef0)) * Updating key docs in concepts section ([#6387](#6387)) ([921a7f4](921a7f4)) </details> <details><summary>barretenberg: 0.41.0</summary> ## [0.41.0](barretenberg-v0.40.1...barretenberg-v0.41.0) (2024-05-21) ### ⚠ BREAKING CHANGES * add is_infinite to curve addition opcode ([#6384](#6384)) ### Features * Add is_infinite to curve addition opcode ([#6384](#6384)) ([75d81c5](75d81c5)) * **avm-simulator:** Cap gas for external calls ([#6479](#6479)) ([c8771ba](c8771ba)) * **avm:** Gzip avm bytecode ([#6475](#6475)) ([29559bd](29559bd)) * **avm:** To_radix gadget ([#6368](#6368)) ([89dd25f](89dd25f)) * Full encryption and decryption of log in ts ([#6348](#6348)) ([0ac83dc](0ac83dc)) * Improved ClientIvc ([#6429](#6429)) ([f360b3f](f360b3f)) * Laying out a new recursion constraint for honk ([#6489](#6489)) ([af9fea4](af9fea4)) * Remove total logs len from pre tail kernels + add to L1 ([#6466](#6466)) ([66a2d43](66a2d43)) * Run benchmarks for ACIR proving ([#6155](#6155)) ([ebf6fc2](ebf6fc2)) * Squash transient note logs ([#6268](#6268)) ([4574877](4574877)) * Sum transaction fees and pay on l1 ([#6522](#6522)) ([bf441da](bf441da)) * Translator recursive verifier ([#6327](#6327)) ([9321aef](9321aef)) * View functions with static context enforcing ([#6338](#6338)) ([22ad5a5](22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([#6406](#6406)) ([a6100ad](a6100ad)) ### Bug Fixes * Disable buggy ClientIVC tests ([#6546](#6546)) ([b61dea3](b61dea3)) * Increase N_max in Zeromorph ([#6415](#6415)) ([9e643b4](9e643b4)) ### Miscellaneous * Add c++ tests for generator derivation ([#6528](#6528)) ([72931bd](72931bd)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6462](#6462)) ([26eac62](26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6495](#6495)) ([90d8092](90d8092)) * Copy subset of constants to cpp ([#6544](#6544)) ([21dc72a](21dc72a)) * Lower max public bytecode to 20k ([#6477](#6477)) ([ce192f0](ce192f0)) * Parameterise cycle_group by `Builder` rather than `Composer` ([#6565](#6565)) ([ea36bf9](ea36bf9)) * Private call validation ([#6510](#6510)) ([07dc072](07dc072)) * Share decider with ultra_prover ([#5467](#5467)) ([b3b7376](b3b7376)) ### Documentation * Sumcheck documentation ([#5841](#5841)) ([116eef0](116eef0)) </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.41.0</summary> ## [0.41.0](AztecProtocol/aztec-packages@aztec-package-v0.40.1...aztec-package-v0.41.0) (2024-05-21) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.41.0</summary> ## [0.41.0](AztecProtocol/aztec-packages@barretenberg.js-v0.40.1...barretenberg.js-v0.41.0) (2024-05-21) ### Features * Vk_as_fields, proof_as_fields flows for honk ([#6406](AztecProtocol/aztec-packages#6406)) ([a6100ad](AztecProtocol/aztec-packages@a6100ad)) ### Miscellaneous * Remove acvmInfo from bb.js CLI ([#6507](AztecProtocol/aztec-packages#6507)) ([e298c76](AztecProtocol/aztec-packages@e298c76)) </details> <details><summary>aztec-packages: 0.41.0</summary> ## [0.41.0](AztecProtocol/aztec-packages@aztec-packages-v0.40.1...aztec-packages-v0.41.0) (2024-05-21) ### ⚠ BREAKING CHANGES * compile-time incorrect exec environment errors ([#6442](AztecProtocol/aztec-packages#6442)) * add is_infinite to curve addition opcode ([#6384](AztecProtocol/aztec-packages#6384)) * remove backend interactions from `nargo` ([#6320](AztecProtocol/aztec-packages#6320)) ### Features * `npk_m_hash` in all notes + key rotation test ([#6405](AztecProtocol/aztec-packages#6405)) ([74e98d4](AztecProtocol/aztec-packages@74e98d4)) * Add encrypted log outgoing body ([#6334](AztecProtocol/aztec-packages#6334)) ([fa9f442](AztecProtocol/aztec-packages@fa9f442)) * Add first version of kernel reset circuit ([#6393](AztecProtocol/aztec-packages#6393)) ([ed6df8e](AztecProtocol/aztec-packages@ed6df8e)) * Add is_infinite to curve addition opcode ([#6384](AztecProtocol/aztec-packages#6384)) ([75d81c5](AztecProtocol/aztec-packages@75d81c5)) * Add native rust implementations of pedersen functions (noir-lang/noir#4871) ([8bbbbb6](AztecProtocol/aztec-packages@8bbbbb6)) * Add nullifying key to Token Note ([#6130](AztecProtocol/aztec-packages#6130)) ([95c6b4a](AztecProtocol/aztec-packages@95c6b4a)) * Adding autogenerated variants for the reset circuit ([#6508](AztecProtocol/aztec-packages#6508)) ([8e8d2dd](AztecProtocol/aztec-packages@8e8d2dd)) * **avm-simulator:** Cap gas for external calls ([#6479](AztecProtocol/aztec-packages#6479)) ([c8771ba](AztecProtocol/aztec-packages@c8771ba)) * **avm:** Gzip avm bytecode ([#6475](AztecProtocol/aztec-packages#6475)) ([29559bd](AztecProtocol/aztec-packages@29559bd)) * **avm:** To_radix gadget ([#6368](AztecProtocol/aztec-packages#6368)) ([89dd25f](AztecProtocol/aztec-packages@89dd25f)) * Benchmark private proving ([#6409](AztecProtocol/aztec-packages#6409)) ([e9e5526](AztecProtocol/aztec-packages@e9e5526)) * Compile-time incorrect exec environment errors ([#6442](AztecProtocol/aztec-packages#6442)) ([0f75efd](AztecProtocol/aztec-packages@0f75efd)) * Do not return databus returndata, keep it private. (noir-lang/noir#5023) ([26f2197](AztecProtocol/aztec-packages@26f2197)) * **docs:** Authwit how tos ([#6220](AztecProtocol/aztec-packages#6220)) ([78f13d9](AztecProtocol/aztec-packages@78f13d9)) * **docs:** Key rotation / owner -> nullifier key docs ([#6538](AztecProtocol/aztec-packages#6538)) ([2453ba8](AztecProtocol/aztec-packages@2453ba8)) * Full encryption and decryption of log in ts ([#6348](AztecProtocol/aztec-packages#6348)) ([0ac83dc](AztecProtocol/aztec-packages@0ac83dc)) * Generic key validation request ([#6474](AztecProtocol/aztec-packages#6474)) ([948ec38](AztecProtocol/aztec-packages@948ec38)) * Improved ClientIvc ([#6429](AztecProtocol/aztec-packages#6429)) ([f360b3f](AztecProtocol/aztec-packages@f360b3f)) * Laying out a new recursion constraint for honk ([#6489](AztecProtocol/aztec-packages#6489)) ([af9fea4](AztecProtocol/aztec-packages@af9fea4)) * New docs structure ([#6195](AztecProtocol/aztec-packages#6195)) ([9cca814](AztecProtocol/aztec-packages@9cca814)) * Pay out arbitrary fee to coinbase on L1 ([#6436](AztecProtocol/aztec-packages#6436)) ([1b99de8](AztecProtocol/aztec-packages@1b99de8)) * Remove total logs len from pre tail kernels + add to L1 ([#6466](AztecProtocol/aztec-packages#6466)) ([66a2d43](AztecProtocol/aztec-packages@66a2d43)) * Run benchmarks for ACIR proving ([#6155](AztecProtocol/aztec-packages#6155)) ([ebf6fc2](AztecProtocol/aztec-packages@ebf6fc2)) * Squash transient note logs ([#6268](AztecProtocol/aztec-packages#6268)) ([4574877](AztecProtocol/aztec-packages@4574877)) * Sum transaction fees and pay on l1 ([#6522](AztecProtocol/aztec-packages#6522)) ([bf441da](AztecProtocol/aztec-packages@bf441da)) * Translator recursive verifier ([#6327](AztecProtocol/aztec-packages#6327)) ([9321aef](AztecProtocol/aztec-packages@9321aef)) * Update the encrypted note log format ([#6411](AztecProtocol/aztec-packages#6411)) ([e5cc9dc](AztecProtocol/aztec-packages@e5cc9dc)) * Validate counters ([#6365](AztecProtocol/aztec-packages#6365)) ([1f28b3a](AztecProtocol/aztec-packages@1f28b3a)) * View functions with static context enforcing ([#6338](AztecProtocol/aztec-packages#6338)) ([22ad5a5](AztecProtocol/aztec-packages@22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([#6406](AztecProtocol/aztec-packages#6406)) ([a6100ad](AztecProtocol/aztec-packages@a6100ad)) ### Bug Fixes * Arm ci ([#6480](AztecProtocol/aztec-packages#6480)) ([237952e](AztecProtocol/aztec-packages@237952e)) * Asset struct serialization does not match Noir internal serialization ([#6494](AztecProtocol/aztec-packages#6494)) ([9e6a4c3](AztecProtocol/aztec-packages@9e6a4c3)) * **avm-simulator:** Actually wrap oracles ([#6449](AztecProtocol/aztec-packages#6449)) ([8685acc](AztecProtocol/aztec-packages@8685acc)) * **avm-simulator:** Nested calls should preserve static context ([#6414](AztecProtocol/aztec-packages#6414)) ([44d7916](AztecProtocol/aztec-packages@44d7916)) * **avm-simulator:** Pending storage and nullifiers should be accessible in grandchild nested calls ([#6428](AztecProtocol/aztec-packages#6428)) ([84d2e1f](AztecProtocol/aztec-packages@84d2e1f)) * Buggy e2e key registry test setup ([#6496](AztecProtocol/aztec-packages#6496)) ([52d85d1](AztecProtocol/aztec-packages@52d85d1)) * **ci:** ARM ([#6521](AztecProtocol/aztec-packages#6521)) ([d1095f6](AztecProtocol/aztec-packages@d1095f6)) * **ci:** Arm concurrency ([#6564](AztecProtocol/aztec-packages#6564)) ([a265da0](AztecProtocol/aztec-packages@a265da0)) * Disable buggy ClientIVC tests ([#6546](AztecProtocol/aztec-packages#6546)) ([b61dea3](AztecProtocol/aztec-packages@b61dea3)) * Disk attach edge case ([#6430](AztecProtocol/aztec-packages#6430)) ([2366ad3](AztecProtocol/aztec-packages@2366ad3)) * **docs:** Clarify content on portals ([#6431](AztecProtocol/aztec-packages#6431)) ([869df4d](AztecProtocol/aztec-packages@869df4d)) * Don't start multiple runners during RequestLimitExceeded ([#6444](AztecProtocol/aztec-packages#6444)) ([7c4c822](AztecProtocol/aztec-packages@7c4c822)) * Dont start multiple builders ([#6437](AztecProtocol/aztec-packages#6437)) ([d67ab1c](AztecProtocol/aztec-packages@d67ab1c)) * Fix no predicates for brillig with intermediate functions (noir-lang/noir#5015) ([26f2197](AztecProtocol/aztec-packages@26f2197)) * Fixed several vulnerabilities in U128, added some tests (noir-lang/noir#5024) ([26f2197](AztecProtocol/aztec-packages@26f2197)) * Increase N_max in Zeromorph ([#6415](AztecProtocol/aztec-packages#6415)) ([9e643b4](AztecProtocol/aztec-packages@9e643b4)) * Quick fix of [#6405](AztecProtocol/aztec-packages#6405) by removing context from value note utils ([#6509](AztecProtocol/aztec-packages#6509)) ([3a4d828](AztecProtocol/aztec-packages@3a4d828)) * Removed plain from path in array args of contract interfaces ([#6497](AztecProtocol/aztec-packages#6497)) ([2b37729](AztecProtocol/aztec-packages@2b37729)) * Runs-on inconsistency and simplify concurrency keys ([#6433](AztecProtocol/aztec-packages#6433)) ([80674d9](AztecProtocol/aztec-packages@80674d9)) * Spot retry fixup ([#6476](AztecProtocol/aztec-packages#6476)) ([784d784](AztecProtocol/aztec-packages@784d784)) ### Miscellaneous * Add benchmarks for pedersen and schnorr verification (noir-lang/noir#5056) ([8bbbbb6](AztecProtocol/aztec-packages@8bbbbb6)) * Add c++ tests for generator derivation ([#6528](AztecProtocol/aztec-packages#6528)) ([72931bd](AztecProtocol/aztec-packages@72931bd)) * Add script to print lines of code (noir-lang/noir#4991) ([26f2197](AztecProtocol/aztec-packages@26f2197)) * Add some docs on syncing noir ([#6340](AztecProtocol/aztec-packages#6340)) ([bb68fcd](AztecProtocol/aztec-packages@bb68fcd)) * Anvil kill wrapper now supports mac ([#6520](AztecProtocol/aztec-packages#6520)) ([2a5d975](AztecProtocol/aztec-packages@2a5d975)) * **avm:** Wrap oracles with unconstrained fns ([#6421](AztecProtocol/aztec-packages#6421)) ([3e7e094](AztecProtocol/aztec-packages@3e7e094)) * Bump earthly ([#6419](AztecProtocol/aztec-packages#6419)) ([3d78751](AztecProtocol/aztec-packages@3d78751)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6462](AztecProtocol/aztec-packages#6462)) ([26eac62](AztecProtocol/aztec-packages@26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6495](AztecProtocol/aztec-packages#6495)) ([90d8092](AztecProtocol/aztec-packages@90d8092)) * Change some error messages for avm switch ([#6447](AztecProtocol/aztec-packages#6447)) ([74d6519](AztecProtocol/aztec-packages@74d6519)) * **ci:** Better retry defaults ([#6472](AztecProtocol/aztec-packages#6472)) ([b23f1fd](AztecProtocol/aztec-packages@b23f1fd)) * **ci:** Consistency as external check ([#6460](AztecProtocol/aztec-packages#6460)) ([6793a75](AztecProtocol/aztec-packages@6793a75)) * **ci:** Dont detach ebs ([#6441](AztecProtocol/aztec-packages#6441)) ([f933fc0](AztecProtocol/aztec-packages@f933fc0)) * **ci:** Fix on-demand starting ([#6434](AztecProtocol/aztec-packages#6434)) ([c3efb9c](AztecProtocol/aztec-packages@c3efb9c)) * **ci:** Increase timeouts ([#6426](AztecProtocol/aztec-packages#6426)) ([44986fe](AztecProtocol/aztec-packages@44986fe)) * **ci:** Only run circleci on master ([#6525](AztecProtocol/aztec-packages#6525)) ([c75fbd4](AztecProtocol/aztec-packages@c75fbd4)) * **ci:** Push l1-contracts tests off of critical path ([#6400](AztecProtocol/aztec-packages#6400)) ([ce0ae6d](AztecProtocol/aztec-packages@ce0ae6d)) * **ci:** Reenable arm build ([#6455](AztecProtocol/aztec-packages#6455)) ([2862767](AztecProtocol/aztec-packages@2862767)) * **ci:** Require setup in merge-check ([#6454](AztecProtocol/aztec-packages#6454)) ([ad73061](AztecProtocol/aztec-packages@ad73061)) * **ci:** Spot capacity and reaping ([#6561](AztecProtocol/aztec-packages#6561)) ([8c639b5](AztecProtocol/aztec-packages@8c639b5)) * Clean up kernel types by removing is_static from function_data ([#6557](AztecProtocol/aztec-packages#6557)) ([83ba29f](AztecProtocol/aztec-packages@83ba29f)) * Cleanup the encrypted log incoming body ([#6325](AztecProtocol/aztec-packages#6325)) ([e88c209](AztecProtocol/aztec-packages@e88c209)) * Copy subset of constants to cpp ([#6544](AztecProtocol/aztec-packages#6544)) ([21dc72a](AztecProtocol/aztec-packages@21dc72a)) * Do not rebuild yarn-projects on bench-comment ([#6396](AztecProtocol/aztec-packages#6396)) ([797115b](AztecProtocol/aztec-packages@797115b)) * **docs:** Adding analytics ([#6350](AztecProtocol/aztec-packages#6350)) ([6417cd9](AztecProtocol/aztec-packages@6417cd9)) * **docs:** Restructure improvs ([#6502](AztecProtocol/aztec-packages#6502)) ([c3b573e](AztecProtocol/aztec-packages@c3b573e)) * Fix linter issues in AVM ([#6057](AztecProtocol/aztec-packages#6057)) ([c2e72b1](AztecProtocol/aztec-packages@c2e72b1)) * Fix logs upload to S3 ([#6401](AztecProtocol/aztec-packages#6401)) ([9df0602](AztecProtocol/aztec-packages@9df0602)) * Fix migration notes ([#6458](AztecProtocol/aztec-packages#6458)) ([bee85a9](AztecProtocol/aztec-packages@bee85a9)) * Fix migration notes ([#6551](AztecProtocol/aztec-packages#6551)) ([89bc350](AztecProtocol/aztec-packages@89bc350)) * Fix notes 0.41.0 ([#6461](AztecProtocol/aztec-packages#6461)) ([04b0ec5](AztecProtocol/aztec-packages@04b0ec5)) * Fix poor performance and long compile times in value_note.derement() ([#6523](AztecProtocol/aztec-packages#6523)) ([002b4aa](AztecProtocol/aztec-packages@002b4aa)) * Fix tester image copy pattern ([#6438](AztecProtocol/aztec-packages#6438)) ([b892eae](AztecProtocol/aztec-packages@b892eae)) * Get_nullifier_keys cleanup ([#6451](AztecProtocol/aztec-packages#6451)) ([8a71fd5](AztecProtocol/aztec-packages@8a71fd5)) * Lower max public bytecode to 20k ([#6477](AztecProtocol/aztec-packages#6477)) ([ce192f0](AztecProtocol/aztec-packages@ce192f0)) * Move `UPLOAD_LOGS` into root earthfile ([#6424](AztecProtocol/aztec-packages#6424)) ([d723da9](AztecProtocol/aztec-packages@d723da9)) * Nuking `KeyStore` and `KeyPair` interfaces ([#6553](AztecProtocol/aztec-packages#6553)) ([23e0518](AztecProtocol/aztec-packages@23e0518)) * Parameterise cycle_group by `Builder` rather than `Composer` ([#6565](AztecProtocol/aztec-packages#6565)) ([ea36bf9](AztecProtocol/aztec-packages@ea36bf9)) * Prefetch noir deps in earthly for caching ([#6556](AztecProtocol/aztec-packages#6556)) ([8ee9060](AztecProtocol/aztec-packages@8ee9060)) * Private call validation ([#6510](AztecProtocol/aztec-packages#6510)) ([07dc072](AztecProtocol/aztec-packages@07dc072)) * Purge secret and open keywords ([#6501](AztecProtocol/aztec-packages#6501)) ([f9c74c4](AztecProtocol/aztec-packages@f9c74c4)), closes [#5538](AztecProtocol/aztec-packages#5538) * Recommend Noir and rust plugin ([#6558](AztecProtocol/aztec-packages#6558)) ([298561f](AztecProtocol/aztec-packages@298561f)) * Refactor key rotate and address comments from 6405 ([#6450](AztecProtocol/aztec-packages#6450)) ([6f3dab8](AztecProtocol/aztec-packages@6f3dab8)) * Remove acvmInfo from bb.js CLI ([#6507](AztecProtocol/aztec-packages#6507)) ([e298c76](AztecProtocol/aztec-packages@e298c76)) * Remove backend interactions from `nargo` ([#6320](AztecProtocol/aztec-packages#6320)) ([7a31896](AztecProtocol/aztec-packages@7a31896)) * Replace relative paths to noir-protocol-circuits ([94ab877](AztecProtocol/aztec-packages@94ab877)) * Replace relative paths to noir-protocol-circuits ([9f04bfe](AztecProtocol/aztec-packages@9f04bfe)) * Replace relative paths to noir-protocol-circuits ([67f29e5](AztecProtocol/aztec-packages@67f29e5)) * Replace relative paths to noir-protocol-circuits ([a7a4b86](AztecProtocol/aztec-packages@a7a4b86)) * Replace relative paths to noir-protocol-circuits ([c6f61a4](AztecProtocol/aztec-packages@c6f61a4)) * Share decider with ultra_prover ([#5467](AztecProtocol/aztec-packages#5467)) ([b3b7376](AztecProtocol/aztec-packages@b3b7376)) * Switch over to constructing gates report in bash ([#6491](AztecProtocol/aztec-packages#6491)) ([1fa5963](AztecProtocol/aztec-packages@1fa5963)) * **tests:** Change error messages in preparation for AVM ([#6422](AztecProtocol/aztec-packages#6422)) ([6616dc6](AztecProtocol/aztec-packages@6616dc6)) ### Documentation * Sumcheck documentation ([#5841](AztecProtocol/aztec-packages#5841)) ([116eef0](AztecProtocol/aztec-packages@116eef0)) * Updating key docs in concepts section ([#6387](AztecProtocol/aztec-packages#6387)) ([921a7f4](AztecProtocol/aztec-packages@921a7f4)) </details> <details><summary>barretenberg: 0.41.0</summary> ## [0.41.0](AztecProtocol/aztec-packages@barretenberg-v0.40.1...barretenberg-v0.41.0) (2024-05-21) ### ⚠ BREAKING CHANGES * add is_infinite to curve addition opcode ([#6384](AztecProtocol/aztec-packages#6384)) ### Features * Add is_infinite to curve addition opcode ([#6384](AztecProtocol/aztec-packages#6384)) ([75d81c5](AztecProtocol/aztec-packages@75d81c5)) * **avm-simulator:** Cap gas for external calls ([#6479](AztecProtocol/aztec-packages#6479)) ([c8771ba](AztecProtocol/aztec-packages@c8771ba)) * **avm:** Gzip avm bytecode ([#6475](AztecProtocol/aztec-packages#6475)) ([29559bd](AztecProtocol/aztec-packages@29559bd)) * **avm:** To_radix gadget ([#6368](AztecProtocol/aztec-packages#6368)) ([89dd25f](AztecProtocol/aztec-packages@89dd25f)) * Full encryption and decryption of log in ts ([#6348](AztecProtocol/aztec-packages#6348)) ([0ac83dc](AztecProtocol/aztec-packages@0ac83dc)) * Improved ClientIvc ([#6429](AztecProtocol/aztec-packages#6429)) ([f360b3f](AztecProtocol/aztec-packages@f360b3f)) * Laying out a new recursion constraint for honk ([#6489](AztecProtocol/aztec-packages#6489)) ([af9fea4](AztecProtocol/aztec-packages@af9fea4)) * Remove total logs len from pre tail kernels + add to L1 ([#6466](AztecProtocol/aztec-packages#6466)) ([66a2d43](AztecProtocol/aztec-packages@66a2d43)) * Run benchmarks for ACIR proving ([#6155](AztecProtocol/aztec-packages#6155)) ([ebf6fc2](AztecProtocol/aztec-packages@ebf6fc2)) * Squash transient note logs ([#6268](AztecProtocol/aztec-packages#6268)) ([4574877](AztecProtocol/aztec-packages@4574877)) * Sum transaction fees and pay on l1 ([#6522](AztecProtocol/aztec-packages#6522)) ([bf441da](AztecProtocol/aztec-packages@bf441da)) * Translator recursive verifier ([#6327](AztecProtocol/aztec-packages#6327)) ([9321aef](AztecProtocol/aztec-packages@9321aef)) * View functions with static context enforcing ([#6338](AztecProtocol/aztec-packages#6338)) ([22ad5a5](AztecProtocol/aztec-packages@22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([#6406](AztecProtocol/aztec-packages#6406)) ([a6100ad](AztecProtocol/aztec-packages@a6100ad)) ### Bug Fixes * Disable buggy ClientIVC tests ([#6546](AztecProtocol/aztec-packages#6546)) ([b61dea3](AztecProtocol/aztec-packages@b61dea3)) * Increase N_max in Zeromorph ([#6415](AztecProtocol/aztec-packages#6415)) ([9e643b4](AztecProtocol/aztec-packages@9e643b4)) ### Miscellaneous * Add c++ tests for generator derivation ([#6528](AztecProtocol/aztec-packages#6528)) ([72931bd](AztecProtocol/aztec-packages@72931bd)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6462](AztecProtocol/aztec-packages#6462)) ([26eac62](AztecProtocol/aztec-packages@26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([#6495](AztecProtocol/aztec-packages#6495)) ([90d8092](AztecProtocol/aztec-packages@90d8092)) * Copy subset of constants to cpp ([#6544](AztecProtocol/aztec-packages#6544)) ([21dc72a](AztecProtocol/aztec-packages@21dc72a)) * Lower max public bytecode to 20k ([#6477](AztecProtocol/aztec-packages#6477)) ([ce192f0](AztecProtocol/aztec-packages@ce192f0)) * Parameterise cycle_group by `Builder` rather than `Composer` ([#6565](AztecProtocol/aztec-packages#6565)) ([ea36bf9](AztecProtocol/aztec-packages@ea36bf9)) * Private call validation ([#6510](AztecProtocol/aztec-packages#6510)) ([07dc072](AztecProtocol/aztec-packages@07dc072)) * Share decider with ultra_prover ([#5467](AztecProtocol/aztec-packages#5467)) ([b3b7376](AztecProtocol/aztec-packages@b3b7376)) ### Documentation * Sumcheck documentation ([#5841](AztecProtocol/aztec-packages#5841)) ([116eef0](AztecProtocol/aztec-packages@116eef0)) </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.41.0</summary> [0.41.0](AztecProtocol/aztec-packages@aztec-package-v0.40.1...aztec-package-v0.41.0) (2024-05-21) * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.41.0</summary> [0.41.0](AztecProtocol/aztec-packages@barretenberg.js-v0.40.1...barretenberg.js-v0.41.0) (2024-05-21) * Vk_as_fields, proof_as_fields flows for honk ([AztecProtocol#6406](AztecProtocol#6406)) ([a6100ad](AztecProtocol@a6100ad)) * Remove acvmInfo from bb.js CLI ([AztecProtocol#6507](AztecProtocol#6507)) ([e298c76](AztecProtocol@e298c76)) </details> <details><summary>aztec-packages: 0.41.0</summary> [0.41.0](AztecProtocol/aztec-packages@aztec-packages-v0.40.1...aztec-packages-v0.41.0) (2024-05-21) * compile-time incorrect exec environment errors ([AztecProtocol#6442](AztecProtocol#6442)) * add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) * remove backend interactions from `nargo` ([AztecProtocol#6320](AztecProtocol#6320)) * `npk_m_hash` in all notes + key rotation test ([AztecProtocol#6405](AztecProtocol#6405)) ([74e98d4](AztecProtocol@74e98d4)) * Add encrypted log outgoing body ([AztecProtocol#6334](AztecProtocol#6334)) ([fa9f442](AztecProtocol@fa9f442)) * Add first version of kernel reset circuit ([AztecProtocol#6393](AztecProtocol#6393)) ([ed6df8e](AztecProtocol@ed6df8e)) * Add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) ([75d81c5](AztecProtocol@75d81c5)) * Add native rust implementations of pedersen functions (noir-lang/noir#4871) ([8bbbbb6](AztecProtocol@8bbbbb6)) * Add nullifying key to Token Note ([AztecProtocol#6130](AztecProtocol#6130)) ([95c6b4a](AztecProtocol@95c6b4a)) * Adding autogenerated variants for the reset circuit ([AztecProtocol#6508](AztecProtocol#6508)) ([8e8d2dd](AztecProtocol@8e8d2dd)) * **avm-simulator:** Cap gas for external calls ([AztecProtocol#6479](AztecProtocol#6479)) ([c8771ba](AztecProtocol@c8771ba)) * **avm:** Gzip avm bytecode ([AztecProtocol#6475](AztecProtocol#6475)) ([29559bd](AztecProtocol@29559bd)) * **avm:** To_radix gadget ([AztecProtocol#6368](AztecProtocol#6368)) ([89dd25f](AztecProtocol@89dd25f)) * Benchmark private proving ([AztecProtocol#6409](AztecProtocol#6409)) ([e9e5526](AztecProtocol@e9e5526)) * Compile-time incorrect exec environment errors ([AztecProtocol#6442](AztecProtocol#6442)) ([0f75efd](AztecProtocol@0f75efd)) * Do not return databus returndata, keep it private. (noir-lang/noir#5023) ([26f2197](AztecProtocol@26f2197)) * **docs:** Authwit how tos ([AztecProtocol#6220](AztecProtocol#6220)) ([78f13d9](AztecProtocol@78f13d9)) * **docs:** Key rotation / owner -> nullifier key docs ([AztecProtocol#6538](AztecProtocol#6538)) ([2453ba8](AztecProtocol@2453ba8)) * Full encryption and decryption of log in ts ([AztecProtocol#6348](AztecProtocol#6348)) ([0ac83dc](AztecProtocol@0ac83dc)) * Generic key validation request ([AztecProtocol#6474](AztecProtocol#6474)) ([948ec38](AztecProtocol@948ec38)) * Improved ClientIvc ([AztecProtocol#6429](AztecProtocol#6429)) ([f360b3f](AztecProtocol@f360b3f)) * Laying out a new recursion constraint for honk ([AztecProtocol#6489](AztecProtocol#6489)) ([af9fea4](AztecProtocol@af9fea4)) * New docs structure ([AztecProtocol#6195](AztecProtocol#6195)) ([9cca814](AztecProtocol@9cca814)) * Pay out arbitrary fee to coinbase on L1 ([AztecProtocol#6436](AztecProtocol#6436)) ([1b99de8](AztecProtocol@1b99de8)) * Remove total logs len from pre tail kernels + add to L1 ([AztecProtocol#6466](AztecProtocol#6466)) ([66a2d43](AztecProtocol@66a2d43)) * Run benchmarks for ACIR proving ([AztecProtocol#6155](AztecProtocol#6155)) ([ebf6fc2](AztecProtocol@ebf6fc2)) * Squash transient note logs ([AztecProtocol#6268](AztecProtocol#6268)) ([4574877](AztecProtocol@4574877)) * Sum transaction fees and pay on l1 ([AztecProtocol#6522](AztecProtocol#6522)) ([bf441da](AztecProtocol@bf441da)) * Translator recursive verifier ([AztecProtocol#6327](AztecProtocol#6327)) ([9321aef](AztecProtocol@9321aef)) * Update the encrypted note log format ([AztecProtocol#6411](AztecProtocol#6411)) ([e5cc9dc](AztecProtocol@e5cc9dc)) * Validate counters ([AztecProtocol#6365](AztecProtocol#6365)) ([1f28b3a](AztecProtocol@1f28b3a)) * View functions with static context enforcing ([AztecProtocol#6338](AztecProtocol#6338)) ([22ad5a5](AztecProtocol@22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([AztecProtocol#6406](AztecProtocol#6406)) ([a6100ad](AztecProtocol@a6100ad)) * Arm ci ([AztecProtocol#6480](AztecProtocol#6480)) ([237952e](AztecProtocol@237952e)) * Asset struct serialization does not match Noir internal serialization ([AztecProtocol#6494](AztecProtocol#6494)) ([9e6a4c3](AztecProtocol@9e6a4c3)) * **avm-simulator:** Actually wrap oracles ([AztecProtocol#6449](AztecProtocol#6449)) ([8685acc](AztecProtocol@8685acc)) * **avm-simulator:** Nested calls should preserve static context ([AztecProtocol#6414](AztecProtocol#6414)) ([44d7916](AztecProtocol@44d7916)) * **avm-simulator:** Pending storage and nullifiers should be accessible in grandchild nested calls ([AztecProtocol#6428](AztecProtocol#6428)) ([84d2e1f](AztecProtocol@84d2e1f)) * Buggy e2e key registry test setup ([AztecProtocol#6496](AztecProtocol#6496)) ([52d85d1](AztecProtocol@52d85d1)) * **ci:** ARM ([AztecProtocol#6521](AztecProtocol#6521)) ([d1095f6](AztecProtocol@d1095f6)) * **ci:** Arm concurrency ([AztecProtocol#6564](AztecProtocol#6564)) ([a265da0](AztecProtocol@a265da0)) * Disable buggy ClientIVC tests ([AztecProtocol#6546](AztecProtocol#6546)) ([b61dea3](AztecProtocol@b61dea3)) * Disk attach edge case ([AztecProtocol#6430](AztecProtocol#6430)) ([2366ad3](AztecProtocol@2366ad3)) * **docs:** Clarify content on portals ([AztecProtocol#6431](AztecProtocol#6431)) ([869df4d](AztecProtocol@869df4d)) * Don't start multiple runners during RequestLimitExceeded ([AztecProtocol#6444](AztecProtocol#6444)) ([7c4c822](AztecProtocol@7c4c822)) * Dont start multiple builders ([AztecProtocol#6437](AztecProtocol#6437)) ([d67ab1c](AztecProtocol@d67ab1c)) * Fix no predicates for brillig with intermediate functions (noir-lang/noir#5015) ([26f2197](AztecProtocol@26f2197)) * Fixed several vulnerabilities in U128, added some tests (noir-lang/noir#5024) ([26f2197](AztecProtocol@26f2197)) * Increase N_max in Zeromorph ([AztecProtocol#6415](AztecProtocol#6415)) ([9e643b4](AztecProtocol@9e643b4)) * Quick fix of [AztecProtocol#6405](AztecProtocol#6405) by removing context from value note utils ([AztecProtocol#6509](AztecProtocol#6509)) ([3a4d828](AztecProtocol@3a4d828)) * Removed plain from path in array args of contract interfaces ([AztecProtocol#6497](AztecProtocol#6497)) ([2b37729](AztecProtocol@2b37729)) * Runs-on inconsistency and simplify concurrency keys ([AztecProtocol#6433](AztecProtocol#6433)) ([80674d9](AztecProtocol@80674d9)) * Spot retry fixup ([AztecProtocol#6476](AztecProtocol#6476)) ([784d784](AztecProtocol@784d784)) * Add benchmarks for pedersen and schnorr verification (noir-lang/noir#5056) ([8bbbbb6](AztecProtocol@8bbbbb6)) * Add c++ tests for generator derivation ([AztecProtocol#6528](AztecProtocol#6528)) ([72931bd](AztecProtocol@72931bd)) * Add script to print lines of code (noir-lang/noir#4991) ([26f2197](AztecProtocol@26f2197)) * Add some docs on syncing noir ([AztecProtocol#6340](AztecProtocol#6340)) ([bb68fcd](AztecProtocol@bb68fcd)) * Anvil kill wrapper now supports mac ([AztecProtocol#6520](AztecProtocol#6520)) ([2a5d975](AztecProtocol@2a5d975)) * **avm:** Wrap oracles with unconstrained fns ([AztecProtocol#6421](AztecProtocol#6421)) ([3e7e094](AztecProtocol@3e7e094)) * Bump earthly ([AztecProtocol#6419](AztecProtocol#6419)) ([3d78751](AztecProtocol@3d78751)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6462](AztecProtocol#6462)) ([26eac62](AztecProtocol@26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6495](AztecProtocol#6495)) ([90d8092](AztecProtocol@90d8092)) * Change some error messages for avm switch ([AztecProtocol#6447](AztecProtocol#6447)) ([74d6519](AztecProtocol@74d6519)) * **ci:** Better retry defaults ([AztecProtocol#6472](AztecProtocol#6472)) ([b23f1fd](AztecProtocol@b23f1fd)) * **ci:** Consistency as external check ([AztecProtocol#6460](AztecProtocol#6460)) ([6793a75](AztecProtocol@6793a75)) * **ci:** Dont detach ebs ([AztecProtocol#6441](AztecProtocol#6441)) ([f933fc0](AztecProtocol@f933fc0)) * **ci:** Fix on-demand starting ([AztecProtocol#6434](AztecProtocol#6434)) ([c3efb9c](AztecProtocol@c3efb9c)) * **ci:** Increase timeouts ([AztecProtocol#6426](AztecProtocol#6426)) ([44986fe](AztecProtocol@44986fe)) * **ci:** Only run circleci on master ([AztecProtocol#6525](AztecProtocol#6525)) ([c75fbd4](AztecProtocol@c75fbd4)) * **ci:** Push l1-contracts tests off of critical path ([AztecProtocol#6400](AztecProtocol#6400)) ([ce0ae6d](AztecProtocol@ce0ae6d)) * **ci:** Reenable arm build ([AztecProtocol#6455](AztecProtocol#6455)) ([2862767](AztecProtocol@2862767)) * **ci:** Require setup in merge-check ([AztecProtocol#6454](AztecProtocol#6454)) ([ad73061](AztecProtocol@ad73061)) * **ci:** Spot capacity and reaping ([AztecProtocol#6561](AztecProtocol#6561)) ([8c639b5](AztecProtocol@8c639b5)) * Clean up kernel types by removing is_static from function_data ([AztecProtocol#6557](AztecProtocol#6557)) ([83ba29f](AztecProtocol@83ba29f)) * Cleanup the encrypted log incoming body ([AztecProtocol#6325](AztecProtocol#6325)) ([e88c209](AztecProtocol@e88c209)) * Copy subset of constants to cpp ([AztecProtocol#6544](AztecProtocol#6544)) ([21dc72a](AztecProtocol@21dc72a)) * Do not rebuild yarn-projects on bench-comment ([AztecProtocol#6396](AztecProtocol#6396)) ([797115b](AztecProtocol@797115b)) * **docs:** Adding analytics ([AztecProtocol#6350](AztecProtocol#6350)) ([6417cd9](AztecProtocol@6417cd9)) * **docs:** Restructure improvs ([AztecProtocol#6502](AztecProtocol#6502)) ([c3b573e](AztecProtocol@c3b573e)) * Fix linter issues in AVM ([AztecProtocol#6057](AztecProtocol#6057)) ([c2e72b1](AztecProtocol@c2e72b1)) * Fix logs upload to S3 ([AztecProtocol#6401](AztecProtocol#6401)) ([9df0602](AztecProtocol@9df0602)) * Fix migration notes ([AztecProtocol#6458](AztecProtocol#6458)) ([bee85a9](AztecProtocol@bee85a9)) * Fix migration notes ([AztecProtocol#6551](AztecProtocol#6551)) ([89bc350](AztecProtocol@89bc350)) * Fix notes 0.41.0 ([AztecProtocol#6461](AztecProtocol#6461)) ([04b0ec5](AztecProtocol@04b0ec5)) * Fix poor performance and long compile times in value_note.derement() ([AztecProtocol#6523](AztecProtocol#6523)) ([002b4aa](AztecProtocol@002b4aa)) * Fix tester image copy pattern ([AztecProtocol#6438](AztecProtocol#6438)) ([b892eae](AztecProtocol@b892eae)) * Get_nullifier_keys cleanup ([AztecProtocol#6451](AztecProtocol#6451)) ([8a71fd5](AztecProtocol@8a71fd5)) * Lower max public bytecode to 20k ([AztecProtocol#6477](AztecProtocol#6477)) ([ce192f0](AztecProtocol@ce192f0)) * Move `UPLOAD_LOGS` into root earthfile ([AztecProtocol#6424](AztecProtocol#6424)) ([d723da9](AztecProtocol@d723da9)) * Nuking `KeyStore` and `KeyPair` interfaces ([AztecProtocol#6553](AztecProtocol#6553)) ([23e0518](AztecProtocol@23e0518)) * Parameterise cycle_group by `Builder` rather than `Composer` ([AztecProtocol#6565](AztecProtocol#6565)) ([ea36bf9](AztecProtocol@ea36bf9)) * Prefetch noir deps in earthly for caching ([AztecProtocol#6556](AztecProtocol#6556)) ([8ee9060](AztecProtocol@8ee9060)) * Private call validation ([AztecProtocol#6510](AztecProtocol#6510)) ([07dc072](AztecProtocol@07dc072)) * Purge secret and open keywords ([AztecProtocol#6501](AztecProtocol#6501)) ([f9c74c4](AztecProtocol@f9c74c4)), closes [AztecProtocol#5538](AztecProtocol#5538) * Recommend Noir and rust plugin ([AztecProtocol#6558](AztecProtocol#6558)) ([298561f](AztecProtocol@298561f)) * Refactor key rotate and address comments from 6405 ([AztecProtocol#6450](AztecProtocol#6450)) ([6f3dab8](AztecProtocol@6f3dab8)) * Remove acvmInfo from bb.js CLI ([AztecProtocol#6507](AztecProtocol#6507)) ([e298c76](AztecProtocol@e298c76)) * Remove backend interactions from `nargo` ([AztecProtocol#6320](AztecProtocol#6320)) ([7a31896](AztecProtocol@7a31896)) * Replace relative paths to noir-protocol-circuits ([94ab877](AztecProtocol@94ab877)) * Replace relative paths to noir-protocol-circuits ([9f04bfe](AztecProtocol@9f04bfe)) * Replace relative paths to noir-protocol-circuits ([67f29e5](AztecProtocol@67f29e5)) * Replace relative paths to noir-protocol-circuits ([a7a4b86](AztecProtocol@a7a4b86)) * Replace relative paths to noir-protocol-circuits ([c6f61a4](AztecProtocol@c6f61a4)) * Share decider with ultra_prover ([AztecProtocol#5467](AztecProtocol#5467)) ([b3b7376](AztecProtocol@b3b7376)) * Switch over to constructing gates report in bash ([AztecProtocol#6491](AztecProtocol#6491)) ([1fa5963](AztecProtocol@1fa5963)) * **tests:** Change error messages in preparation for AVM ([AztecProtocol#6422](AztecProtocol#6422)) ([6616dc6](AztecProtocol@6616dc6)) * Sumcheck documentation ([AztecProtocol#5841](AztecProtocol#5841)) ([116eef0](AztecProtocol@116eef0)) * Updating key docs in concepts section ([AztecProtocol#6387](AztecProtocol#6387)) ([921a7f4](AztecProtocol@921a7f4)) </details> <details><summary>barretenberg: 0.41.0</summary> [0.41.0](AztecProtocol/aztec-packages@barretenberg-v0.40.1...barretenberg-v0.41.0) (2024-05-21) * add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) * Add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) ([75d81c5](AztecProtocol@75d81c5)) * **avm-simulator:** Cap gas for external calls ([AztecProtocol#6479](AztecProtocol#6479)) ([c8771ba](AztecProtocol@c8771ba)) * **avm:** Gzip avm bytecode ([AztecProtocol#6475](AztecProtocol#6475)) ([29559bd](AztecProtocol@29559bd)) * **avm:** To_radix gadget ([AztecProtocol#6368](AztecProtocol#6368)) ([89dd25f](AztecProtocol@89dd25f)) * Full encryption and decryption of log in ts ([AztecProtocol#6348](AztecProtocol#6348)) ([0ac83dc](AztecProtocol@0ac83dc)) * Improved ClientIvc ([AztecProtocol#6429](AztecProtocol#6429)) ([f360b3f](AztecProtocol@f360b3f)) * Laying out a new recursion constraint for honk ([AztecProtocol#6489](AztecProtocol#6489)) ([af9fea4](AztecProtocol@af9fea4)) * Remove total logs len from pre tail kernels + add to L1 ([AztecProtocol#6466](AztecProtocol#6466)) ([66a2d43](AztecProtocol@66a2d43)) * Run benchmarks for ACIR proving ([AztecProtocol#6155](AztecProtocol#6155)) ([ebf6fc2](AztecProtocol@ebf6fc2)) * Squash transient note logs ([AztecProtocol#6268](AztecProtocol#6268)) ([4574877](AztecProtocol@4574877)) * Sum transaction fees and pay on l1 ([AztecProtocol#6522](AztecProtocol#6522)) ([bf441da](AztecProtocol@bf441da)) * Translator recursive verifier ([AztecProtocol#6327](AztecProtocol#6327)) ([9321aef](AztecProtocol@9321aef)) * View functions with static context enforcing ([AztecProtocol#6338](AztecProtocol#6338)) ([22ad5a5](AztecProtocol@22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([AztecProtocol#6406](AztecProtocol#6406)) ([a6100ad](AztecProtocol@a6100ad)) * Disable buggy ClientIVC tests ([AztecProtocol#6546](AztecProtocol#6546)) ([b61dea3](AztecProtocol@b61dea3)) * Increase N_max in Zeromorph ([AztecProtocol#6415](AztecProtocol#6415)) ([9e643b4](AztecProtocol@9e643b4)) * Add c++ tests for generator derivation ([AztecProtocol#6528](AztecProtocol#6528)) ([72931bd](AztecProtocol@72931bd)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6462](AztecProtocol#6462)) ([26eac62](AztecProtocol@26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6495](AztecProtocol#6495)) ([90d8092](AztecProtocol@90d8092)) * Copy subset of constants to cpp ([AztecProtocol#6544](AztecProtocol#6544)) ([21dc72a](AztecProtocol@21dc72a)) * Lower max public bytecode to 20k ([AztecProtocol#6477](AztecProtocol#6477)) ([ce192f0](AztecProtocol@ce192f0)) * Parameterise cycle_group by `Builder` rather than `Composer` ([AztecProtocol#6565](AztecProtocol#6565)) ([ea36bf9](AztecProtocol@ea36bf9)) * Private call validation ([AztecProtocol#6510](AztecProtocol#6510)) ([07dc072](AztecProtocol@07dc072)) * Share decider with ultra_prover ([AztecProtocol#5467](AztecProtocol#5467)) ([b3b7376](AztecProtocol@b3b7376)) * Sumcheck documentation ([AztecProtocol#5841](AztecProtocol#5841)) ([116eef0](AztecProtocol@116eef0)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Remove total logs length
Now individual logs lengths are tracked inside the kernels, we can accurately calculate DA gas and don't need the total lengths (
(un)encrypted_log_preimages_length
). This PR removes them.However, we should be checking that logs emitted on L1 are the lengths claimed in the circuits since they originate in untrusted contexts.
Add length check to L1
To allow for this check, total lengths are calculated when converting to
CombinedAccumulatedData
at the 'end' of the tail kernels. In the circuit, these are maintained throughout the rollup stages and included in thetxsEffectHash
.On L1, when we re-calculate the hash, the lengths of the raw logs are accumulated and asserted to match those given in the block. A mismatch suggests that a user may have claimed their log was shorter than reality to try and pay less gas (and the sequencer missed it or is dishonest).
CombinedAccumulatedData
txEffectsHash
and check against raw logs on L1