-
Notifications
You must be signed in to change notification settings - Fork 219
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: several nargo test
improvements
#6728
Conversation
nargo test
streaming behavior and restrict number of threads
Peak Memory Sample
|
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Looks good but I'm seeing a number of new test failures in the |
Strange, they pass on my machine. But also, I'll see if I can compile things in parallel... |
Hmm, we'd need to buffer the test results in that case though wouldn't we otherwise we'd get tests from different packages potentially interleaved. |
I managed to do the above (first compile all packages in parallel, then run tests in parallel for each package) but it's still slower than before. For example if there are many, many packages with a very small number of tests, for example 3, and we have 10 threads, we'll just run 3 in parallel in sequential batches. Maybe running everything in parallel like before is fine? We could still show a summary at the end for each package separately, which is maybe what matters most. What do you think? |
Alternatively we could try to just show things sequentially, but still run everything in parallel... but I'm not sure how we could do that. Something like "run everything in parallel, but get the output of the first package first, then the output of the second package, etc.". Maybe we can have a receiver for results: when we get a result, if it's for the package we are interested in we output it, otherwise put it in a HashMap keyed by that package name. Once we finish with a package we first show what we have in the cached output, then continue receiving output from the package, etc... though it will make the code much harder to understand. I'll try it anyway. |
Couple of questions:
I think it wasn’t about going faster but to limit the amount of resource usage; the ticket mentioned running out of memory. |
Yeah, I don't mind if things are a little slower as long as we can run the protocol tests with a simple |
If you consider my earlier pseudo code that set up workers up front, you can imagine setting up a pipeline where you feed tests in order into the work queue, so it will be package A first then package B, and in another component you tell up front how many results are to be expected from each package. That component gets the results in a channel, and if they are out of order it buffers them, if it’s for the current item it shows them, when it reaches the expected number of reports it shows the summary and starts outputting the next one from the buffer |
@aakoshh Right, I looked at your code to see if I could use it, because it seems what we'd need to do in the end. The problem is that to get the tests to run we need to compile a package. In the pseudocode packages are compiled sequentially and that's what's slow. However, I'll at least change things so that all packages are compiled in parallel. There's still a slowdown because we don't run tests from different packages in parallel. If the issue was too many threads and out of memory, using worker threads solved this but then I suggested running packages sequentially and that's what caused the additional slowdown. What I'm saying is that we could revert that functionality, get rid of the "out of memory", and still have things work really fast. |
Well, running tests for |
One more thing I did: I noticed that if we have many packages, we first print how many tests are for each package, then print package tests sequentially. However, it's probably nicer if we print the package tests count and the tests all together. That is, instead of this:
Show it like this:
At this point I'm wondering if we actually need to prefix all the output with the package name. We could maybe print it at the beginning and the end, but not for every test. Thoughts? (I don't have a strong opinion about this, but Rust more or less does that) |
Let's keep it for now. This is consistent with other packages and we have quite a few changes in this PR already. |
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.
👏
) chore: Try replace callstack with a linked list (noir-lang/noir#6747) chore: Use `NumericType` not `Type` for casts and numeric constants (noir-lang/noir#6769) chore(ci): Extend compiler memory report to external repos (noir-lang/noir#6768) chore(ci): Handle external libraries in compilation timing report (noir-lang/noir#6750) feat(ssa): Implement missing brillig constraints SSA check (noir-lang/noir#6658) fix: Do not merge expressions that contain output witnesses (noir-lang/noir#6757) fix: parser would hand on function type with colon in it (noir-lang/noir#6764) chore(docs): Update branding (noir-lang/noir#6759) feat(cli): Run command on the package closest to the current directory (noir-lang/noir#6752) chore: lock CI to use ubuntu 22.04 (noir-lang/noir#6755) chore: free memory for silenced warnings early (noir-lang/noir#6748) chore(stdlib)!: Remove Schnorr (noir-lang/noir#6749) fix: Improve type error when indexing a variable of unknown type (noir-lang/noir#6744) fix: println("{{}}") was printing "{{}}" instead of "{}" (noir-lang/noir#6745) feat: `std::hint::black_box` function. (noir-lang/noir#6529) feat(ci): Initial compilation report on test_programs (noir-lang/noir#6731) chore: Cleanup unrolling pass (noir-lang/noir#6743) fix: allow empty loop headers (noir-lang/noir#6736) fix: map entry point indexes after all ssa passes (noir-lang/noir#6740) chore: Update url to 2.5.4 (noir-lang/noir#6741) feat: Order attribute execution by their source ordering (noir-lang/noir#6326) feat(test): Check that `nargo::ops::transform_program` is idempotent (noir-lang/noir#6694) feat: Sync from aztec-packages (noir-lang/noir#6730)
chore: Try replace callstack with a linked list (noir-lang/noir#6747) chore: Use `NumericType` not `Type` for casts and numeric constants (noir-lang/noir#6769) chore(ci): Extend compiler memory report to external repos (noir-lang/noir#6768) chore(ci): Handle external libraries in compilation timing report (noir-lang/noir#6750) feat(ssa): Implement missing brillig constraints SSA check (noir-lang/noir#6658) fix: Do not merge expressions that contain output witnesses (noir-lang/noir#6757) fix: parser would hand on function type with colon in it (noir-lang/noir#6764) chore(docs): Update branding (noir-lang/noir#6759) feat(cli): Run command on the package closest to the current directory (noir-lang/noir#6752) chore: lock CI to use ubuntu 22.04 (noir-lang/noir#6755) chore: free memory for silenced warnings early (noir-lang/noir#6748) chore(stdlib)!: Remove Schnorr (noir-lang/noir#6749) fix: Improve type error when indexing a variable of unknown type (noir-lang/noir#6744) fix: println("{{}}") was printing "{{}}" instead of "{}" (noir-lang/noir#6745) feat: `std::hint::black_box` function. (noir-lang/noir#6529) feat(ci): Initial compilation report on test_programs (noir-lang/noir#6731) chore: Cleanup unrolling pass (noir-lang/noir#6743) fix: allow empty loop headers (noir-lang/noir#6736) fix: map entry point indexes after all ssa passes (noir-lang/noir#6740) chore: Update url to 2.5.4 (noir-lang/noir#6741) feat: Order attribute execution by their source ordering (noir-lang/noir#6326) feat(test): Check that `nargo::ops::transform_program` is idempotent (noir-lang/noir#6694) feat: Sync from aztec-packages (noir-lang/noir#6730)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat: several `nargo test` improvements (noir-lang/noir#6728) chore: Try replace callstack with a linked list (noir-lang/noir#6747) chore: Use `NumericType` not `Type` for casts and numeric constants (noir-lang/noir#6769) chore(ci): Extend compiler memory report to external repos (noir-lang/noir#6768) chore(ci): Handle external libraries in compilation timing report (noir-lang/noir#6750) feat(ssa): Implement missing brillig constraints SSA check (noir-lang/noir#6658) fix: Do not merge expressions that contain output witnesses (noir-lang/noir#6757) fix: parser would hand on function type with colon in it (noir-lang/noir#6764) chore(docs): Update branding (noir-lang/noir#6759) feat(cli): Run command on the package closest to the current directory (noir-lang/noir#6752) chore: lock CI to use ubuntu 22.04 (noir-lang/noir#6755) chore: free memory for silenced warnings early (noir-lang/noir#6748) chore(stdlib)!: Remove Schnorr (noir-lang/noir#6749) fix: Improve type error when indexing a variable of unknown type (noir-lang/noir#6744) fix: println("{{}}") was printing "{{}}" instead of "{}" (noir-lang/noir#6745) feat: `std::hint::black_box` function. (noir-lang/noir#6529) feat(ci): Initial compilation report on test_programs (noir-lang/noir#6731) chore: Cleanup unrolling pass (noir-lang/noir#6743) fix: allow empty loop headers (noir-lang/noir#6736) fix: map entry point indexes after all ssa passes (noir-lang/noir#6740) chore: Update url to 2.5.4 (noir-lang/noir#6741) feat: Order attribute execution by their source ordering (noir-lang/noir#6326) feat(test): Check that `nargo::ops::transform_program` is idempotent (noir-lang/noir#6694) feat: Sync from aztec-packages (noir-lang/noir#6730) END_COMMIT_OVERRIDE --------- Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: thunkar <gregojquiros@gmail.com> Co-authored-by: maramihali <mara@aztecprotocol.com> Co-authored-by: TomAFrench <tom@tomfren.ch> Co-authored-by: aakoshh <akosh@aztecprotocol.com>
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat: several `nargo test` improvements (noir-lang/noir#6728) chore: Try replace callstack with a linked list (noir-lang/noir#6747) chore: Use `NumericType` not `Type` for casts and numeric constants (noir-lang/noir#6769) chore(ci): Extend compiler memory report to external repos (noir-lang/noir#6768) chore(ci): Handle external libraries in compilation timing report (noir-lang/noir#6750) feat(ssa): Implement missing brillig constraints SSA check (noir-lang/noir#6658) fix: Do not merge expressions that contain output witnesses (noir-lang/noir#6757) fix: parser would hand on function type with colon in it (noir-lang/noir#6764) chore(docs): Update branding (noir-lang/noir#6759) feat(cli): Run command on the package closest to the current directory (noir-lang/noir#6752) chore: lock CI to use ubuntu 22.04 (noir-lang/noir#6755) chore: free memory for silenced warnings early (noir-lang/noir#6748) chore(stdlib)!: Remove Schnorr (noir-lang/noir#6749) fix: Improve type error when indexing a variable of unknown type (noir-lang/noir#6744) fix: println("{{}}") was printing "{{}}" instead of "{}" (noir-lang/noir#6745) feat: `std::hint::black_box` function. (noir-lang/noir#6529) feat(ci): Initial compilation report on test_programs (noir-lang/noir#6731) chore: Cleanup unrolling pass (noir-lang/noir#6743) fix: allow empty loop headers (noir-lang/noir#6736) fix: map entry point indexes after all ssa passes (noir-lang/noir#6740) chore: Update url to 2.5.4 (noir-lang/noir#6741) feat: Order attribute execution by their source ordering (noir-lang/noir#6326) feat(test): Check that `nargo::ops::transform_program` is idempotent (noir-lang/noir#6694) feat: Sync from aztec-packages (noir-lang/noir#6730) END_COMMIT_OVERRIDE --------- Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: thunkar <gregojquiros@gmail.com> Co-authored-by: maramihali <mara@aztecprotocol.com> Co-authored-by: TomAFrench <tom@tomfren.ch> Co-authored-by: aakoshh <akosh@aztecprotocol.com>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.67.0</summary> ## [0.67.0](aztec-package-v0.66.0...aztec-package-v0.67.0) (2024-12-13) ### Features * Deploy faucet ([#10580](#10580)) ([09e95a1](09e95a1)) * Expose P2P service API and clean up logs ([#10552](#10552)) ([98cea58](98cea58)), closes [#10299](#10299) * PXE in the browser ([#10353](#10353)) ([676f673](676f673)) * PXE sync on demand ([#10613](#10613)) ([b2f1159](b2f1159)) ### Bug Fixes * Do not load pino-pretty in production bundles ([#10578](#10578)) ([e515e6e](e515e6e)) * Tweaking Fr and Fq fromString functionality to distinguish number-only strings ([#10529](#10529)) ([736fce1](736fce1)) ### Miscellaneous * Bump jest default test timeout to 30s ([#10550](#10550)) ([841bf48](841bf48)) * Rename logger modules ([#10404](#10404)) ([7441767](7441767)), closes [#10125](#10125) </details> <details><summary>barretenberg.js: 0.67.0</summary> ## [0.67.0](barretenberg.js-v0.66.0...barretenberg.js-v0.67.0) (2024-12-13) ### Features * CIVC browser proveThenVerify ([#10431](#10431)) ([8c064d4](8c064d4)) * Keccak honk proving in bb.js ([#10489](#10489)) ([e0d7431](e0d7431)) ### Bug Fixes * Bump hard coded SRS size for wasm from 2^19 to 2^10 ([#10596](#10596)) ([a37f82d](a37f82d)) </details> <details><summary>aztec-packages: 0.67.0</summary> ## [0.67.0](aztec-packages-v0.66.0...aztec-packages-v0.67.0) (2024-12-13) ### ⚠ BREAKING CHANGES * **stdlib:** Remove Schnorr (noir-lang/noir#6749) * lower public tx gas limit to 6M ([#10635](#10635)) * l2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](#10214)) * rm outgoing logs ([#10486](#10486)) * rename Header to BlockHeader ([#10372](#10372)) * several format string fixes and improvements (noir-lang/noir#6703) ### Features * `std::hint::black_box` function. (noir-lang/noir#6529) ([3166529](3166529)) * Add rollup circuit sample inputs ([#10608](#10608)) ([775b459](775b459)) * Add verify proof calls to private kernels ([#10533](#10533)) ([ce0eee0](ce0eee0)) * Adding fuzzer for ultra bigfield and relaxing ultra circuit checker ([#10433](#10433)) ([da4c47c](da4c47c)) * Allow making range queries to prometheus in tests ([f9810cc](f9810cc)) * Allow metrics to be instantly flushed ([f9810cc](f9810cc)) * AVM inserts fee write on txs with public calls ([#10394](#10394)) ([98ba747](98ba747)) * **ci:** Initial compilation report on test_programs (noir-lang/noir#6731) ([3166529](3166529)) * CIVC browser proveThenVerify ([#10431](#10431)) ([8c064d4](8c064d4)) * Cli wallet improvements ([#10425](#10425)) ([cc8bd80](cc8bd80)) * **cli:** Run command on the package closest to the current directory (noir-lang/noir#6752) ([3166529](3166529)) * DB Metrics now use labels for easier querying ([#10572](#10572)) ([adadfa5](adadfa5)) * Deploy a network using master each night night ([#10536](#10536)) ([015ec0e](015ec0e)), closes [#10474](#10474) [#10473](#10473) * Deploy faucet ([#10580](#10580)) ([09e95a1](09e95a1)) * Do not make unique revertible note hashes in the private kernels ([#10524](#10524)) ([d327da1](d327da1)) * Emulating blocks and correct (non-partial) note discovery in txe ([#10356](#10356)) ([6f209fb](6f209fb)) * Expose P2P service API and clean up logs ([#10552](#10552)) ([98cea58](98cea58)), closes [#10299](#10299) * GETCONTRACTINSTANCE and bytecode retrieval perform nullifier membership checks ([#10445](#10445)) ([9301253](9301253)), closes [#10377](#10377) [#10379](#10379) * Handle nested calls in witgen ([#10384](#10384)) ([1e21f31](1e21f31)) * Keccak honk proving in bb.js ([#10489](#10489)) ([e0d7431](e0d7431)) * Metrics via terraform ([#10594](#10594)) ([e21069d](e21069d)), closes [#10191](#10191) [#10439](#10439) * Modify HonkRecursionConstraint to handle IPA claims ([#10469](#10469)) ([a204d1b](a204d1b)) * Order attribute execution by their source ordering (noir-lang/noir#6326) ([3166529](3166529)) * Persistence in helm chart for validator and boot node ([#10543](#10543)) ([f9810cc](f9810cc)) * Prover-client exec timing analysis scripts. ([82434a2](82434a2)) * PXE in the browser ([#10353](#10353)) ([676f673](676f673)) * PXE sync on demand ([#10613](#10613)) ([b2f1159](b2f1159)) * Remove auto verify mode from ClientIVC ([#10599](#10599)) ([b1d8b97](b1d8b97)) * Rename Header to BlockHeader ([#10372](#10372)) ([0803964](0803964)) * Rm outgoing logs ([#10486](#10486)) ([c28beec](c28beec)) * Sayonara old hints ([#10547](#10547)) ([dede16e](dede16e)) * Several `nargo test` improvements (noir-lang/noir#6728) ([3166529](3166529)) * Several Updates in SMT verification module (part 1) ([#10437](#10437)) ([0c37672](0c37672)) * **ssa:** Implement missing brillig constraints SSA check (noir-lang/noir#6658) ([3166529](3166529)) * Sync from aztec-packages (noir-lang/noir#6730) ([3166529](3166529)) * **test:** Check that `nargo::ops::transform_program` is idempotent (noir-lang/noir#6694) ([3166529](3166529)) * Unified create circuit from acir ([#10440](#10440)) ([a4dfe13](a4dfe13)) * Update and generate test Prover.tomls for protocol circuits ([#10659](#10659)) ([eb5f18a](eb5f18a)) ### Bug Fixes * [#10473](#10473) ([015ec0e](015ec0e)) * [#10474](#10474) ([015ec0e](015ec0e)) * Allow empty loop headers (noir-lang/noir#6736) ([3166529](3166529)) * Always respect aztec image pull policy ([#10617](#10617)) ([e7686f1](e7686f1)) * Attempt to fix flake in e2e cross chain messaging test ([#10634](#10634)) ([a69502c](a69502c)) * Bad merge on boxes ([#10579](#10579)) ([9b26651](9b26651)) * Boxes webpack config ([#10548](#10548)) ([49f9418](49f9418)) * Bump hard coded SRS size for wasm from 2^19 to 2^10 ([#10596](#10596)) ([a37f82d](a37f82d)) * Bump timeout for failing data store tests ([#10639](#10639)) ([c75fee0](c75fee0)) * Correct size in bytes of a complete address ([#10574](#10574)) ([e72b988](e72b988)) * Destroy old masternet if we can ([#10584](#10584)) ([679684d](679684d)) * Do not attempt proof quote on empty epoch ([#10557](#10557)) ([39d3bc2](39d3bc2)) * Do not load pino-pretty in production bundles ([#10578](#10578)) ([e515e6e](e515e6e)) * Do not merge expressions that contain output witnesses (noir-lang/noir#6757) ([3166529](3166529)) * Ensure LMDB store metrics have hard coded descriptions ([#10642](#10642)) ([043e2c2](043e2c2)) * Formatting master ([#10583](#10583)) ([79e49c9](79e49c9)) * Git dependency trailing slash (noir-lang/noir#6725) ([f4ed66b](f4ed66b)) * Improve type error when indexing a variable of unknown type (noir-lang/noir#6744) ([3166529](3166529)) * Link in README.md ([#10471](#10471)) ([fca9600](fca9600)) * Log level not honored with multi transport ([#10643](#10643)) ([e1e5864](e1e5864)) * Map entry point indexes after all ssa passes (noir-lang/noir#6740) ([3166529](3166529)) * Memory leak in the broker ([#10567](#10567)) ([ecc037f](ecc037f)) * Mispelled aztec ([#10491](#10491)) ([866a5f7](866a5f7)) * Parser would hand on function type with colon in it (noir-lang/noir#6764) ([3166529](3166529)) * Pass salt to deploy-l1-contracts.sh ([#10586](#10586)) ([d6be2c8](d6be2c8)) * Pod anti affinity spans all namespaces ([#10475](#10475)) ([2d4dc3d](2d4dc3d)) * Print ssa blocks without recursion (noir-lang/noir#6715) ([f4ed66b](f4ed66b)) * Println("{{}}") was printing "{{}}" instead of "{}" (noir-lang/noir#6745) ([3166529](3166529)) * Properly trace storage reads to slots never written before in AVM ([#10560](#10560)) ([410c730](410c730)) * Remove auto verify in cbind ivc prove ([#10627](#10627)) ([d773423](d773423)) * Remove otel collector endpoint ([#10604](#10604)) ([276a82c](276a82c)) * Sequencer negative histogram recodings ([#10490](#10490)) ([623f3e2](623f3e2)) * Several format string fixes and improvements (noir-lang/noir#6703) ([f4ed66b](f4ed66b)) * Simulation error enriching ([#10595](#10595)) ([2c36088](2c36088)) * Temporary fix for private kernel tail proving ([#10593](#10593)) ([d194cdf](d194cdf)) * Track published bytecode ([#10636](#10636)) ([cadb4ce](cadb4ce)) * Tweaking Fr and Fq fromString functionality to distinguish number-only strings ([#10529](#10529)) ([736fce1](736fce1)) * Use e2e structure in cbind ([#10585](#10585)) ([985aef1](985aef1)) ### Miscellaneous * Add a few regression tests for [#6674](#6674) (noir-lang/noir#6687) ([f4ed66b](f4ed66b)) * Add script to check for critical libraries supporting a given Noir version (noir-lang/noir#6697) ([f4ed66b](f4ed66b)) * **avm:** Gas constants adjustment based on trace rows accounting ([#10614](#10614)) ([fc729ef](fc729ef)), closes [#10368](#10368) * **avm:** More pilcom compat changes ([#10569](#10569)) ([f18d701](f18d701)) * **avm:** Pilcom compatibility changes ([#10544](#10544)) ([fbc8c0e](fbc8c0e)) * **avm:** Reduce the number of gates for fake AVM recursive verifier ([#10619](#10619)) ([0be44b2](0be44b2)) * **avm:** Remove function selector from AvmExecutionEnvironment ([#10532](#10532)) ([fef5f93](fef5f93)) * Boxes tests cause resource issues ([#10676](#10676)) ([ccf1c78](ccf1c78)) * Bump avm tree test timeout ([323e2eb](323e2eb)) * Bump exp1 config to 48 validators ([#10577](#10577)) ([0379718](0379718)) * Bump jest default test timeout to 30s ([#10550](#10550)) ([841bf48](841bf48)) * Bump mocha timeout ([#10571](#10571)) ([35e525f](35e525f)) * Bump proven timeout ([#10680](#10680)) ([3f5cf6c](3f5cf6c)) * Bump prover agents ([#10626](#10626)) ([64eea72](64eea72)) * **ci:** Extend compiler memory report to external repos (noir-lang/noir#6768) ([3166529](3166529)) * **ci:** Handle external libraries in compilation timing report (noir-lang/noir#6750) ([3166529](3166529)) * **ci:** Prune launch templates job ([#10561](#10561)) ([d6e4f4c](d6e4f4c)) * **ci:** Reenable `rerun-check` job ([#10653](#10653)) ([b2c4f48](b2c4f48)) * Cleanup unrolling pass (noir-lang/noir#6743) ([3166529](3166529)) * Disable broken test ([#10663](#10663)) ([0771260](0771260)) * Disable ivc integration yarn tests ([#10625](#10625)) ([7c50107](7c50107)) * **docs:** Update branding (noir-lang/noir#6759) ([3166529](3166529)) * Documenting convenient redirect to the spartan creator ([#10565](#10565)) ([b94b8ee](b94b8ee)) * Enable nightly tests ([#10542](#10542)) ([4fa068c](4fa068c)) * Faucet LB if public, proving devnet ([#10665](#10665)) ([996d921](996d921)) * Fix build issue from bad merge ([85c0676](85c0676)) * Fix migration notes ([#10656](#10656)) ([333d6ce](333d6ce)) * Fix public keys deserialization ([#10647](#10647)) ([12473c8](12473c8)) * Flush archiver metrics on startup ([f9810cc](f9810cc)) * Free memory for silenced warnings early (noir-lang/noir#6748) ([3166529](3166529)) * Give validators/boot-nodes 100Gi in network configs ([f9810cc](f9810cc)) * Handle errors in e2e teardown to fix e2e token ([#10590](#10590)) ([5d4cdc1](5d4cdc1)) * Increase test timeout to reduce flakes ([#10641](#10641)) ([4ade2ad](4ade2ad)) * Inject k8s pod name and uid ([#10633](#10633)) ([eb472ff](eb472ff)) * L2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](#10214)) ([1365401](1365401)) * Load balancers for the boot node, longer epochs ([#10632](#10632)) ([001bbb1](001bbb1)) * Lock CI to use ubuntu 22.04 (noir-lang/noir#6755) ([3166529](3166529)) * Log when validator enters commitee ([#10615](#10615)) ([7746a39](7746a39)), closes [#10337](#10337) * Lower public tx gas limit to 6M ([#10635](#10635)) ([9836036](9836036)) * Merge queue CI ([#10629](#10629)) ([835e6fd](835e6fd)) * More bots for exp1 ([#10671](#10671)) ([0ba2425](0ba2425)) * More logs cleanup ([#10630](#10630)) ([00c629c](00c629c)) * Move some nr utils around ([#10553](#10553)) ([d132f83](d132f83)) * Moving stuff from the aztec sequencer node guide into this README ([#10570](#10570)) ([93b8b1b](93b8b1b)) * Optimise grand product computation round based on active ranges ([#10460](#10460)) ([7fa8f84](7fa8f84)) * Optimise older opcodes in reverse order (noir-lang/noir#6476) ([f4ed66b](f4ed66b)) * Redo typo PR by Madmaxs2 (noir-lang/noir#6721) ([f4ed66b](f4ed66b)) * Reduce bb_prover_full_rollup to a single block epoch test ([#10679](#10679)) ([0c2a4d9](0c2a4d9)) * Remove Proxy from json rpc client ([#10554](#10554)) ([93b1c45](93b1c45)) * Remove warnings from protocol circuits ([#10556](#10556)) ([e065e05](e065e05)) * Rename logger modules ([#10404](#10404)) ([7441767](7441767)), closes [#10125](#10125) * Rename pxe script generate-package-info to generate ([#10534](#10534)) ([ead9c0b](ead9c0b)) * Replace relative paths to noir-protocol-circuits ([acfd5df](acfd5df)) * Replace relative paths to noir-protocol-circuits ([6c0533f](6c0533f)) * Replace relative paths to noir-protocol-circuits ([a245b95](a245b95)) * Replace relative paths to noir-protocol-circuits ([153c720](153c720)) * Replace relative paths to noir-protocol-circuits ([a080436](a080436)) * Replace relative paths to noir-protocol-circuits ([8419f5a](8419f5a)) * Secret derivation funcs naming cleanup ([#10637](#10637)) ([5c50711](5c50711)) * Simplify MSM with constant folding (noir-lang/noir#6650) ([f4ed66b](f4ed66b)) * **stdlib:** Remove Schnorr (noir-lang/noir#6749) ([3166529](3166529)) * Try replace callstack with a linked list (noir-lang/noir#6747) ([3166529](3166529)) * Tweak validator logs ([#10597](#10597)) ([9eaa527](9eaa527)) * Unprove devnet ([#10683](#10683)) ([1c92f77](1c92f77)) * Update url to 2.5.4 (noir-lang/noir#6741) ([3166529](3166529)) * Use `NumericType` not `Type` for casts and numeric constants (noir-lang/noir#6769) ([3166529](3166529)) * **val:** Reject proposals not for the current or next slot ([#10450](#10450)) ([27620f5](27620f5)) </details> <details><summary>barretenberg: 0.67.0</summary> ## [0.67.0](barretenberg-v0.66.0...barretenberg-v0.67.0) (2024-12-13) ### ⚠ BREAKING CHANGES * lower public tx gas limit to 6M ([#10635](#10635)) * l2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](#10214)) * rename Header to BlockHeader ([#10372](#10372)) ### Features * Add verify proof calls to private kernels ([#10533](#10533)) ([ce0eee0](ce0eee0)) * Adding fuzzer for ultra bigfield and relaxing ultra circuit checker ([#10433](#10433)) ([da4c47c](da4c47c)) * AVM inserts fee write on txs with public calls ([#10394](#10394)) ([98ba747](98ba747)) * CIVC browser proveThenVerify ([#10431](#10431)) ([8c064d4](8c064d4)) * GETCONTRACTINSTANCE and bytecode retrieval perform nullifier membership checks ([#10445](#10445)) ([9301253](9301253)), closes [#10377](#10377) [#10379](#10379) * Handle nested calls in witgen ([#10384](#10384)) ([1e21f31](1e21f31)) * Keccak honk proving in bb.js ([#10489](#10489)) ([e0d7431](e0d7431)) * Modify HonkRecursionConstraint to handle IPA claims ([#10469](#10469)) ([a204d1b](a204d1b)) * Remove auto verify mode from ClientIVC ([#10599](#10599)) ([b1d8b97](b1d8b97)) * Rename Header to BlockHeader ([#10372](#10372)) ([0803964](0803964)) * Sayonara old hints ([#10547](#10547)) ([dede16e](dede16e)) * Several Updates in SMT verification module (part 1) ([#10437](#10437)) ([0c37672](0c37672)) * Unified create circuit from acir ([#10440](#10440)) ([a4dfe13](a4dfe13)) ### Bug Fixes * Remove auto verify in cbind ivc prove ([#10627](#10627)) ([d773423](d773423)) * Use e2e structure in cbind ([#10585](#10585)) ([985aef1](985aef1)) ### Miscellaneous * **avm:** Gas constants adjustment based on trace rows accounting ([#10614](#10614)) ([fc729ef](fc729ef)), closes [#10368](#10368) * **avm:** More pilcom compat changes ([#10569](#10569)) ([f18d701](f18d701)) * **avm:** Pilcom compatibility changes ([#10544](#10544)) ([fbc8c0e](fbc8c0e)) * L2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](#10214)) ([1365401](1365401)) * Lower public tx gas limit to 6M ([#10635](#10635)) ([9836036](9836036)) * Optimise grand product computation round based on active ranges ([#10460](#10460)) ([7fa8f84](7fa8f84)) </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.67.0</summary> ## [0.67.0](AztecProtocol/aztec-packages@aztec-package-v0.66.0...aztec-package-v0.67.0) (2024-12-13) ### Features * Deploy faucet ([#10580](AztecProtocol/aztec-packages#10580)) ([09e95a1](AztecProtocol/aztec-packages@09e95a1)) * Expose P2P service API and clean up logs ([#10552](AztecProtocol/aztec-packages#10552)) ([98cea58](AztecProtocol/aztec-packages@98cea58)), closes [#10299](AztecProtocol/aztec-packages#10299) * PXE in the browser ([#10353](AztecProtocol/aztec-packages#10353)) ([676f673](AztecProtocol/aztec-packages@676f673)) * PXE sync on demand ([#10613](AztecProtocol/aztec-packages#10613)) ([b2f1159](AztecProtocol/aztec-packages@b2f1159)) ### Bug Fixes * Do not load pino-pretty in production bundles ([#10578](AztecProtocol/aztec-packages#10578)) ([e515e6e](AztecProtocol/aztec-packages@e515e6e)) * Tweaking Fr and Fq fromString functionality to distinguish number-only strings ([#10529](AztecProtocol/aztec-packages#10529)) ([736fce1](AztecProtocol/aztec-packages@736fce1)) ### Miscellaneous * Bump jest default test timeout to 30s ([#10550](AztecProtocol/aztec-packages#10550)) ([841bf48](AztecProtocol/aztec-packages@841bf48)) * Rename logger modules ([#10404](AztecProtocol/aztec-packages#10404)) ([7441767](AztecProtocol/aztec-packages@7441767)), closes [#10125](AztecProtocol/aztec-packages#10125) </details> <details><summary>barretenberg.js: 0.67.0</summary> ## [0.67.0](AztecProtocol/aztec-packages@barretenberg.js-v0.66.0...barretenberg.js-v0.67.0) (2024-12-13) ### Features * CIVC browser proveThenVerify ([#10431](AztecProtocol/aztec-packages#10431)) ([8c064d4](AztecProtocol/aztec-packages@8c064d4)) * Keccak honk proving in bb.js ([#10489](AztecProtocol/aztec-packages#10489)) ([e0d7431](AztecProtocol/aztec-packages@e0d7431)) ### Bug Fixes * Bump hard coded SRS size for wasm from 2^19 to 2^10 ([#10596](AztecProtocol/aztec-packages#10596)) ([a37f82d](AztecProtocol/aztec-packages@a37f82d)) </details> <details><summary>aztec-packages: 0.67.0</summary> ## [0.67.0](AztecProtocol/aztec-packages@aztec-packages-v0.66.0...aztec-packages-v0.67.0) (2024-12-13) ### ⚠ BREAKING CHANGES * **stdlib:** Remove Schnorr (noir-lang/noir#6749) * lower public tx gas limit to 6M ([#10635](AztecProtocol/aztec-packages#10635)) * l2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](AztecProtocol/aztec-packages#10214)) * rm outgoing logs ([#10486](AztecProtocol/aztec-packages#10486)) * rename Header to BlockHeader ([#10372](AztecProtocol/aztec-packages#10372)) * several format string fixes and improvements (noir-lang/noir#6703) ### Features * `std::hint::black_box` function. (noir-lang/noir#6529) ([3166529](AztecProtocol/aztec-packages@3166529)) * Add rollup circuit sample inputs ([#10608](AztecProtocol/aztec-packages#10608)) ([775b459](AztecProtocol/aztec-packages@775b459)) * Add verify proof calls to private kernels ([#10533](AztecProtocol/aztec-packages#10533)) ([ce0eee0](AztecProtocol/aztec-packages@ce0eee0)) * Adding fuzzer for ultra bigfield and relaxing ultra circuit checker ([#10433](AztecProtocol/aztec-packages#10433)) ([da4c47c](AztecProtocol/aztec-packages@da4c47c)) * Allow making range queries to prometheus in tests ([f9810cc](AztecProtocol/aztec-packages@f9810cc)) * Allow metrics to be instantly flushed ([f9810cc](AztecProtocol/aztec-packages@f9810cc)) * AVM inserts fee write on txs with public calls ([#10394](AztecProtocol/aztec-packages#10394)) ([98ba747](AztecProtocol/aztec-packages@98ba747)) * **ci:** Initial compilation report on test_programs (noir-lang/noir#6731) ([3166529](AztecProtocol/aztec-packages@3166529)) * CIVC browser proveThenVerify ([#10431](AztecProtocol/aztec-packages#10431)) ([8c064d4](AztecProtocol/aztec-packages@8c064d4)) * Cli wallet improvements ([#10425](AztecProtocol/aztec-packages#10425)) ([cc8bd80](AztecProtocol/aztec-packages@cc8bd80)) * **cli:** Run command on the package closest to the current directory (noir-lang/noir#6752) ([3166529](AztecProtocol/aztec-packages@3166529)) * DB Metrics now use labels for easier querying ([#10572](AztecProtocol/aztec-packages#10572)) ([adadfa5](AztecProtocol/aztec-packages@adadfa5)) * Deploy a network using master each night night ([#10536](AztecProtocol/aztec-packages#10536)) ([015ec0e](AztecProtocol/aztec-packages@015ec0e)), closes [#10474](AztecProtocol/aztec-packages#10474) [#10473](AztecProtocol/aztec-packages#10473) * Deploy faucet ([#10580](AztecProtocol/aztec-packages#10580)) ([09e95a1](AztecProtocol/aztec-packages@09e95a1)) * Do not make unique revertible note hashes in the private kernels ([#10524](AztecProtocol/aztec-packages#10524)) ([d327da1](AztecProtocol/aztec-packages@d327da1)) * Emulating blocks and correct (non-partial) note discovery in txe ([#10356](AztecProtocol/aztec-packages#10356)) ([6f209fb](AztecProtocol/aztec-packages@6f209fb)) * Expose P2P service API and clean up logs ([#10552](AztecProtocol/aztec-packages#10552)) ([98cea58](AztecProtocol/aztec-packages@98cea58)), closes [#10299](AztecProtocol/aztec-packages#10299) * GETCONTRACTINSTANCE and bytecode retrieval perform nullifier membership checks ([#10445](AztecProtocol/aztec-packages#10445)) ([9301253](AztecProtocol/aztec-packages@9301253)), closes [#10377](AztecProtocol/aztec-packages#10377) [#10379](AztecProtocol/aztec-packages#10379) * Handle nested calls in witgen ([#10384](AztecProtocol/aztec-packages#10384)) ([1e21f31](AztecProtocol/aztec-packages@1e21f31)) * Keccak honk proving in bb.js ([#10489](AztecProtocol/aztec-packages#10489)) ([e0d7431](AztecProtocol/aztec-packages@e0d7431)) * Metrics via terraform ([#10594](AztecProtocol/aztec-packages#10594)) ([e21069d](AztecProtocol/aztec-packages@e21069d)), closes [#10191](AztecProtocol/aztec-packages#10191) [#10439](AztecProtocol/aztec-packages#10439) * Modify HonkRecursionConstraint to handle IPA claims ([#10469](AztecProtocol/aztec-packages#10469)) ([a204d1b](AztecProtocol/aztec-packages@a204d1b)) * Order attribute execution by their source ordering (noir-lang/noir#6326) ([3166529](AztecProtocol/aztec-packages@3166529)) * Persistence in helm chart for validator and boot node ([#10543](AztecProtocol/aztec-packages#10543)) ([f9810cc](AztecProtocol/aztec-packages@f9810cc)) * Prover-client exec timing analysis scripts. ([82434a2](AztecProtocol/aztec-packages@82434a2)) * PXE in the browser ([#10353](AztecProtocol/aztec-packages#10353)) ([676f673](AztecProtocol/aztec-packages@676f673)) * PXE sync on demand ([#10613](AztecProtocol/aztec-packages#10613)) ([b2f1159](AztecProtocol/aztec-packages@b2f1159)) * Remove auto verify mode from ClientIVC ([#10599](AztecProtocol/aztec-packages#10599)) ([b1d8b97](AztecProtocol/aztec-packages@b1d8b97)) * Rename Header to BlockHeader ([#10372](AztecProtocol/aztec-packages#10372)) ([0803964](AztecProtocol/aztec-packages@0803964)) * Rm outgoing logs ([#10486](AztecProtocol/aztec-packages#10486)) ([c28beec](AztecProtocol/aztec-packages@c28beec)) * Sayonara old hints ([#10547](AztecProtocol/aztec-packages#10547)) ([dede16e](AztecProtocol/aztec-packages@dede16e)) * Several `nargo test` improvements (noir-lang/noir#6728) ([3166529](AztecProtocol/aztec-packages@3166529)) * Several Updates in SMT verification module (part 1) ([#10437](AztecProtocol/aztec-packages#10437)) ([0c37672](AztecProtocol/aztec-packages@0c37672)) * **ssa:** Implement missing brillig constraints SSA check (noir-lang/noir#6658) ([3166529](AztecProtocol/aztec-packages@3166529)) * Sync from aztec-packages (noir-lang/noir#6730) ([3166529](AztecProtocol/aztec-packages@3166529)) * **test:** Check that `nargo::ops::transform_program` is idempotent (noir-lang/noir#6694) ([3166529](AztecProtocol/aztec-packages@3166529)) * Unified create circuit from acir ([#10440](AztecProtocol/aztec-packages#10440)) ([a4dfe13](AztecProtocol/aztec-packages@a4dfe13)) * Update and generate test Prover.tomls for protocol circuits ([#10659](AztecProtocol/aztec-packages#10659)) ([eb5f18a](AztecProtocol/aztec-packages@eb5f18a)) ### Bug Fixes * [#10473](AztecProtocol/aztec-packages#10473) ([015ec0e](AztecProtocol/aztec-packages@015ec0e)) * [#10474](AztecProtocol/aztec-packages#10474) ([015ec0e](AztecProtocol/aztec-packages@015ec0e)) * Allow empty loop headers (noir-lang/noir#6736) ([3166529](AztecProtocol/aztec-packages@3166529)) * Always respect aztec image pull policy ([#10617](AztecProtocol/aztec-packages#10617)) ([e7686f1](AztecProtocol/aztec-packages@e7686f1)) * Attempt to fix flake in e2e cross chain messaging test ([#10634](AztecProtocol/aztec-packages#10634)) ([a69502c](AztecProtocol/aztec-packages@a69502c)) * Bad merge on boxes ([#10579](AztecProtocol/aztec-packages#10579)) ([9b26651](AztecProtocol/aztec-packages@9b26651)) * Boxes webpack config ([#10548](AztecProtocol/aztec-packages#10548)) ([49f9418](AztecProtocol/aztec-packages@49f9418)) * Bump hard coded SRS size for wasm from 2^19 to 2^10 ([#10596](AztecProtocol/aztec-packages#10596)) ([a37f82d](AztecProtocol/aztec-packages@a37f82d)) * Bump timeout for failing data store tests ([#10639](AztecProtocol/aztec-packages#10639)) ([c75fee0](AztecProtocol/aztec-packages@c75fee0)) * Correct size in bytes of a complete address ([#10574](AztecProtocol/aztec-packages#10574)) ([e72b988](AztecProtocol/aztec-packages@e72b988)) * Destroy old masternet if we can ([#10584](AztecProtocol/aztec-packages#10584)) ([679684d](AztecProtocol/aztec-packages@679684d)) * Do not attempt proof quote on empty epoch ([#10557](AztecProtocol/aztec-packages#10557)) ([39d3bc2](AztecProtocol/aztec-packages@39d3bc2)) * Do not load pino-pretty in production bundles ([#10578](AztecProtocol/aztec-packages#10578)) ([e515e6e](AztecProtocol/aztec-packages@e515e6e)) * Do not merge expressions that contain output witnesses (noir-lang/noir#6757) ([3166529](AztecProtocol/aztec-packages@3166529)) * Ensure LMDB store metrics have hard coded descriptions ([#10642](AztecProtocol/aztec-packages#10642)) ([043e2c2](AztecProtocol/aztec-packages@043e2c2)) * Formatting master ([#10583](AztecProtocol/aztec-packages#10583)) ([79e49c9](AztecProtocol/aztec-packages@79e49c9)) * Git dependency trailing slash (noir-lang/noir#6725) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * Improve type error when indexing a variable of unknown type (noir-lang/noir#6744) ([3166529](AztecProtocol/aztec-packages@3166529)) * Link in README.md ([#10471](AztecProtocol/aztec-packages#10471)) ([fca9600](AztecProtocol/aztec-packages@fca9600)) * Log level not honored with multi transport ([#10643](AztecProtocol/aztec-packages#10643)) ([e1e5864](AztecProtocol/aztec-packages@e1e5864)) * Map entry point indexes after all ssa passes (noir-lang/noir#6740) ([3166529](AztecProtocol/aztec-packages@3166529)) * Memory leak in the broker ([#10567](AztecProtocol/aztec-packages#10567)) ([ecc037f](AztecProtocol/aztec-packages@ecc037f)) * Mispelled aztec ([#10491](AztecProtocol/aztec-packages#10491)) ([866a5f7](AztecProtocol/aztec-packages@866a5f7)) * Parser would hand on function type with colon in it (noir-lang/noir#6764) ([3166529](AztecProtocol/aztec-packages@3166529)) * Pass salt to deploy-l1-contracts.sh ([#10586](AztecProtocol/aztec-packages#10586)) ([d6be2c8](AztecProtocol/aztec-packages@d6be2c8)) * Pod anti affinity spans all namespaces ([#10475](AztecProtocol/aztec-packages#10475)) ([2d4dc3d](AztecProtocol/aztec-packages@2d4dc3d)) * Print ssa blocks without recursion (noir-lang/noir#6715) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * Println("{{}}") was printing "{{}}" instead of "{}" (noir-lang/noir#6745) ([3166529](AztecProtocol/aztec-packages@3166529)) * Properly trace storage reads to slots never written before in AVM ([#10560](AztecProtocol/aztec-packages#10560)) ([410c730](AztecProtocol/aztec-packages@410c730)) * Remove auto verify in cbind ivc prove ([#10627](AztecProtocol/aztec-packages#10627)) ([d773423](AztecProtocol/aztec-packages@d773423)) * Remove otel collector endpoint ([#10604](AztecProtocol/aztec-packages#10604)) ([276a82c](AztecProtocol/aztec-packages@276a82c)) * Sequencer negative histogram recodings ([#10490](AztecProtocol/aztec-packages#10490)) ([623f3e2](AztecProtocol/aztec-packages@623f3e2)) * Several format string fixes and improvements (noir-lang/noir#6703) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * Simulation error enriching ([#10595](AztecProtocol/aztec-packages#10595)) ([2c36088](AztecProtocol/aztec-packages@2c36088)) * Temporary fix for private kernel tail proving ([#10593](AztecProtocol/aztec-packages#10593)) ([d194cdf](AztecProtocol/aztec-packages@d194cdf)) * Track published bytecode ([#10636](AztecProtocol/aztec-packages#10636)) ([cadb4ce](AztecProtocol/aztec-packages@cadb4ce)) * Tweaking Fr and Fq fromString functionality to distinguish number-only strings ([#10529](AztecProtocol/aztec-packages#10529)) ([736fce1](AztecProtocol/aztec-packages@736fce1)) * Use e2e structure in cbind ([#10585](AztecProtocol/aztec-packages#10585)) ([985aef1](AztecProtocol/aztec-packages@985aef1)) ### Miscellaneous * Add a few regression tests for [#6674](AztecProtocol/aztec-packages#6674) (noir-lang/noir#6687) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * Add script to check for critical libraries supporting a given Noir version (noir-lang/noir#6697) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * **avm:** Gas constants adjustment based on trace rows accounting ([#10614](AztecProtocol/aztec-packages#10614)) ([fc729ef](AztecProtocol/aztec-packages@fc729ef)), closes [#10368](AztecProtocol/aztec-packages#10368) * **avm:** More pilcom compat changes ([#10569](AztecProtocol/aztec-packages#10569)) ([f18d701](AztecProtocol/aztec-packages@f18d701)) * **avm:** Pilcom compatibility changes ([#10544](AztecProtocol/aztec-packages#10544)) ([fbc8c0e](AztecProtocol/aztec-packages@fbc8c0e)) * **avm:** Reduce the number of gates for fake AVM recursive verifier ([#10619](AztecProtocol/aztec-packages#10619)) ([0be44b2](AztecProtocol/aztec-packages@0be44b2)) * **avm:** Remove function selector from AvmExecutionEnvironment ([#10532](AztecProtocol/aztec-packages#10532)) ([fef5f93](AztecProtocol/aztec-packages@fef5f93)) * Boxes tests cause resource issues ([#10676](AztecProtocol/aztec-packages#10676)) ([ccf1c78](AztecProtocol/aztec-packages@ccf1c78)) * Bump avm tree test timeout ([323e2eb](AztecProtocol/aztec-packages@323e2eb)) * Bump exp1 config to 48 validators ([#10577](AztecProtocol/aztec-packages#10577)) ([0379718](AztecProtocol/aztec-packages@0379718)) * Bump jest default test timeout to 30s ([#10550](AztecProtocol/aztec-packages#10550)) ([841bf48](AztecProtocol/aztec-packages@841bf48)) * Bump mocha timeout ([#10571](AztecProtocol/aztec-packages#10571)) ([35e525f](AztecProtocol/aztec-packages@35e525f)) * Bump proven timeout ([#10680](AztecProtocol/aztec-packages#10680)) ([3f5cf6c](AztecProtocol/aztec-packages@3f5cf6c)) * Bump prover agents ([#10626](AztecProtocol/aztec-packages#10626)) ([64eea72](AztecProtocol/aztec-packages@64eea72)) * **ci:** Extend compiler memory report to external repos (noir-lang/noir#6768) ([3166529](AztecProtocol/aztec-packages@3166529)) * **ci:** Handle external libraries in compilation timing report (noir-lang/noir#6750) ([3166529](AztecProtocol/aztec-packages@3166529)) * **ci:** Prune launch templates job ([#10561](AztecProtocol/aztec-packages#10561)) ([d6e4f4c](AztecProtocol/aztec-packages@d6e4f4c)) * **ci:** Reenable `rerun-check` job ([#10653](AztecProtocol/aztec-packages#10653)) ([b2c4f48](AztecProtocol/aztec-packages@b2c4f48)) * Cleanup unrolling pass (noir-lang/noir#6743) ([3166529](AztecProtocol/aztec-packages@3166529)) * Disable broken test ([#10663](AztecProtocol/aztec-packages#10663)) ([0771260](AztecProtocol/aztec-packages@0771260)) * Disable ivc integration yarn tests ([#10625](AztecProtocol/aztec-packages#10625)) ([7c50107](AztecProtocol/aztec-packages@7c50107)) * **docs:** Update branding (noir-lang/noir#6759) ([3166529](AztecProtocol/aztec-packages@3166529)) * Documenting convenient redirect to the spartan creator ([#10565](AztecProtocol/aztec-packages#10565)) ([b94b8ee](AztecProtocol/aztec-packages@b94b8ee)) * Enable nightly tests ([#10542](AztecProtocol/aztec-packages#10542)) ([4fa068c](AztecProtocol/aztec-packages@4fa068c)) * Faucet LB if public, proving devnet ([#10665](AztecProtocol/aztec-packages#10665)) ([996d921](AztecProtocol/aztec-packages@996d921)) * Fix build issue from bad merge ([85c0676](AztecProtocol/aztec-packages@85c0676)) * Fix migration notes ([#10656](AztecProtocol/aztec-packages#10656)) ([333d6ce](AztecProtocol/aztec-packages@333d6ce)) * Fix public keys deserialization ([#10647](AztecProtocol/aztec-packages#10647)) ([12473c8](AztecProtocol/aztec-packages@12473c8)) * Flush archiver metrics on startup ([f9810cc](AztecProtocol/aztec-packages@f9810cc)) * Free memory for silenced warnings early (noir-lang/noir#6748) ([3166529](AztecProtocol/aztec-packages@3166529)) * Give validators/boot-nodes 100Gi in network configs ([f9810cc](AztecProtocol/aztec-packages@f9810cc)) * Handle errors in e2e teardown to fix e2e token ([#10590](AztecProtocol/aztec-packages#10590)) ([5d4cdc1](AztecProtocol/aztec-packages@5d4cdc1)) * Increase test timeout to reduce flakes ([#10641](AztecProtocol/aztec-packages#10641)) ([4ade2ad](AztecProtocol/aztec-packages@4ade2ad)) * Inject k8s pod name and uid ([#10633](AztecProtocol/aztec-packages#10633)) ([eb472ff](AztecProtocol/aztec-packages@eb472ff)) * L2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](AztecProtocol/aztec-packages#10214)) ([1365401](AztecProtocol/aztec-packages@1365401)) * Load balancers for the boot node, longer epochs ([#10632](AztecProtocol/aztec-packages#10632)) ([001bbb1](AztecProtocol/aztec-packages@001bbb1)) * Lock CI to use ubuntu 22.04 (noir-lang/noir#6755) ([3166529](AztecProtocol/aztec-packages@3166529)) * Log when validator enters commitee ([#10615](AztecProtocol/aztec-packages#10615)) ([7746a39](AztecProtocol/aztec-packages@7746a39)), closes [#10337](AztecProtocol/aztec-packages#10337) * Lower public tx gas limit to 6M ([#10635](AztecProtocol/aztec-packages#10635)) ([9836036](AztecProtocol/aztec-packages@9836036)) * Merge queue CI ([#10629](AztecProtocol/aztec-packages#10629)) ([835e6fd](AztecProtocol/aztec-packages@835e6fd)) * More bots for exp1 ([#10671](AztecProtocol/aztec-packages#10671)) ([0ba2425](AztecProtocol/aztec-packages@0ba2425)) * More logs cleanup ([#10630](AztecProtocol/aztec-packages#10630)) ([00c629c](AztecProtocol/aztec-packages@00c629c)) * Move some nr utils around ([#10553](AztecProtocol/aztec-packages#10553)) ([d132f83](AztecProtocol/aztec-packages@d132f83)) * Moving stuff from the aztec sequencer node guide into this README ([#10570](AztecProtocol/aztec-packages#10570)) ([93b8b1b](AztecProtocol/aztec-packages@93b8b1b)) * Optimise grand product computation round based on active ranges ([#10460](AztecProtocol/aztec-packages#10460)) ([7fa8f84](AztecProtocol/aztec-packages@7fa8f84)) * Optimise older opcodes in reverse order (noir-lang/noir#6476) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * Redo typo PR by Madmaxs2 (noir-lang/noir#6721) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * Reduce bb_prover_full_rollup to a single block epoch test ([#10679](AztecProtocol/aztec-packages#10679)) ([0c2a4d9](AztecProtocol/aztec-packages@0c2a4d9)) * Remove Proxy from json rpc client ([#10554](AztecProtocol/aztec-packages#10554)) ([93b1c45](AztecProtocol/aztec-packages@93b1c45)) * Remove warnings from protocol circuits ([#10556](AztecProtocol/aztec-packages#10556)) ([e065e05](AztecProtocol/aztec-packages@e065e05)) * Rename logger modules ([#10404](AztecProtocol/aztec-packages#10404)) ([7441767](AztecProtocol/aztec-packages@7441767)), closes [#10125](AztecProtocol/aztec-packages#10125) * Rename pxe script generate-package-info to generate ([#10534](AztecProtocol/aztec-packages#10534)) ([ead9c0b](AztecProtocol/aztec-packages@ead9c0b)) * Replace relative paths to noir-protocol-circuits ([acfd5df](AztecProtocol/aztec-packages@acfd5df)) * Replace relative paths to noir-protocol-circuits ([6c0533f](AztecProtocol/aztec-packages@6c0533f)) * Replace relative paths to noir-protocol-circuits ([a245b95](AztecProtocol/aztec-packages@a245b95)) * Replace relative paths to noir-protocol-circuits ([153c720](AztecProtocol/aztec-packages@153c720)) * Replace relative paths to noir-protocol-circuits ([a080436](AztecProtocol/aztec-packages@a080436)) * Replace relative paths to noir-protocol-circuits ([8419f5a](AztecProtocol/aztec-packages@8419f5a)) * Secret derivation funcs naming cleanup ([#10637](AztecProtocol/aztec-packages#10637)) ([5c50711](AztecProtocol/aztec-packages@5c50711)) * Simplify MSM with constant folding (noir-lang/noir#6650) ([f4ed66b](AztecProtocol/aztec-packages@f4ed66b)) * **stdlib:** Remove Schnorr (noir-lang/noir#6749) ([3166529](AztecProtocol/aztec-packages@3166529)) * Try replace callstack with a linked list (noir-lang/noir#6747) ([3166529](AztecProtocol/aztec-packages@3166529)) * Tweak validator logs ([#10597](AztecProtocol/aztec-packages#10597)) ([9eaa527](AztecProtocol/aztec-packages@9eaa527)) * Unprove devnet ([#10683](AztecProtocol/aztec-packages#10683)) ([1c92f77](AztecProtocol/aztec-packages@1c92f77)) * Update url to 2.5.4 (noir-lang/noir#6741) ([3166529](AztecProtocol/aztec-packages@3166529)) * Use `NumericType` not `Type` for casts and numeric constants (noir-lang/noir#6769) ([3166529](AztecProtocol/aztec-packages@3166529)) * **val:** Reject proposals not for the current or next slot ([#10450](AztecProtocol/aztec-packages#10450)) ([27620f5](AztecProtocol/aztec-packages@27620f5)) </details> <details><summary>barretenberg: 0.67.0</summary> ## [0.67.0](AztecProtocol/aztec-packages@barretenberg-v0.66.0...barretenberg-v0.67.0) (2024-12-13) ### ⚠ BREAKING CHANGES * lower public tx gas limit to 6M ([#10635](AztecProtocol/aztec-packages#10635)) * l2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](AztecProtocol/aztec-packages#10214)) * rename Header to BlockHeader ([#10372](AztecProtocol/aztec-packages#10372)) ### Features * Add verify proof calls to private kernels ([#10533](AztecProtocol/aztec-packages#10533)) ([ce0eee0](AztecProtocol/aztec-packages@ce0eee0)) * Adding fuzzer for ultra bigfield and relaxing ultra circuit checker ([#10433](AztecProtocol/aztec-packages#10433)) ([da4c47c](AztecProtocol/aztec-packages@da4c47c)) * AVM inserts fee write on txs with public calls ([#10394](AztecProtocol/aztec-packages#10394)) ([98ba747](AztecProtocol/aztec-packages@98ba747)) * CIVC browser proveThenVerify ([#10431](AztecProtocol/aztec-packages#10431)) ([8c064d4](AztecProtocol/aztec-packages@8c064d4)) * GETCONTRACTINSTANCE and bytecode retrieval perform nullifier membership checks ([#10445](AztecProtocol/aztec-packages#10445)) ([9301253](AztecProtocol/aztec-packages@9301253)), closes [#10377](AztecProtocol/aztec-packages#10377) [#10379](AztecProtocol/aztec-packages#10379) * Handle nested calls in witgen ([#10384](AztecProtocol/aztec-packages#10384)) ([1e21f31](AztecProtocol/aztec-packages@1e21f31)) * Keccak honk proving in bb.js ([#10489](AztecProtocol/aztec-packages#10489)) ([e0d7431](AztecProtocol/aztec-packages@e0d7431)) * Modify HonkRecursionConstraint to handle IPA claims ([#10469](AztecProtocol/aztec-packages#10469)) ([a204d1b](AztecProtocol/aztec-packages@a204d1b)) * Remove auto verify mode from ClientIVC ([#10599](AztecProtocol/aztec-packages#10599)) ([b1d8b97](AztecProtocol/aztec-packages@b1d8b97)) * Rename Header to BlockHeader ([#10372](AztecProtocol/aztec-packages#10372)) ([0803964](AztecProtocol/aztec-packages@0803964)) * Sayonara old hints ([#10547](AztecProtocol/aztec-packages#10547)) ([dede16e](AztecProtocol/aztec-packages@dede16e)) * Several Updates in SMT verification module (part 1) ([#10437](AztecProtocol/aztec-packages#10437)) ([0c37672](AztecProtocol/aztec-packages@0c37672)) * Unified create circuit from acir ([#10440](AztecProtocol/aztec-packages#10440)) ([a4dfe13](AztecProtocol/aztec-packages@a4dfe13)) ### Bug Fixes * Remove auto verify in cbind ivc prove ([#10627](AztecProtocol/aztec-packages#10627)) ([d773423](AztecProtocol/aztec-packages@d773423)) * Use e2e structure in cbind ([#10585](AztecProtocol/aztec-packages#10585)) ([985aef1](AztecProtocol/aztec-packages@985aef1)) ### Miscellaneous * **avm:** Gas constants adjustment based on trace rows accounting ([#10614](AztecProtocol/aztec-packages#10614)) ([fc729ef](AztecProtocol/aztec-packages@fc729ef)), closes [#10368](AztecProtocol/aztec-packages#10368) * **avm:** More pilcom compat changes ([#10569](AztecProtocol/aztec-packages#10569)) ([f18d701](AztecProtocol/aztec-packages@f18d701)) * **avm:** Pilcom compatibility changes ([#10544](AztecProtocol/aztec-packages#10544)) ([fbc8c0e](AztecProtocol/aztec-packages@fbc8c0e)) * L2 gas maximum is per-TX-public-portion. AVM startup gas is now 20k. ([#10214](AztecProtocol/aztec-packages#10214)) ([1365401](AztecProtocol/aztec-packages@1365401)) * Lower public tx gas limit to 6M ([#10635](AztecProtocol/aztec-packages#10635)) ([9836036](AztecProtocol/aztec-packages@9836036)) * Optimise grand product computation round based on active ranges ([#10460](AztecProtocol/aztec-packages#10460)) ([7fa8f84](AztecProtocol/aztec-packages@7fa8f84)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
* master: (313 commits) chore: Do not print entire functions when running debug trace (#6814) chore(ci): Active rollup circuits in compilation report (#6813) feat(ssa): Bring back tracking of RC instructions during DIE (#6783) feat: add `nargo test --format json` (#6796) chore: Change Id to use a u32 (#6807) feat(ssa): Hoist MakeArray instructions during loop invariant code motion (#6782) feat: add `(x | 1)` optimization for booleans (#6795) feat: `nargo test -q` (or `nargo test --format terse`) (#6776) fix: disable failure persistance in nargo test fuzzing (#6777) feat(cli): Verify `return` against ABI and `Prover.toml` (#6765) chore(ssa): Activate loop invariant code motion on ACIR functions (#6785) fix: use extension in docs link so it also works on GitHub (#6787) fix: optimizer to keep track of changing opcode locations (#6781) fix: Minimal change to avoid reverting entire PR #6685 (#6778) feat: several `nargo test` improvements (#6728) chore: Try replace callstack with a linked list (#6747) chore: Use `NumericType` not `Type` for casts and numeric constants (#6769) chore(ci): Extend compiler memory report to external repos (#6768) chore(ci): Handle external libraries in compilation timing report (#6750) feat(ssa): Implement missing brillig constraints SSA check (#6658) ...
Description
Problem
Resolves #4489
Resolves #6724
Resolves #6727
Summary
This PR does a few things:
2. We now use a maximum number of threads to run tests. The default is the system's default (taken from a Rust function) but it can be overwritten with the new
--num-threads
CLI option (let me know if this should be removed, though, probably always parallelizing is never an issue, unlike in Rust)3. We now compile all packages and show all errors before starting to run tests (previously the first error would abort the run)
4. Before showing how many tests passed and failed in a package, a list of the tests that failed is shown. This is similar to Rust too. I personally find this useful because otherwise to know which failed you have to scroll up and fine the red "fail" ones, which is a bit time-consuming. But let me know and we could revert this.
5. Output is shown by package. That is, first we show all output for a package, then all output for another package, etc. However, we do run all tests in parallel.
6. Output fron Noir's
println
isn't printed immediately. Instead, it's captured in a String and associated to the test. Then, if--show-output
is given, that output is printed after the test name status. That makes it very easy to see what output each test produced, and output from different tests is never mixed up.7. For slow tests (those that take more than 30 seconds) we now show the time.
An example of 6:
And consider this Noir program:
The new output for
nargo test
is:The old output was this:
Additional Context
Documentation
Check one:
PR Checklist
cargo fmt
on default settings.