feat: gating test#9918
Conversation
7ad1018 to
9202220
Compare
9202220 to
c17fe1d
Compare
| {{- if .Values.validator.externalTcpHost -}} | ||
| http://{{ .Values.validator.externalTcpHost }}:{{ .Values.validator.service.nodePort }} | ||
| {{- else -}} | ||
| http://{{ include "aztec-network.fullname" . }}-validator-0.{{ include "aztec-network.fullname" . }}-validator.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.validator.service.nodePort }} |
There was a problem hiding this comment.
Adjusts validatorUrl to load balance over all validators.
| # the PXE has its node set to the the validator service. | ||
| # and that's all we need to know to bootstrap, | ||
| # since it will get a good node ENR from whatever node the PXE connects to. | ||
| echo "{{ include "aztec-network.pxeUrl" . }}" > /shared/pxe_url |
There was a problem hiding this comment.
As noted in the comment above, this looping is really just a safety/sanity check, since as long as one validator is up, the PXE should be routed to it.
There was a problem hiding this comment.
smallest set where we can kill 25%.
|
|
||
| cd "$(dirname "${BASH_SOURCE[0]}")" | ||
|
|
||
| helm upgrade metrics . -n metrics --values "./values/prod.yaml" --install --create-namespace --atomic $@ |
There was a problem hiding this comment.
Happy to revert this change, but removing atomic was necessary to try to debug.
There was a problem hiding this comment.
+1 for adding back --atomic.
It is good infra hygiene to enforce that all deployment components pass health checks before helm returns success state. Without it, it is not obvious when a deployment or automations that rely on helm installs break.
| [SequencerState.PUBLISHING_BLOCK_TO_PEERS]: 5 + this.maxTxsPerBlock * 2, // if we take 5 seconds to create block, then 4 transactions at 2 seconds each | ||
| [SequencerState.WAITING_FOR_ATTESTATIONS]: 5 + this.maxTxsPerBlock * 2 + 3, // it shouldn't take 3 seconds to publish to peers | ||
| [SequencerState.PUBLISHING_BLOCK]: 5 + this.maxTxsPerBlock * 2 + 3 + 5, // wait 5 seconds for attestations | ||
| [SequencerState.WAITING_FOR_TXS]: 5, |
There was a problem hiding this comment.
Had to bump these times, as we were often trying to transition to "WAITING_FOR_TXS" at ~3.5 seconds, which was resulting in no blocks getting produced, which resulted in reorgs due at least in part to lack of support for #9404
|
|
||
| this.isFlushing = false; | ||
| this.log.verbose('Collecting attestations'); | ||
| this.log.info('Collecting attestations'); |
There was a problem hiding this comment.
@ludamad I'm actually not seeing these logs under in loki even with debug on. Thoughts? I'm not sure if it is all verbose logs, or what. That was part of the impetus for upping the level.
There was a problem hiding this comment.
Unfortunately I am not sure. We should write good tests along with moving to a non-node debugger (winston? pino?)
ba1c2ab to
8efe7ea
Compare
8efe7ea to
58ce04b
Compare
This test: - updates the aztec network deployment, allowing validators to use each other as boot nodes - applies the "network-requirements" network shaping - permanently disables the boot node - runs 3 epochs during which it: - kills 25% of the validators - asserts that we miss less than 50% of slots Other work in this branch includes: - add `ignoreDroppedReceiptsFor` TX wait options - this allows sending a TX to one node, and awaiting it on another since we need time for p2p propagation - we need this since we have shifted the PXE to point at the top-level validator service, which load balances across individuals - this may help with #9613 - scalable loki deployment for prod - more visible logging for core sequencer operations - better error handling during the setup of l2 contracts - better error handling in the pxe - rename the network shaping charts to "aztec-chaos-scenarios"
1fada01 to
c5152e9
Compare
|
Taking a look at this one now... |
spalladino
left a comment
There was a problem hiding this comment.
Looked into all non-k8s stuff
| export async function awaitL2BlockNumber( | ||
| rollupCheatCodes: RollupCheatCodes, | ||
| blockNumber: bigint, | ||
| timeoutSeconds: number, | ||
| logger: Logger, | ||
| ) { | ||
| logger.info(`Waiting for L2 Block ${blockNumber}`); | ||
| let tips = await rollupCheatCodes.getTips(); | ||
| const endTime = Date.now() + timeoutSeconds * 1000; | ||
| while (tips.pending < blockNumber && Date.now() < endTime) { | ||
| logger.info(`At L2 Block ${tips.pending}`); | ||
| await sleep(1000); | ||
| tips = await rollupCheatCodes.getTips(); | ||
| } | ||
| logger.info(`Reached L2 Block ${tips.pending}`); | ||
| } |
There was a problem hiding this comment.
We probably want to throw loudly if we reach the timeout without hitting the target block number.
| .catch(err => { | ||
| this.log.error(err); | ||
| throw err; | ||
| }); |
There was a problem hiding this comment.
Does the job queue handle jobs that throw ok? Either way, let's add some context to the error being logged.
There was a problem hiding this comment.
Yes, it does. But agreed on context. Filed #10075
| .catch(err => { | ||
| this.log.error(err); | ||
| throw err; | ||
| }); |
| await this.node.sendTx(tx).catch(err => { | ||
| this.log.error(err); | ||
| throw err; | ||
| }); |
| .catch(err => { | ||
| this.log.error(err); | ||
| throw err; | ||
| }); |
There was a problem hiding this comment.
I'm not a fan of bumping so many verbose to info, it'll make all tests so much more verbose. But if we need this inorder to see those logs in k8s tests, I'm fine with it until we move to a better logger.
There was a problem hiding this comment.
Yeah agreed that the more sophisticated logger is the way.
I bumped it because I wasn't seeing them, and because I figured that in production, you'd want to see when you're producing a block.
| ); | ||
| return; | ||
| } | ||
| const secondsIntoSlot = getSecondsIntoSlot(this.l1GenesisTime, this.aztecSlotDuration); |
There was a problem hiding this comment.
Why not pass in the current slot number, and keep the getSecondsIntoSlot call here? Seems like it would reduce some verbosity by not having to manually call getSecondsIntoSlot before each setState.
There was a problem hiding this comment.
Mmm yes that would be better and I think it works. Filed #10077
| env: | ||
| - name: PXE_URL | ||
| value: {{ include "aztec-network.pxeUrl" . | quote }} | ||
| value: {{ include "aztec-network.bootNodeUrl" . | quote }} |
There was a problem hiding this comment.
Just to simplify, since the boot node is a PXE.
| import { promisify } from 'util'; | ||
| import { z } from 'zod'; | ||
|
|
||
| import type { RollupCheatCodes } from '../../../aztec.js/src/utils/cheat_codes.js'; |
There was a problem hiding this comment.
turbonit: dodgy update import here
|
|
||
| global: | ||
| # When deploying, override the namespace to where spartan will deploy to, this will apply all chaos experiments to all pods within that namespace | ||
| # run deployment with --values global.namespace=your-namespace |
There was a problem hiding this comment.
Nice, thanks for including this note. It wasn't clear to me at first why the values files used different namespace refs.
| otelCollectorEndpoint: http://metrics-opentelemetry-collector.metrics:4318 | ||
|
|
||
| validator: | ||
| debug: "aztec:*,-aztec:avm_simulator:*,-aztec:libp2p_service" |
There was a problem hiding this comment.
Does this level of logging causing stability issues? (for my own understanding)
There was a problem hiding this comment.
We've seen issues in e2e tests where excessive logging messes up tests. I haven't seen it in network tests as far as I am aware.
However, this was actually reducing the level of logs, since the default level in values.yaml has more negative filters.
| {{- include "network-shaping.labels" . | nindent 4 }} | ||
| {{- include "aztec-chaos-scenarios.labels" . | nindent 4 }} | ||
| annotations: | ||
| "helm.sh/resource-policy": keep |
There was a problem hiding this comment.
I understand this annotation to mean that this resource is left behind when the helm chart is uninstalled. Is this intentional?
Would applying "helm.sh/hook": post-install,post-upgrade and "helm.sh/hook-weight": "<some-weight>" be sufficient for the scenarios?
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.64.0</summary> ## [0.64.0](aztec-package-v0.63.1...aztec-package-v0.64.0) (2024-11-25) ### Features * Unify anvil versions ([#10143](#10143)) ([adae143](adae143)) ### Miscellaneous * Fast epoch building test ([#10045](#10045)) ([fb791a2](fb791a2)), closes [#9809](#9809) </details> <details><summary>barretenberg.js: 0.64.0</summary> ## [0.64.0](barretenberg.js-v0.63.1...barretenberg.js-v0.64.0) (2024-11-25) ### Features * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](#10064)) ([8b4ebd1](8b4ebd1)) </details> <details><summary>aztec-packages: 0.64.0</summary> ## [0.64.0](aztec-packages-v0.63.1...aztec-packages-v0.64.0) (2024-11-25) ### ⚠ BREAKING CHANGES * rename SharedMutable methods ([#10165](#10165)) * add AztecAddress.isValid and make random be valid ([#10081](#10081)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ### Features * Add AztecAddress.isValid and make random be valid ([#10081](#10081)) ([fbdf6b0](fbdf6b0)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ([b8bace9](b8bace9)) * **avm:** Error handling for address resolution ([#9994](#9994)) ([ceaeda5](ceaeda5)), closes [#9131](#9131) * **avm:** Integrate ephemeral trees ([#9917](#9917)) ([fbe1128](fbe1128)) * **avm:** More efficient low leaf search ([#9870](#9870)) ([f7bbd83](f7bbd83)) * Avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) ([b8bace9](b8bace9)) * Bb-prover AVM test crafts a test TX & properly plumbs AvmCircuitPublicInputs to witgen ([#10083](#10083)) ([55564aa](55564aa)) * Calls to non-existent contracts in the AVM simulator return failure ([#10051](#10051)) ([133384c](133384c)) * Compute base-fee on l1 ([#9986](#9986)) ([4ab46fe](4ab46fe)) * Deduplicate instructions across blocks (noir-lang/noir#6499) ([b8bace9](b8bace9)) * E2e metrics reporting ([#9776](#9776)) ([9cab121](9cab121)) * Gating test ([#9918](#9918)) ([c6b65ab](c6b65ab)), closes [#9883](#9883) * Google Kubernetes Engine - Prover Agent Spot Node Support ([#10031](#10031)) ([4d6da9b](4d6da9b)) * Improve trace utilization tracking ([#10008](#10008)) ([4c560ab](4c560ab)) * Improved data storage metrics ([#10020](#10020)) ([c6ab0c9](c6ab0c9)) * Initial gas oracle ([#9952](#9952)) ([e740d42](e740d42)) * Insert public data tree leaves one by one ([#9989](#9989)) ([a2c0701](a2c0701)) * Integrate base fee computation into rollup ([#10076](#10076)) ([3417b22](3417b22)) * IPA accumulators setup for Rollup ([#10040](#10040)) ([4129e27](4129e27)) * New proving agent ([#9999](#9999)) ([9ad24dd](9ad24dd)) * **profiler:** Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) ([b8bace9](b8bace9)) * Public network deployments ([#10089](#10089)) ([570f70a](570f70a)) * PXE handles reorgs ([#9913](#9913)) ([aafef9c](aafef9c)) * Rename SharedMutable methods ([#10165](#10165)) ([4fd70e8](4fd70e8)) * Reset pxe indexes ([#10093](#10093)) ([3848c01](3848c01)) * Simplify constant MSM calls in SSA (noir-lang/noir#6547) ([b8bace9](b8bace9)) * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) * SSA parser (noir-lang/noir#6489) ([b8bace9](b8bace9)) * **ssa:** Unroll small loops in brillig (noir-lang/noir#6505) ([b8bace9](b8bace9)) * Sync from aztec-packages (noir-lang/noir#6557) ([b8bace9](b8bace9)) * Sync tags as sender ([#10071](#10071)) ([122d2e4](122d2e4)) * Terraform for release deployments ([#10091](#10091)) ([dc528da](dc528da)), closes [#10144](#10144) * Trait aliases (noir-lang/noir#6431) ([b8bace9](b8bace9)) * Unify anvil versions ([#10143](#10143)) ([adae143](adae143)) * Updating consensus payload ([#10017](#10017)) ([85c8a3b](85c8a3b)) * Use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) ([b8bace9](b8bace9)) * **val:** Reex ([#9768](#9768)) ([2e58f0a](2e58f0a)) ### Bug Fixes * Add curl to aztec nargo container ([#10173](#10173)) ([2add6ae](2add6ae)) * Add zod parsing for generated contract artifacts ([#9905](#9905)) ([e1ef998](e1ef998)) * Allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) ([b8bace9](b8bace9)) * Allow unwinding multiple empty blocks ([#10084](#10084)) ([ec34442](ec34442)) * Boxes ([#10122](#10122)) ([10df7c5](10df7c5)) * Check infix expression is valid in program input (noir-lang/noir#6450) ([b8bace9](b8bace9)) * Disallow `#[test]` on associated functions (noir-lang/noir#6449) ([b8bace9](b8bace9)) * Disallow contract registration in pxe of contract with duplicate private function selectors ([#9773](#9773)) ([2587ad5](2587ad5)) * Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) ([b8bace9](b8bace9)) * Do a shallow follow_bindings before unification (noir-lang/noir#6558) ([b8bace9](b8bace9)) * **docs:** Fix broken links in oracles doc (noir-lang/noir#6488) ([b8bace9](b8bace9)) * Don't crash on AsTraitPath with empty path (noir-lang/noir#6454) ([b8bace9](b8bace9)) * Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) ([b8bace9](b8bace9)) * Let formatter respect newlines between comments (noir-lang/noir#6458) ([b8bace9](b8bace9)) * Make bytecode part of artifact hash preimage again ([#9771](#9771)) ([cdabd85](cdabd85)) * Parse Slice type in SSa (noir-lang/noir#6507) ([b8bace9](b8bace9)) * Perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) ([b8bace9](b8bace9)) * Potential e2e-p2p fix ([#10094](#10094)) ([820bcc6](820bcc6)) * Prover-agent.yaml syntax ([#10131](#10131)) ([a238fe6](a238fe6)) * Remove src build from doc build flow ([#10127](#10127)) ([fbfe1b1](fbfe1b1)) * Revert "feat: integrate base fee computation into rollup" ([#10166](#10166)) ([1a207f5](1a207f5)) * Right shift is not a regular division (noir-lang/noir#6400) ([b8bace9](b8bace9)) * **sea:** Mem2reg to treat block input references as alias (noir-lang/noir#6452) ([b8bace9](b8bace9)) * Set local_module before elaborating each trait (noir-lang/noir#6506) ([b8bace9](b8bace9)) * Sorting artifact props and members in metadata ([#9772](#9772)) ([aba568a](aba568a)) * **ssa:** Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) ([b8bace9](b8bace9)) * **ssa:** Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) ([b8bace9](b8bace9)) * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) * Take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) ([b8bace9](b8bace9)) * **tests:** Prevent EOF error while running test programs (noir-lang/noir#6455) ([b8bace9](b8bace9)) * **tests:** Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) ([b8bace9](b8bace9)) * Treat all parameters as possible aliases of each other (noir-lang/noir#6477) ([b8bace9](b8bace9)) * Zero index is not always 0 ([#10135](#10135)) ([bbac3d9](bbac3d9)) ### Miscellaneous * Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) ([b8bace9](b8bace9)) * Added test showcasing performance regression (noir-lang/noir#6566) ([b8bace9](b8bace9)) * **avm:** Remove initialization for non-derived polynomials ([#10103](#10103)) ([c6fdf4b](c6fdf4b)), closes [#10096](#10096) * Bump rust dependencies (noir-lang/noir#6482) ([b8bace9](b8bace9)) * **ci:** Bump mac github runner image to `macos-14` (noir-lang/noir#6545) ([b8bace9](b8bace9)) * **ci:** Fix cargo deny (noir-lang/noir#6501) ([b8bace9](b8bace9)) * Convert some tests to use SSA parser (noir-lang/noir#6543) ([b8bace9](b8bace9)) * Delete stray todos ([#10112](#10112)) ([cc4139a](cc4139a)) * Do not run e2e-2-pxes along with e2e pxe test ([#10155](#10155)) ([f0f8d22](f0f8d22)) * **docs:** Update How to Oracles (noir-lang/noir#5675) ([b8bace9](b8bace9)) * Embed package name in logs (noir-lang/noir#6564) ([b8bace9](b8bace9)) * Fast epoch building test ([#10045](#10045)) ([fb791a2](fb791a2)), closes [#9809](#9809) * Fix pool metrics ([#9652](#9652)) ([233b387](233b387)) * Fix spartan deploy script ([#10078](#10078)) ([368ac8b](368ac8b)) * Initial draft of testnet-runbook ([#10085](#10085)) ([598c1b1](598c1b1)) * Lower throughput of ebs disks ([#9997](#9997)) ([698cd3d](698cd3d)) * Make tests not silent if DEBUG set ([#10130](#10130)) ([95e8406](95e8406)) * Move tests for arithmetic generics closer to the code (noir-lang/noir#6497) ([b8bace9](b8bace9)) * Optimise polynomial initialisation ([#10073](#10073)) ([e608742](e608742)) * Parse negatives in SSA parser (noir-lang/noir#6510) ([b8bace9](b8bace9)) * Proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) ([b8bace9](b8bace9)) * Pull across noir-lang/noir[#6558](#6558) ([#10037](#10037)) ([3014a69](3014a69)) * Pull out sync changes ([#10072](#10072)) ([06ef61e](06ef61e)) * Release Noir(0.38.0) (noir-lang/noir#6422) ([b8bace9](b8bace9)) * Release Noir(0.39.0) (noir-lang/noir#6484) ([b8bace9](b8bace9)) * Remove handling of duplicates from the note hash tree ([#10016](#10016)) ([ece1d45](ece1d45)) * Remove PublicExecutor ([#10028](#10028)) ([9643dcd](9643dcd)) * Remove separate acvm versioning (noir-lang/noir#6561) ([b8bace9](b8bace9)) * Remove some `_else_condition` tech debt (noir-lang/noir#6522) ([b8bace9](b8bace9)) * Remove some unnecessary clones ([#10049](#10049)) ([8628b32](8628b32)) * Remove unused imports ([#10134](#10134)) ([8dbeda0](8dbeda0)) * Remove unused methods from implicit numeric generics (noir-lang/noir#6541) ([b8bace9](b8bace9)) * Replace relative paths to noir-protocol-circuits ([ccf6695](ccf6695)) * Replace relative paths to noir-protocol-circuits ([fa225a2](fa225a2)) * Replace relative paths to noir-protocol-circuits ([98387b8](98387b8)) * Replace relative paths to noir-protocol-circuits ([94753d4](94753d4)) * Restructure `noirc_evaluator` crate (noir-lang/noir#6534) ([b8bace9](b8bace9)) * Revamp attributes (noir-lang/noir#6424) ([b8bace9](b8bace9)) * Reverse ssa parser diff order (noir-lang/noir#6511) ([b8bace9](b8bace9)) * Revert [#6375](#6375) (noir-lang/noir#6552) ([b8bace9](b8bace9)) * Skip emitting public bytecode ([#10009](#10009)) ([280d169](280d169)) * Split path and import lookups (noir-lang/noir#6430) ([b8bace9](b8bace9)) * **ssa:** Skip array_set pass for Brillig functions (noir-lang/noir#6513) ([b8bace9](b8bace9)) * Switch to 1.0.0-beta versioning (noir-lang/noir#6503) ([b8bace9](b8bace9)) * **test:** More descriptive labels in test matrix (noir-lang/noir#6542) ([b8bace9](b8bace9)) * **test:** Remove duplicate brillig tests (noir-lang/noir#6523) ([b8bace9](b8bace9)) * **test:** Run test matrix on test_programs (noir-lang/noir#6429) ([b8bace9](b8bace9)) * Update example to show how to split public inputs in bash (noir-lang/noir#6472) ([b8bace9](b8bace9)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](#10064)) ([8b4ebd1](8b4ebd1)) * Re-arrange references section ([#10070](#10070)) ([375482f](375482f)) </details> <details><summary>barretenberg: 0.64.0</summary> ## [0.64.0](barretenberg-v0.63.1...barretenberg-v0.64.0) (2024-11-25) ### Features * **avm:** Error handling for address resolution ([#9994](#9994)) ([ceaeda5](ceaeda5)), closes [#9131](#9131) * Improve trace utilization tracking ([#10008](#10008)) ([4c560ab](4c560ab)) * Improved data storage metrics ([#10020](#10020)) ([c6ab0c9](c6ab0c9)) * Insert public data tree leaves one by one ([#9989](#9989)) ([a2c0701](a2c0701)) * IPA accumulators setup for Rollup ([#10040](#10040)) ([4129e27](4129e27)) * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) * Zero index is not always 0 ([#10135](#10135)) ([bbac3d9](bbac3d9)) ### Miscellaneous * **avm:** Remove initialization for non-derived polynomials ([#10103](#10103)) ([c6fdf4b](c6fdf4b)), closes [#10096](#10096) * Delete stray todos ([#10112](#10112)) ([cc4139a](cc4139a)) * Optimise polynomial initialisation ([#10073](#10073)) ([e608742](e608742)) * Remove handling of duplicates from the note hash tree ([#10016](#10016)) ([ece1d45](ece1d45)) </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.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@aztec-package-v0.63.1...aztec-package-v0.64.0) (2024-11-25) ### Features * Unify anvil versions ([#10143](AztecProtocol/aztec-packages#10143)) ([adae143](AztecProtocol/aztec-packages@adae143)) ### Miscellaneous * Fast epoch building test ([#10045](AztecProtocol/aztec-packages#10045)) ([fb791a2](AztecProtocol/aztec-packages@fb791a2)), closes [#9809](AztecProtocol/aztec-packages#9809) </details> <details><summary>barretenberg.js: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@barretenberg.js-v0.63.1...barretenberg.js-v0.64.0) (2024-11-25) ### Features * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](AztecProtocol/aztec-packages#10064)) ([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1)) </details> <details><summary>aztec-packages: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@aztec-packages-v0.63.1...aztec-packages-v0.64.0) (2024-11-25) ### ⚠ BREAKING CHANGES * rename SharedMutable methods ([#10165](AztecProtocol/aztec-packages#10165)) * add AztecAddress.isValid and make random be valid ([#10081](AztecProtocol/aztec-packages#10081)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ### Features * Add AztecAddress.isValid and make random be valid ([#10081](AztecProtocol/aztec-packages#10081)) ([fbdf6b0](AztecProtocol/aztec-packages@fbdf6b0)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **avm:** Error handling for address resolution ([#9994](AztecProtocol/aztec-packages#9994)) ([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)), closes [#9131](AztecProtocol/aztec-packages#9131) * **avm:** Integrate ephemeral trees ([#9917](AztecProtocol/aztec-packages#9917)) ([fbe1128](AztecProtocol/aztec-packages@fbe1128)) * **avm:** More efficient low leaf search ([#9870](AztecProtocol/aztec-packages#9870)) ([f7bbd83](AztecProtocol/aztec-packages@f7bbd83)) * Avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Bb-prover AVM test crafts a test TX & properly plumbs AvmCircuitPublicInputs to witgen ([#10083](AztecProtocol/aztec-packages#10083)) ([55564aa](AztecProtocol/aztec-packages@55564aa)) * Calls to non-existent contracts in the AVM simulator return failure ([#10051](AztecProtocol/aztec-packages#10051)) ([133384c](AztecProtocol/aztec-packages@133384c)) * Compute base-fee on l1 ([#9986](AztecProtocol/aztec-packages#9986)) ([4ab46fe](AztecProtocol/aztec-packages@4ab46fe)) * Deduplicate instructions across blocks (noir-lang/noir#6499) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * E2e metrics reporting ([#9776](AztecProtocol/aztec-packages#9776)) ([9cab121](AztecProtocol/aztec-packages@9cab121)) * Gating test ([#9918](AztecProtocol/aztec-packages#9918)) ([c6b65ab](AztecProtocol/aztec-packages@c6b65ab)), closes [#9883](AztecProtocol/aztec-packages#9883) * Google Kubernetes Engine - Prover Agent Spot Node Support ([#10031](AztecProtocol/aztec-packages#10031)) ([4d6da9b](AztecProtocol/aztec-packages@4d6da9b)) * Improve trace utilization tracking ([#10008](AztecProtocol/aztec-packages#10008)) ([4c560ab](AztecProtocol/aztec-packages@4c560ab)) * Improved data storage metrics ([#10020](AztecProtocol/aztec-packages#10020)) ([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9)) * Initial gas oracle ([#9952](AztecProtocol/aztec-packages#9952)) ([e740d42](AztecProtocol/aztec-packages@e740d42)) * Insert public data tree leaves one by one ([#9989](AztecProtocol/aztec-packages#9989)) ([a2c0701](AztecProtocol/aztec-packages@a2c0701)) * Integrate base fee computation into rollup ([#10076](AztecProtocol/aztec-packages#10076)) ([3417b22](AztecProtocol/aztec-packages@3417b22)) * IPA accumulators setup for Rollup ([#10040](AztecProtocol/aztec-packages#10040)) ([4129e27](AztecProtocol/aztec-packages@4129e27)) * New proving agent ([#9999](AztecProtocol/aztec-packages#9999)) ([9ad24dd](AztecProtocol/aztec-packages@9ad24dd)) * **profiler:** Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Public network deployments ([#10089](AztecProtocol/aztec-packages#10089)) ([570f70a](AztecProtocol/aztec-packages@570f70a)) * PXE handles reorgs ([#9913](AztecProtocol/aztec-packages#9913)) ([aafef9c](AztecProtocol/aztec-packages@aafef9c)) * Rename SharedMutable methods ([#10165](AztecProtocol/aztec-packages#10165)) ([4fd70e8](AztecProtocol/aztec-packages@4fd70e8)) * Reset pxe indexes ([#10093](AztecProtocol/aztec-packages#10093)) ([3848c01](AztecProtocol/aztec-packages@3848c01)) * Simplify constant MSM calls in SSA (noir-lang/noir#6547) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) * SSA parser (noir-lang/noir#6489) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Unroll small loops in brillig (noir-lang/noir#6505) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sync from aztec-packages (noir-lang/noir#6557) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sync tags as sender ([#10071](AztecProtocol/aztec-packages#10071)) ([122d2e4](AztecProtocol/aztec-packages@122d2e4)) * Terraform for release deployments ([#10091](AztecProtocol/aztec-packages#10091)) ([dc528da](AztecProtocol/aztec-packages@dc528da)), closes [#10144](AztecProtocol/aztec-packages#10144) * Trait aliases (noir-lang/noir#6431) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Unify anvil versions ([#10143](AztecProtocol/aztec-packages#10143)) ([adae143](AztecProtocol/aztec-packages@adae143)) * Updating consensus payload ([#10017](AztecProtocol/aztec-packages#10017)) ([85c8a3b](AztecProtocol/aztec-packages@85c8a3b)) * Use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **val:** Reex ([#9768](AztecProtocol/aztec-packages#9768)) ([2e58f0a](AztecProtocol/aztec-packages@2e58f0a)) ### Bug Fixes * Add curl to aztec nargo container ([#10173](AztecProtocol/aztec-packages#10173)) ([2add6ae](AztecProtocol/aztec-packages@2add6ae)) * Add zod parsing for generated contract artifacts ([#9905](AztecProtocol/aztec-packages#9905)) ([e1ef998](AztecProtocol/aztec-packages@e1ef998)) * Allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Allow unwinding multiple empty blocks ([#10084](AztecProtocol/aztec-packages#10084)) ([ec34442](AztecProtocol/aztec-packages@ec34442)) * Boxes ([#10122](AztecProtocol/aztec-packages#10122)) ([10df7c5](AztecProtocol/aztec-packages@10df7c5)) * Check infix expression is valid in program input (noir-lang/noir#6450) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Disallow `#[test]` on associated functions (noir-lang/noir#6449) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Disallow contract registration in pxe of contract with duplicate private function selectors ([#9773](AztecProtocol/aztec-packages#9773)) ([2587ad5](AztecProtocol/aztec-packages@2587ad5)) * Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Do a shallow follow_bindings before unification (noir-lang/noir#6558) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **docs:** Fix broken links in oracles doc (noir-lang/noir#6488) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Don't crash on AsTraitPath with empty path (noir-lang/noir#6454) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Let formatter respect newlines between comments (noir-lang/noir#6458) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Make bytecode part of artifact hash preimage again ([#9771](AztecProtocol/aztec-packages#9771)) ([cdabd85](AztecProtocol/aztec-packages@cdabd85)) * Parse Slice type in SSa (noir-lang/noir#6507) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Potential e2e-p2p fix ([#10094](AztecProtocol/aztec-packages#10094)) ([820bcc6](AztecProtocol/aztec-packages@820bcc6)) * Prover-agent.yaml syntax ([#10131](AztecProtocol/aztec-packages#10131)) ([a238fe6](AztecProtocol/aztec-packages@a238fe6)) * Remove src build from doc build flow ([#10127](AztecProtocol/aztec-packages#10127)) ([fbfe1b1](AztecProtocol/aztec-packages@fbfe1b1)) * Revert "feat: integrate base fee computation into rollup" ([#10166](AztecProtocol/aztec-packages#10166)) ([1a207f5](AztecProtocol/aztec-packages@1a207f5)) * Right shift is not a regular division (noir-lang/noir#6400) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **sea:** Mem2reg to treat block input references as alias (noir-lang/noir#6452) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Set local_module before elaborating each trait (noir-lang/noir#6506) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sorting artifact props and members in metadata ([#9772](AztecProtocol/aztec-packages#9772)) ([aba568a](AztecProtocol/aztec-packages@aba568a)) * **ssa:** Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) * Take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **tests:** Prevent EOF error while running test programs (noir-lang/noir#6455) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **tests:** Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Treat all parameters as possible aliases of each other (noir-lang/noir#6477) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Zero index is not always 0 ([#10135](AztecProtocol/aztec-packages#10135)) ([bbac3d9](AztecProtocol/aztec-packages@bbac3d9)) ### Miscellaneous * Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Added test showcasing performance regression (noir-lang/noir#6566) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **avm:** Remove initialization for non-derived polynomials ([#10103](AztecProtocol/aztec-packages#10103)) ([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)), closes [#10096](AztecProtocol/aztec-packages#10096) * Bump rust dependencies (noir-lang/noir#6482) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ci:** Bump mac github runner image to `macos-14` (noir-lang/noir#6545) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ci:** Fix cargo deny (noir-lang/noir#6501) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Convert some tests to use SSA parser (noir-lang/noir#6543) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Delete stray todos ([#10112](AztecProtocol/aztec-packages#10112)) ([cc4139a](AztecProtocol/aztec-packages@cc4139a)) * Do not run e2e-2-pxes along with e2e pxe test ([#10155](AztecProtocol/aztec-packages#10155)) ([f0f8d22](AztecProtocol/aztec-packages@f0f8d22)) * **docs:** Update How to Oracles (noir-lang/noir#5675) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Embed package name in logs (noir-lang/noir#6564) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Fast epoch building test ([#10045](AztecProtocol/aztec-packages#10045)) ([fb791a2](AztecProtocol/aztec-packages@fb791a2)), closes [#9809](AztecProtocol/aztec-packages#9809) * Fix pool metrics ([#9652](AztecProtocol/aztec-packages#9652)) ([233b387](AztecProtocol/aztec-packages@233b387)) * Fix spartan deploy script ([#10078](AztecProtocol/aztec-packages#10078)) ([368ac8b](AztecProtocol/aztec-packages@368ac8b)) * Initial draft of testnet-runbook ([#10085](AztecProtocol/aztec-packages#10085)) ([598c1b1](AztecProtocol/aztec-packages@598c1b1)) * Lower throughput of ebs disks ([#9997](AztecProtocol/aztec-packages#9997)) ([698cd3d](AztecProtocol/aztec-packages@698cd3d)) * Make tests not silent if DEBUG set ([#10130](AztecProtocol/aztec-packages#10130)) ([95e8406](AztecProtocol/aztec-packages@95e8406)) * Move tests for arithmetic generics closer to the code (noir-lang/noir#6497) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Optimise polynomial initialisation ([#10073](AztecProtocol/aztec-packages#10073)) ([e608742](AztecProtocol/aztec-packages@e608742)) * Parse negatives in SSA parser (noir-lang/noir#6510) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Pull across noir-lang/noir[#6558](AztecProtocol/aztec-packages#6558) ([#10037](AztecProtocol/aztec-packages#10037)) ([3014a69](AztecProtocol/aztec-packages@3014a69)) * Pull out sync changes ([#10072](AztecProtocol/aztec-packages#10072)) ([06ef61e](AztecProtocol/aztec-packages@06ef61e)) * Release Noir(0.38.0) (noir-lang/noir#6422) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Release Noir(0.39.0) (noir-lang/noir#6484) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove handling of duplicates from the note hash tree ([#10016](AztecProtocol/aztec-packages#10016)) ([ece1d45](AztecProtocol/aztec-packages@ece1d45)) * Remove PublicExecutor ([#10028](AztecProtocol/aztec-packages#10028)) ([9643dcd](AztecProtocol/aztec-packages@9643dcd)) * Remove separate acvm versioning (noir-lang/noir#6561) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove some `_else_condition` tech debt (noir-lang/noir#6522) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove some unnecessary clones ([#10049](AztecProtocol/aztec-packages#10049)) ([8628b32](AztecProtocol/aztec-packages@8628b32)) * Remove unused imports ([#10134](AztecProtocol/aztec-packages#10134)) ([8dbeda0](AztecProtocol/aztec-packages@8dbeda0)) * Remove unused methods from implicit numeric generics (noir-lang/noir#6541) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Replace relative paths to noir-protocol-circuits ([ccf6695](AztecProtocol/aztec-packages@ccf6695)) * Replace relative paths to noir-protocol-circuits ([fa225a2](AztecProtocol/aztec-packages@fa225a2)) * Replace relative paths to noir-protocol-circuits ([98387b8](AztecProtocol/aztec-packages@98387b8)) * Replace relative paths to noir-protocol-circuits ([94753d4](AztecProtocol/aztec-packages@94753d4)) * Restructure `noirc_evaluator` crate (noir-lang/noir#6534) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Revamp attributes (noir-lang/noir#6424) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Reverse ssa parser diff order (noir-lang/noir#6511) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Revert [#6375](AztecProtocol/aztec-packages#6375) (noir-lang/noir#6552) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Skip emitting public bytecode ([#10009](AztecProtocol/aztec-packages#10009)) ([280d169](AztecProtocol/aztec-packages@280d169)) * Split path and import lookups (noir-lang/noir#6430) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Skip array_set pass for Brillig functions (noir-lang/noir#6513) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Switch to 1.0.0-beta versioning (noir-lang/noir#6503) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** More descriptive labels in test matrix (noir-lang/noir#6542) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** Remove duplicate brillig tests (noir-lang/noir#6523) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** Run test matrix on test_programs (noir-lang/noir#6429) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Update example to show how to split public inputs in bash (noir-lang/noir#6472) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](AztecProtocol/aztec-packages#10064)) ([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1)) * Re-arrange references section ([#10070](AztecProtocol/aztec-packages#10070)) ([375482f](AztecProtocol/aztec-packages@375482f)) </details> <details><summary>barretenberg: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@barretenberg-v0.63.1...barretenberg-v0.64.0) (2024-11-25) ### Features * **avm:** Error handling for address resolution ([#9994](AztecProtocol/aztec-packages#9994)) ([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)), closes [#9131](AztecProtocol/aztec-packages#9131) * Improve trace utilization tracking ([#10008](AztecProtocol/aztec-packages#10008)) ([4c560ab](AztecProtocol/aztec-packages@4c560ab)) * Improved data storage metrics ([#10020](AztecProtocol/aztec-packages#10020)) ([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9)) * Insert public data tree leaves one by one ([#9989](AztecProtocol/aztec-packages#9989)) ([a2c0701](AztecProtocol/aztec-packages@a2c0701)) * IPA accumulators setup for Rollup ([#10040](AztecProtocol/aztec-packages#10040)) ([4129e27](AztecProtocol/aztec-packages@4129e27)) * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) * Zero index is not always 0 ([#10135](AztecProtocol/aztec-packages#10135)) ([bbac3d9](AztecProtocol/aztec-packages@bbac3d9)) ### Miscellaneous * **avm:** Remove initialization for non-derived polynomials ([#10103](AztecProtocol/aztec-packages#10103)) ([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)), closes [#10096](AztecProtocol/aztec-packages#10096) * Delete stray todos ([#10112](AztecProtocol/aztec-packages#10112)) ([cc4139a](AztecProtocol/aztec-packages@cc4139a)) * Optimise polynomial initialisation ([#10073](AztecProtocol/aztec-packages#10073)) ([e608742](AztecProtocol/aztec-packages@e608742)) * Remove handling of duplicates from the note hash tree ([#10016](AztecProtocol/aztec-packages#10016)) ([ece1d45](AztecProtocol/aztec-packages@ece1d45)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Main feature of this branch (unlike the branch name indicates) is the
gating_passive.test.ts.This test:
Other work in this branch includes:
ignoreDroppedReceiptsForTX wait optionsFix #9713
Fix #9883