-
Notifications
You must be signed in to change notification settings - Fork 270
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
refactor: nuking old BlockHeader
#4154
Conversation
Current dependencies on/for this PR:
This stack of pull requests is managed by Graphite. |
11ff97f
to
aec2b1e
Compare
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
56b49fa
to
346f375
Compare
block_header.nr
block_header.nr
BlockHeader
cf55cf5
to
8239c70
Compare
Benchmark resultsNo metrics with a significant change found. Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Values are compared against data from master at commit 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 circuit run across all benchmarks.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contracts are deployed in the tx.
Transaction processing duration by data writes.
|
0090e3c
to
6383c68
Compare
04b39dd
to
1ac16e7
Compare
93ddf9f
to
9aa0a9f
Compare
9aa0a9f
to
19bd066
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have a few comments/questions but solid work, looks really good.
Most of it is comment/questions, but if you address some that was directly on code and simply add a response to the others would be great before merging.
noir/docs/docs/reference/NoirJS/backend_barretenberg/classes/BarretenbergBackend.md
Show resolved
Hide resolved
@@ -157,7 +149,7 @@ export function toACVMPublicInputs(publicInputs: PrivateCircuitPublicInputs): AC | |||
toACVMField(publicInputs.encryptedLogPreimagesLength), | |||
toACVMField(publicInputs.unencryptedLogPreimagesLength), | |||
|
|||
...toACVMBlockHeader(publicInputs.blockHeader), | |||
...toACVMHeader(publicInputs.historicalHeader), |
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.
If I recall, at some point you would like to have publicInputs.historicalHeader.toACVM()
? It this still something you think could be good to have. I think the use of toFieldArray()
is quite nice here, but not sure if that is the target to use that structure generally.
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.
Yes, I had a plan to do it in this issue (might split it to a separate issue now that I think about it).
In general it seems to be a good idea to have all the serialization in the classes themselves so I would probably implement a FieldReader in foundation/serialize (akin to BufferReader) and use that in these types which are passed in the witness.
yarn-project/acir-simulator/src/client/client_execution_context.ts
Outdated
Show resolved
Hide resolved
@@ -51,6 +51,9 @@ Destroys the backend | |||
generateFinalProof(decompressedWitness): Promise<ProofData> |
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.
The changes to this file were made by bootstrap after rebase.
@@ -157,7 +149,7 @@ export function toACVMPublicInputs(publicInputs: PrivateCircuitPublicInputs): AC | |||
toACVMField(publicInputs.encryptedLogPreimagesLength), | |||
toACVMField(publicInputs.unencryptedLogPreimagesLength), | |||
|
|||
...toACVMBlockHeader(publicInputs.blockHeader), | |||
...toACVMHeader(publicInputs.historicalHeader), |
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.
Yes, I had a plan to do it in this issue (might split it to a separate issue now that I think about it).
In general it seems to be a good idea to have all the serialization in the classes themselves so I would probably implement a FieldReader in foundation/serialize (akin to BufferReader) and use that in these types which are passed in the witness.
noir/docs/docs/reference/NoirJS/backend_barretenberg/classes/BarretenbergBackend.md
Show resolved
Hide resolved
yarn-project/acir-simulator/src/client/client_execution_context.ts
Outdated
Show resolved
Hide resolved
yarn-project/noir-protocol-circuits/src/crates/types/src/abis/append_only_tree_snapshot.nr
Outdated
Show resolved
Hide resolved
yarn-project/noir-protocol-circuits/src/crates/types/src/abis/global_variables.nr
Show resolved
Hide resolved
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.21.0</summary> ## [0.21.0](aztec-packages-v0.20.0...aztec-packages-v0.21.0) (2024-01-30) ### ⚠ BREAKING CHANGES * aztec binary ([#3927](#3927)) * add opcode for sha256 compression function ([#4229](#4229)) * add opcode for poseidon2 permutation ([#4214](#4214)) * remove ec_double opcode ([#4210](#4210)) * Updates singleton usage ([#4186](#4186)) * Add big int opcodes (without implementation) ([#4050](#4050)) ### Features * **3738:** AVM basic arithmetic operations for non ff types ([#3881](#3881)) ([457a3f9](457a3f9)), closes [#3996](#3996) * Accrued substate instructions ([#4197](#4197)) ([bfe30d2](bfe30d2)) * Add big int opcodes (without implementation) ([#4050](#4050)) ([bcab9ce](bcab9ce)) * Add comparators to get/view note ([#3136](#3136)) ([#4205](#4205)) ([6de36b3](6de36b3)) * Add inclusion check l1->l2 ([#4141](#4141)) ([bef65c3](bef65c3)) * Add opcode for poseidon2 permutation ([#4214](#4214)) ([53c5ba5](53c5ba5)) * Add opcode for sha256 compression function ([#4229](#4229)) ([ac25ff7](ac25ff7)) * Adding slither to l1-contracts ([#4226](#4226)) ([b4dc31d](b4dc31d)) * **avm:** Add tests for memory and bitwise instructions ([#4184](#4184)) ([6dac650](6dac650)) * **avm:** Bytecode avm control flow ([#4253](#4253)) ([fb1d742](fb1d742)), closes [#4209](#4209) * **avm:** Bytecode parsing and proof generation ([#4191](#4191)) ([6c70548](6c70548)), closes [#3791](#3791) * **avm:** Environment getters ([#4203](#4203)) ([60d2377](60d2377)) * **avm:** Implement comparator opcodes ([#4232](#4232)) ([973ff2f](973ff2f)) * **avm:** Initial external calls ([#4194](#4194)) ([d8aa966](d8aa966)) * **avm:** Link up storage ([#4150](#4150)) ([3e86870](3e86870)) * **avm:** Revert instruction ([#4206](#4206)) ([bd6e797](bd6e797)) * **avm:** Tagged memory ([#4213](#4213)) ([e5ff2f6](e5ff2f6)) * Aztec binary ([#3927](#3927)) ([12356d9](12356d9)) * Contract classes and instances ([#4192](#4192)) ([1858126](1858126)), closes [#4053](#4053) * Deserialize AztecAddress when contract's view function returns it in Aztec.js [#3641](#3641) ([#4224](#4224)) ([11f400f](11f400f)) * **docs:** DIP1: Extract Explanations ([#4228](#4228)) ([3b25737](3b25737)) * **docs:** Historical trees docs ([#3895](#3895)) ([8c3efba](8c3efba)) * **docs:** PXE docs ([#4021](#4021)) ([a656034](a656034)) * Implement bigint in Noir, using bigint opcodes ([#4198](#4198)) ([3720415](3720415)) * Implement Embedded EC add and double opcodes ([#3982](#3982)) ([ccb7bff](ccb7bff)) * Limit exposed functions on note utils ([#4207](#4207)) ([8338f39](8338f39)) * Nullifier key validation ([#4176](#4176)) ([1c72c0d](1c72c0d)) * Produce graph of internal Barretenberg dependencies ([#4225](#4225)) ([88e7923](88e7923)) * Recursive folding and decider verifier for Protogalaxy ([#4156](#4156)) ([9342048](9342048)) * Remove ec_double opcode ([#4210](#4210)) ([75f26c4](75f26c4)) * Replace single bit range constraints with basic bool gates ([#4164](#4164)) ([0a3553b](0a3553b)) * Updates singleton usage ([#4186](#4186)) ([301f0e6](301f0e6)) ### Bug Fixes * **avm:** Fix usage of Fr with tagged memory ([#4240](#4240)) ([b82e70c](b82e70c)) * **bb:** .gitignore ([#4201](#4201)) ([a56e418](a56e418)) * **docs:** Add missing deps to token tutorial references ([#4265](#4265)) ([d7e2d9c](d7e2d9c)) * Generic Honk dependencies ([#4239](#4239)) ([382dfbe](382dfbe)) ### Miscellaneous * Add note getter test to cci ([#4236](#4236)) ([e1184ff](e1184ff)) * **avm-simulator:** Cleanup, tags as first instruction constructor args ([#4244](#4244)) ([e46b865](e46b865)) * **avm:** Remove the state manager in favour of journal ([#4195](#4195)) ([40f9324](40f9324)) * **bb:** Rearrange namespaces ([#4147](#4147)) ([5de0a8e](5de0a8e)) * Cleaning up circuits test setup ([#4235](#4235)) ([fa6915a](fa6915a)), closes [#4237](#4237) * Delete C++ PK circuits ([#4219](#4219)) ([9136d32](9136d32)) * Delete MemoryDB ([#4241](#4241)) ([9e6250a](9e6250a)) * **docs:** Fix a few links to docs ([#4260](#4260)) ([1c8ea49](1c8ea49)) * **docs:** Fix autogen docs ([#4261](#4261)) ([3b9927a](3b9927a)) * **docs:** Fix public and private storage not in docs ([#4257](#4257)) ([48ceafd](48ceafd)) * **docs:** Fix token bridge tutorial ([#3935](#3935)) ([84c9fdb](84c9fdb)) * **docs:** Split contract storage pages ([#4202](#4202)) ([1e05f33](1e05f33)) * Fix typo in yellow paper ([#4247](#4247)) ([ac82e6b](ac82e6b)) * Fixes test file from [#4205](#4205) ([#4216](#4216)) ([18a9b72](18a9b72)) * Git subrepo pull (merge) noir ([#4252](#4252)) ([80be57d](80be57d)) * Nuking old `BlockHeader` ([#4154](#4154)) ([997791a](997791a)), closes [#3937](#3937) [#3564](#3564) [#4134](#4134) * Remove flaky e2e p2p test ([#4181](#4181)) ([688e4af](688e4af)) * Remove mandatory jsdoc ([#4180](#4180)) ([9625b43](9625b43)), closes [#3860](#3860) * Remove stubbed docs ([#4196](#4196)) ([25a4bc4](25a4bc4)) * Replace leveldb with lmdb for merkle trees ([#4119](#4119)) ([84967b2](84967b2)), closes [#3362](#3362) * Replace relative paths to noir-protocol-circuits ([a9839a8](a9839a8)) * Replace relative paths to noir-protocol-circuits ([2ef6e56](2ef6e56)) * Replace relative paths to noir-protocol-circuits ([426c17d](426c17d)) * Replace relative paths to noir-protocol-circuits ([12adb71](12adb71)) * Replace relative paths to noir-protocol-circuits ([fcd048d](fcd048d)) * Unifying Header serialization accross domains ([#4230](#4230)) ([92080a0](92080a0)) * Update .gitrepo with correct parent hash ([#4279](#4279)) ([9253c8a](9253c8a)) ### Documentation * **bb:** How to use docker_interactive.sh ([#4220](#4220)) ([f44c6b1](f44c6b1)) * Update welcome page and dev pages ([#4143](#4143)) ([d2a86ff](d2a86ff)) </details> <details><summary>barretenberg.js: 0.21.0</summary> ## [0.21.0](barretenberg.js-v0.20.0...barretenberg.js-v0.21.0) (2024-01-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>barretenberg: 0.21.0</summary> ## [0.21.0](barretenberg-v0.20.0...barretenberg-v0.21.0) (2024-01-30) ### ⚠ BREAKING CHANGES * add opcode for sha256 compression function ([#4229](#4229)) * add opcode for poseidon2 permutation ([#4214](#4214)) * remove ec_double opcode ([#4210](#4210)) * Add big int opcodes (without implementation) ([#4050](#4050)) ### Features * **3738:** AVM basic arithmetic operations for non ff types ([#3881](#3881)) ([457a3f9](457a3f9)), closes [#3996](#3996) * Add big int opcodes (without implementation) ([#4050](#4050)) ([bcab9ce](bcab9ce)) * Add opcode for poseidon2 permutation ([#4214](#4214)) ([53c5ba5](53c5ba5)) * Add opcode for sha256 compression function ([#4229](#4229)) ([ac25ff7](ac25ff7)) * **avm:** Bytecode avm control flow ([#4253](#4253)) ([fb1d742](fb1d742)), closes [#4209](#4209) * **avm:** Bytecode parsing and proof generation ([#4191](#4191)) ([6c70548](6c70548)), closes [#3791](#3791) * Implement Embedded EC add and double opcodes ([#3982](#3982)) ([ccb7bff](ccb7bff)) * Produce graph of internal Barretenberg dependencies ([#4225](#4225)) ([88e7923](88e7923)) * Recursive folding and decider verifier for Protogalaxy ([#4156](#4156)) ([9342048](9342048)) * Remove ec_double opcode ([#4210](#4210)) ([75f26c4](75f26c4)) * Replace single bit range constraints with basic bool gates ([#4164](#4164)) ([0a3553b](0a3553b)) ### Bug Fixes * **bb:** .gitignore ([#4201](#4201)) ([a56e418](a56e418)) * Generic Honk dependencies ([#4239](#4239)) ([382dfbe](382dfbe)) ### Miscellaneous * **bb:** Rearrange namespaces ([#4147](#4147)) ([5de0a8e](5de0a8e)) * Delete C++ PK circuits ([#4219](#4219)) ([9136d32](9136d32)) ### Documentation * **bb:** How to use docker_interactive.sh ([#4220](#4220)) ([f44c6b1](f44c6b1)) </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-packages: 0.21.0</summary> ## [0.21.0](AztecProtocol/aztec-packages@aztec-packages-v0.20.0...aztec-packages-v0.21.0) (2024-01-30) ### ⚠ BREAKING CHANGES * aztec binary ([#3927](AztecProtocol/aztec-packages#3927)) * add opcode for sha256 compression function ([#4229](AztecProtocol/aztec-packages#4229)) * add opcode for poseidon2 permutation ([#4214](AztecProtocol/aztec-packages#4214)) * remove ec_double opcode ([#4210](AztecProtocol/aztec-packages#4210)) * Updates singleton usage ([#4186](AztecProtocol/aztec-packages#4186)) * Add big int opcodes (without implementation) ([#4050](AztecProtocol/aztec-packages#4050)) ### Features * **3738:** AVM basic arithmetic operations for non ff types ([#3881](AztecProtocol/aztec-packages#3881)) ([457a3f9](AztecProtocol/aztec-packages@457a3f9)), closes [#3996](AztecProtocol/aztec-packages#3996) * Accrued substate instructions ([#4197](AztecProtocol/aztec-packages#4197)) ([bfe30d2](AztecProtocol/aztec-packages@bfe30d2)) * Add big int opcodes (without implementation) ([#4050](AztecProtocol/aztec-packages#4050)) ([bcab9ce](AztecProtocol/aztec-packages@bcab9ce)) * Add comparators to get/view note ([#3136](AztecProtocol/aztec-packages#3136)) ([#4205](AztecProtocol/aztec-packages#4205)) ([6de36b3](AztecProtocol/aztec-packages@6de36b3)) * Add inclusion check l1->l2 ([#4141](AztecProtocol/aztec-packages#4141)) ([bef65c3](AztecProtocol/aztec-packages@bef65c3)) * Add opcode for poseidon2 permutation ([#4214](AztecProtocol/aztec-packages#4214)) ([53c5ba5](AztecProtocol/aztec-packages@53c5ba5)) * Add opcode for sha256 compression function ([#4229](AztecProtocol/aztec-packages#4229)) ([ac25ff7](AztecProtocol/aztec-packages@ac25ff7)) * Adding slither to l1-contracts ([#4226](AztecProtocol/aztec-packages#4226)) ([b4dc31d](AztecProtocol/aztec-packages@b4dc31d)) * **avm:** Add tests for memory and bitwise instructions ([#4184](AztecProtocol/aztec-packages#4184)) ([6dac650](AztecProtocol/aztec-packages@6dac650)) * **avm:** Bytecode avm control flow ([#4253](AztecProtocol/aztec-packages#4253)) ([fb1d742](AztecProtocol/aztec-packages@fb1d742)), closes [#4209](AztecProtocol/aztec-packages#4209) * **avm:** Bytecode parsing and proof generation ([#4191](AztecProtocol/aztec-packages#4191)) ([6c70548](AztecProtocol/aztec-packages@6c70548)), closes [#3791](AztecProtocol/aztec-packages#3791) * **avm:** Environment getters ([#4203](AztecProtocol/aztec-packages#4203)) ([60d2377](AztecProtocol/aztec-packages@60d2377)) * **avm:** Implement comparator opcodes ([#4232](AztecProtocol/aztec-packages#4232)) ([973ff2f](AztecProtocol/aztec-packages@973ff2f)) * **avm:** Initial external calls ([#4194](AztecProtocol/aztec-packages#4194)) ([d8aa966](AztecProtocol/aztec-packages@d8aa966)) * **avm:** Link up storage ([#4150](AztecProtocol/aztec-packages#4150)) ([3e86870](AztecProtocol/aztec-packages@3e86870)) * **avm:** Revert instruction ([#4206](AztecProtocol/aztec-packages#4206)) ([bd6e797](AztecProtocol/aztec-packages@bd6e797)) * **avm:** Tagged memory ([#4213](AztecProtocol/aztec-packages#4213)) ([e5ff2f6](AztecProtocol/aztec-packages@e5ff2f6)) * Aztec binary ([#3927](AztecProtocol/aztec-packages#3927)) ([12356d9](AztecProtocol/aztec-packages@12356d9)) * Contract classes and instances ([#4192](AztecProtocol/aztec-packages#4192)) ([1858126](AztecProtocol/aztec-packages@1858126)), closes [#4053](AztecProtocol/aztec-packages#4053) * Deserialize AztecAddress when contract's view function returns it in Aztec.js [#3641](AztecProtocol/aztec-packages#3641) ([#4224](AztecProtocol/aztec-packages#4224)) ([11f400f](AztecProtocol/aztec-packages@11f400f)) * **docs:** DIP1: Extract Explanations ([#4228](AztecProtocol/aztec-packages#4228)) ([3b25737](AztecProtocol/aztec-packages@3b25737)) * **docs:** Historical trees docs ([#3895](AztecProtocol/aztec-packages#3895)) ([8c3efba](AztecProtocol/aztec-packages@8c3efba)) * **docs:** PXE docs ([#4021](AztecProtocol/aztec-packages#4021)) ([a656034](AztecProtocol/aztec-packages@a656034)) * Implement bigint in Noir, using bigint opcodes ([#4198](AztecProtocol/aztec-packages#4198)) ([3720415](AztecProtocol/aztec-packages@3720415)) * Implement Embedded EC add and double opcodes ([#3982](AztecProtocol/aztec-packages#3982)) ([ccb7bff](AztecProtocol/aztec-packages@ccb7bff)) * Limit exposed functions on note utils ([#4207](AztecProtocol/aztec-packages#4207)) ([8338f39](AztecProtocol/aztec-packages@8338f39)) * Nullifier key validation ([#4176](AztecProtocol/aztec-packages#4176)) ([1c72c0d](AztecProtocol/aztec-packages@1c72c0d)) * Produce graph of internal Barretenberg dependencies ([#4225](AztecProtocol/aztec-packages#4225)) ([88e7923](AztecProtocol/aztec-packages@88e7923)) * Recursive folding and decider verifier for Protogalaxy ([#4156](AztecProtocol/aztec-packages#4156)) ([9342048](AztecProtocol/aztec-packages@9342048)) * Remove ec_double opcode ([#4210](AztecProtocol/aztec-packages#4210)) ([75f26c4](AztecProtocol/aztec-packages@75f26c4)) * Replace single bit range constraints with basic bool gates ([#4164](AztecProtocol/aztec-packages#4164)) ([0a3553b](AztecProtocol/aztec-packages@0a3553b)) * Updates singleton usage ([#4186](AztecProtocol/aztec-packages#4186)) ([301f0e6](AztecProtocol/aztec-packages@301f0e6)) ### Bug Fixes * **avm:** Fix usage of Fr with tagged memory ([#4240](AztecProtocol/aztec-packages#4240)) ([b82e70c](AztecProtocol/aztec-packages@b82e70c)) * **bb:** .gitignore ([#4201](AztecProtocol/aztec-packages#4201)) ([a56e418](AztecProtocol/aztec-packages@a56e418)) * **docs:** Add missing deps to token tutorial references ([#4265](AztecProtocol/aztec-packages#4265)) ([d7e2d9c](AztecProtocol/aztec-packages@d7e2d9c)) * Generic Honk dependencies ([#4239](AztecProtocol/aztec-packages#4239)) ([382dfbe](AztecProtocol/aztec-packages@382dfbe)) ### Miscellaneous * Add note getter test to cci ([#4236](AztecProtocol/aztec-packages#4236)) ([e1184ff](AztecProtocol/aztec-packages@e1184ff)) * **avm-simulator:** Cleanup, tags as first instruction constructor args ([#4244](AztecProtocol/aztec-packages#4244)) ([e46b865](AztecProtocol/aztec-packages@e46b865)) * **avm:** Remove the state manager in favour of journal ([#4195](AztecProtocol/aztec-packages#4195)) ([40f9324](AztecProtocol/aztec-packages@40f9324)) * **bb:** Rearrange namespaces ([#4147](AztecProtocol/aztec-packages#4147)) ([5de0a8e](AztecProtocol/aztec-packages@5de0a8e)) * Cleaning up circuits test setup ([#4235](AztecProtocol/aztec-packages#4235)) ([fa6915a](AztecProtocol/aztec-packages@fa6915a)), closes [#4237](AztecProtocol/aztec-packages#4237) * Delete C++ PK circuits ([#4219](AztecProtocol/aztec-packages#4219)) ([9136d32](AztecProtocol/aztec-packages@9136d32)) * Delete MemoryDB ([#4241](AztecProtocol/aztec-packages#4241)) ([9e6250a](AztecProtocol/aztec-packages@9e6250a)) * **docs:** Fix a few links to docs ([#4260](AztecProtocol/aztec-packages#4260)) ([1c8ea49](AztecProtocol/aztec-packages@1c8ea49)) * **docs:** Fix autogen docs ([#4261](AztecProtocol/aztec-packages#4261)) ([3b9927a](AztecProtocol/aztec-packages@3b9927a)) * **docs:** Fix public and private storage not in docs ([#4257](AztecProtocol/aztec-packages#4257)) ([48ceafd](AztecProtocol/aztec-packages@48ceafd)) * **docs:** Fix token bridge tutorial ([#3935](AztecProtocol/aztec-packages#3935)) ([84c9fdb](AztecProtocol/aztec-packages@84c9fdb)) * **docs:** Split contract storage pages ([#4202](AztecProtocol/aztec-packages#4202)) ([1e05f33](AztecProtocol/aztec-packages@1e05f33)) * Fix typo in yellow paper ([#4247](AztecProtocol/aztec-packages#4247)) ([ac82e6b](AztecProtocol/aztec-packages@ac82e6b)) * Fixes test file from [#4205](AztecProtocol/aztec-packages#4205) ([#4216](AztecProtocol/aztec-packages#4216)) ([18a9b72](AztecProtocol/aztec-packages@18a9b72)) * Git subrepo pull (merge) noir ([#4252](AztecProtocol/aztec-packages#4252)) ([80be57d](AztecProtocol/aztec-packages@80be57d)) * Nuking old `BlockHeader` ([#4154](AztecProtocol/aztec-packages#4154)) ([997791a](AztecProtocol/aztec-packages@997791a)), closes [#3937](AztecProtocol/aztec-packages#3937) [#3564](AztecProtocol/aztec-packages#3564) [#4134](AztecProtocol/aztec-packages#4134) * Remove flaky e2e p2p test ([#4181](AztecProtocol/aztec-packages#4181)) ([688e4af](AztecProtocol/aztec-packages@688e4af)) * Remove mandatory jsdoc ([#4180](AztecProtocol/aztec-packages#4180)) ([9625b43](AztecProtocol/aztec-packages@9625b43)), closes [#3860](AztecProtocol/aztec-packages#3860) * Remove stubbed docs ([#4196](AztecProtocol/aztec-packages#4196)) ([25a4bc4](AztecProtocol/aztec-packages@25a4bc4)) * Replace leveldb with lmdb for merkle trees ([#4119](AztecProtocol/aztec-packages#4119)) ([84967b2](AztecProtocol/aztec-packages@84967b2)), closes [#3362](AztecProtocol/aztec-packages#3362) * Replace relative paths to noir-protocol-circuits ([a9839a8](AztecProtocol/aztec-packages@a9839a8)) * Replace relative paths to noir-protocol-circuits ([2ef6e56](AztecProtocol/aztec-packages@2ef6e56)) * Replace relative paths to noir-protocol-circuits ([426c17d](AztecProtocol/aztec-packages@426c17d)) * Replace relative paths to noir-protocol-circuits ([12adb71](AztecProtocol/aztec-packages@12adb71)) * Replace relative paths to noir-protocol-circuits ([fcd048d](AztecProtocol/aztec-packages@fcd048d)) * Unifying Header serialization accross domains ([#4230](AztecProtocol/aztec-packages#4230)) ([92080a0](AztecProtocol/aztec-packages@92080a0)) * Update .gitrepo with correct parent hash ([#4279](AztecProtocol/aztec-packages#4279)) ([9253c8a](AztecProtocol/aztec-packages@9253c8a)) ### Documentation * **bb:** How to use docker_interactive.sh ([#4220](AztecProtocol/aztec-packages#4220)) ([f44c6b1](AztecProtocol/aztec-packages@f44c6b1)) * Update welcome page and dev pages ([#4143](AztecProtocol/aztec-packages#4143)) ([d2a86ff](AztecProtocol/aztec-packages@d2a86ff)) </details> <details><summary>barretenberg.js: 0.21.0</summary> ## [0.21.0](AztecProtocol/aztec-packages@barretenberg.js-v0.20.0...barretenberg.js-v0.21.0) (2024-01-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>barretenberg: 0.21.0</summary> ## [0.21.0](AztecProtocol/aztec-packages@barretenberg-v0.20.0...barretenberg-v0.21.0) (2024-01-30) ### ⚠ BREAKING CHANGES * add opcode for sha256 compression function ([#4229](AztecProtocol/aztec-packages#4229)) * add opcode for poseidon2 permutation ([#4214](AztecProtocol/aztec-packages#4214)) * remove ec_double opcode ([#4210](AztecProtocol/aztec-packages#4210)) * Add big int opcodes (without implementation) ([#4050](AztecProtocol/aztec-packages#4050)) ### Features * **3738:** AVM basic arithmetic operations for non ff types ([#3881](AztecProtocol/aztec-packages#3881)) ([457a3f9](AztecProtocol/aztec-packages@457a3f9)), closes [#3996](AztecProtocol/aztec-packages#3996) * Add big int opcodes (without implementation) ([#4050](AztecProtocol/aztec-packages#4050)) ([bcab9ce](AztecProtocol/aztec-packages@bcab9ce)) * Add opcode for poseidon2 permutation ([#4214](AztecProtocol/aztec-packages#4214)) ([53c5ba5](AztecProtocol/aztec-packages@53c5ba5)) * Add opcode for sha256 compression function ([#4229](AztecProtocol/aztec-packages#4229)) ([ac25ff7](AztecProtocol/aztec-packages@ac25ff7)) * **avm:** Bytecode avm control flow ([#4253](AztecProtocol/aztec-packages#4253)) ([fb1d742](AztecProtocol/aztec-packages@fb1d742)), closes [#4209](AztecProtocol/aztec-packages#4209) * **avm:** Bytecode parsing and proof generation ([#4191](AztecProtocol/aztec-packages#4191)) ([6c70548](AztecProtocol/aztec-packages@6c70548)), closes [#3791](AztecProtocol/aztec-packages#3791) * Implement Embedded EC add and double opcodes ([#3982](AztecProtocol/aztec-packages#3982)) ([ccb7bff](AztecProtocol/aztec-packages@ccb7bff)) * Produce graph of internal Barretenberg dependencies ([#4225](AztecProtocol/aztec-packages#4225)) ([88e7923](AztecProtocol/aztec-packages@88e7923)) * Recursive folding and decider verifier for Protogalaxy ([#4156](AztecProtocol/aztec-packages#4156)) ([9342048](AztecProtocol/aztec-packages@9342048)) * Remove ec_double opcode ([#4210](AztecProtocol/aztec-packages#4210)) ([75f26c4](AztecProtocol/aztec-packages@75f26c4)) * Replace single bit range constraints with basic bool gates ([#4164](AztecProtocol/aztec-packages#4164)) ([0a3553b](AztecProtocol/aztec-packages@0a3553b)) ### Bug Fixes * **bb:** .gitignore ([#4201](AztecProtocol/aztec-packages#4201)) ([a56e418](AztecProtocol/aztec-packages@a56e418)) * Generic Honk dependencies ([#4239](AztecProtocol/aztec-packages#4239)) ([382dfbe](AztecProtocol/aztec-packages@382dfbe)) ### Miscellaneous * **bb:** Rearrange namespaces ([#4147](AztecProtocol/aztec-packages#4147)) ([5de0a8e](AztecProtocol/aztec-packages@5de0a8e)) * Delete C++ PK circuits ([#4219](AztecProtocol/aztec-packages#4219)) ([9136d32](AztecProtocol/aztec-packages@9136d32)) ### Documentation * **bb:** How to use docker_interactive.sh ([#4220](AztecProtocol/aztec-packages#4220)) ([f44c6b1](AztecProtocol/aztec-packages@f44c6b1)) </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-packages: 0.21.0</summary> ## [0.21.0](AztecProtocol/aztec-packages@aztec-packages-v0.20.0...aztec-packages-v0.21.0) (2024-01-30) ### ⚠ BREAKING CHANGES * aztec binary ([AztecProtocol#3927](AztecProtocol#3927)) * add opcode for sha256 compression function ([AztecProtocol#4229](AztecProtocol#4229)) * add opcode for poseidon2 permutation ([AztecProtocol#4214](AztecProtocol#4214)) * remove ec_double opcode ([AztecProtocol#4210](AztecProtocol#4210)) * Updates singleton usage ([AztecProtocol#4186](AztecProtocol#4186)) * Add big int opcodes (without implementation) ([AztecProtocol#4050](AztecProtocol#4050)) ### Features * **3738:** AVM basic arithmetic operations for non ff types ([AztecProtocol#3881](AztecProtocol#3881)) ([457a3f9](AztecProtocol@457a3f9)), closes [AztecProtocol#3996](AztecProtocol#3996) * Accrued substate instructions ([AztecProtocol#4197](AztecProtocol#4197)) ([bfe30d2](AztecProtocol@bfe30d2)) * Add big int opcodes (without implementation) ([AztecProtocol#4050](AztecProtocol#4050)) ([bcab9ce](AztecProtocol@bcab9ce)) * Add comparators to get/view note ([AztecProtocol#3136](AztecProtocol#3136)) ([AztecProtocol#4205](AztecProtocol#4205)) ([6de36b3](AztecProtocol@6de36b3)) * Add inclusion check l1->l2 ([AztecProtocol#4141](AztecProtocol#4141)) ([bef65c3](AztecProtocol@bef65c3)) * Add opcode for poseidon2 permutation ([AztecProtocol#4214](AztecProtocol#4214)) ([53c5ba5](AztecProtocol@53c5ba5)) * Add opcode for sha256 compression function ([AztecProtocol#4229](AztecProtocol#4229)) ([ac25ff7](AztecProtocol@ac25ff7)) * Adding slither to l1-contracts ([AztecProtocol#4226](AztecProtocol#4226)) ([b4dc31d](AztecProtocol@b4dc31d)) * **avm:** Add tests for memory and bitwise instructions ([AztecProtocol#4184](AztecProtocol#4184)) ([6dac650](AztecProtocol@6dac650)) * **avm:** Bytecode avm control flow ([AztecProtocol#4253](AztecProtocol#4253)) ([fb1d742](AztecProtocol@fb1d742)), closes [AztecProtocol#4209](AztecProtocol#4209) * **avm:** Bytecode parsing and proof generation ([AztecProtocol#4191](AztecProtocol#4191)) ([6c70548](AztecProtocol@6c70548)), closes [AztecProtocol#3791](AztecProtocol#3791) * **avm:** Environment getters ([AztecProtocol#4203](AztecProtocol#4203)) ([60d2377](AztecProtocol@60d2377)) * **avm:** Implement comparator opcodes ([AztecProtocol#4232](AztecProtocol#4232)) ([973ff2f](AztecProtocol@973ff2f)) * **avm:** Initial external calls ([AztecProtocol#4194](AztecProtocol#4194)) ([d8aa966](AztecProtocol@d8aa966)) * **avm:** Link up storage ([AztecProtocol#4150](AztecProtocol#4150)) ([3e86870](AztecProtocol@3e86870)) * **avm:** Revert instruction ([AztecProtocol#4206](AztecProtocol#4206)) ([bd6e797](AztecProtocol@bd6e797)) * **avm:** Tagged memory ([AztecProtocol#4213](AztecProtocol#4213)) ([e5ff2f6](AztecProtocol@e5ff2f6)) * Aztec binary ([AztecProtocol#3927](AztecProtocol#3927)) ([12356d9](AztecProtocol@12356d9)) * Contract classes and instances ([AztecProtocol#4192](AztecProtocol#4192)) ([1858126](AztecProtocol@1858126)), closes [AztecProtocol#4053](AztecProtocol#4053) * Deserialize AztecAddress when contract's view function returns it in Aztec.js [AztecProtocol#3641](AztecProtocol#3641) ([AztecProtocol#4224](AztecProtocol#4224)) ([11f400f](AztecProtocol@11f400f)) * **docs:** DIP1: Extract Explanations ([AztecProtocol#4228](AztecProtocol#4228)) ([3b25737](AztecProtocol@3b25737)) * **docs:** Historical trees docs ([AztecProtocol#3895](AztecProtocol#3895)) ([8c3efba](AztecProtocol@8c3efba)) * **docs:** PXE docs ([AztecProtocol#4021](AztecProtocol#4021)) ([a656034](AztecProtocol@a656034)) * Implement bigint in Noir, using bigint opcodes ([AztecProtocol#4198](AztecProtocol#4198)) ([3720415](AztecProtocol@3720415)) * Implement Embedded EC add and double opcodes ([AztecProtocol#3982](AztecProtocol#3982)) ([ccb7bff](AztecProtocol@ccb7bff)) * Limit exposed functions on note utils ([AztecProtocol#4207](AztecProtocol#4207)) ([8338f39](AztecProtocol@8338f39)) * Nullifier key validation ([AztecProtocol#4176](AztecProtocol#4176)) ([1c72c0d](AztecProtocol@1c72c0d)) * Produce graph of internal Barretenberg dependencies ([AztecProtocol#4225](AztecProtocol#4225)) ([88e7923](AztecProtocol@88e7923)) * Recursive folding and decider verifier for Protogalaxy ([AztecProtocol#4156](AztecProtocol#4156)) ([9342048](AztecProtocol@9342048)) * Remove ec_double opcode ([AztecProtocol#4210](AztecProtocol#4210)) ([75f26c4](AztecProtocol@75f26c4)) * Replace single bit range constraints with basic bool gates ([AztecProtocol#4164](AztecProtocol#4164)) ([0a3553b](AztecProtocol@0a3553b)) * Updates singleton usage ([AztecProtocol#4186](AztecProtocol#4186)) ([301f0e6](AztecProtocol@301f0e6)) ### Bug Fixes * **avm:** Fix usage of Fr with tagged memory ([AztecProtocol#4240](AztecProtocol#4240)) ([b82e70c](AztecProtocol@b82e70c)) * **bb:** .gitignore ([AztecProtocol#4201](AztecProtocol#4201)) ([a56e418](AztecProtocol@a56e418)) * **docs:** Add missing deps to token tutorial references ([AztecProtocol#4265](AztecProtocol#4265)) ([d7e2d9c](AztecProtocol@d7e2d9c)) * Generic Honk dependencies ([AztecProtocol#4239](AztecProtocol#4239)) ([382dfbe](AztecProtocol@382dfbe)) ### Miscellaneous * Add note getter test to cci ([AztecProtocol#4236](AztecProtocol#4236)) ([e1184ff](AztecProtocol@e1184ff)) * **avm-simulator:** Cleanup, tags as first instruction constructor args ([AztecProtocol#4244](AztecProtocol#4244)) ([e46b865](AztecProtocol@e46b865)) * **avm:** Remove the state manager in favour of journal ([AztecProtocol#4195](AztecProtocol#4195)) ([40f9324](AztecProtocol@40f9324)) * **bb:** Rearrange namespaces ([AztecProtocol#4147](AztecProtocol#4147)) ([5de0a8e](AztecProtocol@5de0a8e)) * Cleaning up circuits test setup ([AztecProtocol#4235](AztecProtocol#4235)) ([fa6915a](AztecProtocol@fa6915a)), closes [AztecProtocol#4237](AztecProtocol#4237) * Delete C++ PK circuits ([AztecProtocol#4219](AztecProtocol#4219)) ([9136d32](AztecProtocol@9136d32)) * Delete MemoryDB ([AztecProtocol#4241](AztecProtocol#4241)) ([9e6250a](AztecProtocol@9e6250a)) * **docs:** Fix a few links to docs ([AztecProtocol#4260](AztecProtocol#4260)) ([1c8ea49](AztecProtocol@1c8ea49)) * **docs:** Fix autogen docs ([AztecProtocol#4261](AztecProtocol#4261)) ([3b9927a](AztecProtocol@3b9927a)) * **docs:** Fix public and private storage not in docs ([AztecProtocol#4257](AztecProtocol#4257)) ([48ceafd](AztecProtocol@48ceafd)) * **docs:** Fix token bridge tutorial ([AztecProtocol#3935](AztecProtocol#3935)) ([84c9fdb](AztecProtocol@84c9fdb)) * **docs:** Split contract storage pages ([AztecProtocol#4202](AztecProtocol#4202)) ([1e05f33](AztecProtocol@1e05f33)) * Fix typo in yellow paper ([AztecProtocol#4247](AztecProtocol#4247)) ([ac82e6b](AztecProtocol@ac82e6b)) * Fixes test file from [AztecProtocol#4205](AztecProtocol#4205) ([AztecProtocol#4216](AztecProtocol#4216)) ([18a9b72](AztecProtocol@18a9b72)) * Git subrepo pull (merge) noir ([AztecProtocol#4252](AztecProtocol#4252)) ([80be57d](AztecProtocol@80be57d)) * Nuking old `BlockHeader` ([AztecProtocol#4154](AztecProtocol#4154)) ([997791a](AztecProtocol@997791a)), closes [AztecProtocol#3937](AztecProtocol#3937) [AztecProtocol#3564](AztecProtocol#3564) [AztecProtocol#4134](AztecProtocol#4134) * Remove flaky e2e p2p test ([AztecProtocol#4181](AztecProtocol#4181)) ([688e4af](AztecProtocol@688e4af)) * Remove mandatory jsdoc ([AztecProtocol#4180](AztecProtocol#4180)) ([9625b43](AztecProtocol@9625b43)), closes [AztecProtocol#3860](AztecProtocol#3860) * Remove stubbed docs ([AztecProtocol#4196](AztecProtocol#4196)) ([25a4bc4](AztecProtocol@25a4bc4)) * Replace leveldb with lmdb for merkle trees ([AztecProtocol#4119](AztecProtocol#4119)) ([84967b2](AztecProtocol@84967b2)), closes [AztecProtocol#3362](AztecProtocol#3362) * Replace relative paths to noir-protocol-circuits ([a9839a8](AztecProtocol@a9839a8)) * Replace relative paths to noir-protocol-circuits ([2ef6e56](AztecProtocol@2ef6e56)) * Replace relative paths to noir-protocol-circuits ([426c17d](AztecProtocol@426c17d)) * Replace relative paths to noir-protocol-circuits ([12adb71](AztecProtocol@12adb71)) * Replace relative paths to noir-protocol-circuits ([fcd048d](AztecProtocol@fcd048d)) * Unifying Header serialization accross domains ([AztecProtocol#4230](AztecProtocol#4230)) ([92080a0](AztecProtocol@92080a0)) * Update .gitrepo with correct parent hash ([AztecProtocol#4279](AztecProtocol#4279)) ([9253c8a](AztecProtocol@9253c8a)) ### Documentation * **bb:** How to use docker_interactive.sh ([AztecProtocol#4220](AztecProtocol#4220)) ([f44c6b1](AztecProtocol@f44c6b1)) * Update welcome page and dev pages ([AztecProtocol#4143](AztecProtocol#4143)) ([d2a86ff](AztecProtocol@d2a86ff)) </details> <details><summary>barretenberg.js: 0.21.0</summary> ## [0.21.0](AztecProtocol/aztec-packages@barretenberg.js-v0.20.0...barretenberg.js-v0.21.0) (2024-01-30) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>barretenberg: 0.21.0</summary> ## [0.21.0](AztecProtocol/aztec-packages@barretenberg-v0.20.0...barretenberg-v0.21.0) (2024-01-30) ### ⚠ BREAKING CHANGES * add opcode for sha256 compression function ([AztecProtocol#4229](AztecProtocol#4229)) * add opcode for poseidon2 permutation ([AztecProtocol#4214](AztecProtocol#4214)) * remove ec_double opcode ([AztecProtocol#4210](AztecProtocol#4210)) * Add big int opcodes (without implementation) ([AztecProtocol#4050](AztecProtocol#4050)) ### Features * **3738:** AVM basic arithmetic operations for non ff types ([AztecProtocol#3881](AztecProtocol#3881)) ([457a3f9](AztecProtocol@457a3f9)), closes [AztecProtocol#3996](AztecProtocol#3996) * Add big int opcodes (without implementation) ([AztecProtocol#4050](AztecProtocol#4050)) ([bcab9ce](AztecProtocol@bcab9ce)) * Add opcode for poseidon2 permutation ([AztecProtocol#4214](AztecProtocol#4214)) ([53c5ba5](AztecProtocol@53c5ba5)) * Add opcode for sha256 compression function ([AztecProtocol#4229](AztecProtocol#4229)) ([ac25ff7](AztecProtocol@ac25ff7)) * **avm:** Bytecode avm control flow ([AztecProtocol#4253](AztecProtocol#4253)) ([fb1d742](AztecProtocol@fb1d742)), closes [AztecProtocol#4209](AztecProtocol#4209) * **avm:** Bytecode parsing and proof generation ([AztecProtocol#4191](AztecProtocol#4191)) ([6c70548](AztecProtocol@6c70548)), closes [AztecProtocol#3791](AztecProtocol#3791) * Implement Embedded EC add and double opcodes ([AztecProtocol#3982](AztecProtocol#3982)) ([ccb7bff](AztecProtocol@ccb7bff)) * Produce graph of internal Barretenberg dependencies ([AztecProtocol#4225](AztecProtocol#4225)) ([88e7923](AztecProtocol@88e7923)) * Recursive folding and decider verifier for Protogalaxy ([AztecProtocol#4156](AztecProtocol#4156)) ([9342048](AztecProtocol@9342048)) * Remove ec_double opcode ([AztecProtocol#4210](AztecProtocol#4210)) ([75f26c4](AztecProtocol@75f26c4)) * Replace single bit range constraints with basic bool gates ([AztecProtocol#4164](AztecProtocol#4164)) ([0a3553b](AztecProtocol@0a3553b)) ### Bug Fixes * **bb:** .gitignore ([AztecProtocol#4201](AztecProtocol#4201)) ([a56e418](AztecProtocol@a56e418)) * Generic Honk dependencies ([AztecProtocol#4239](AztecProtocol#4239)) ([382dfbe](AztecProtocol@382dfbe)) ### Miscellaneous * **bb:** Rearrange namespaces ([AztecProtocol#4147](AztecProtocol#4147)) ([5de0a8e](AztecProtocol@5de0a8e)) * Delete C++ PK circuits ([AztecProtocol#4219](AztecProtocol#4219)) ([9136d32](AztecProtocol@9136d32)) ### Documentation * **bb:** How to use docker_interactive.sh ([AztecProtocol#4220](AztecProtocol#4220)) ([f44c6b1](AztecProtocol@f44c6b1)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Fixes #3937
Fixes #3564
Fixes #4134