-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: lay plumbing for having simulations throw an error if they cannot be added in a block #7839
fix: lay plumbing for having simulations throw an error if they cannot be added in a block #7839
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
b535eb9
to
cd88639
Compare
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Proof generationEach column represents the number of threads used in proof generation.
L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 8 txs.
Circuits statsStats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.
Stats on running time collected for app circuits
AVM SimulationTime to simulate various public functions in the AVM.
Public DB AccessTime to access various public DBs.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method | Metric | | |
cd88639
to
e73e86d
Compare
yarn-project/aztec.js/src/contract/contract_function_interaction.ts
Outdated
Show resolved
Hide resolved
@@ -497,6 +497,7 @@ export class PXEService implements PXE { | |||
txRequest: TxExecutionRequest, | |||
simulatePublic: boolean, | |||
msgSender: AztecAddress | undefined = undefined, | |||
offline: boolean = true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why go with an offline default? To minimize disruption?
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.
Yep, exactly that.
Looks good! Included a minor naming suggestion, as I was left wondering for a bit what the method actually did. I'm now thinking too that perhaps |
0259015
to
33c9509
Compare
Hmmm, very fair. I have changed it to |
4add105
to
0741b46
Compare
yarn-project/aztec.js/src/contract/contract_function_interaction.ts
Outdated
Show resolved
Hide resolved
bc3fffb
to
7afb59e
Compare
fix: fixing private voting by correctly throwing an error if simulation fails (#7840) This PR makes a simulation of a tx fail, if the tx cannot be included in a block and added to the state. e.g. If a simulation produces duplicate nullifiers, or nullifiers that already exist in a state tree, the results of this simulation should not be returned, but should warn users that the transaction simulated is impossible to actually be added to a block due to being an invalid transaction. The method for achieving the above is that a new API on the node was created, used for validating the correctness of the metadata and side-effects produced by a transaction. A transaction is deemed valid if and only if the transaction can be added to a block that can be used to advance state. Note: this update does not make this validation necessary, and defaults to offline simulation. Offline simulation is previous non-validated behavior, and is potentially useful if we ever move to a model where a node is optional to a pxe. Another note just for reference: there is weirdness in e2e_prover, that fails the proof validation. Resolves #4781. Apply suggestions from code review Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
7afb59e
to
427c879
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
yarn-project/aztec.js/src/contract/contract_function_interaction.ts
Outdated
Show resolved
Hide resolved
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.49.0</summary> ## [0.49.0](aztec-package-v0.48.0...aztec-package-v0.49.0) (2024-08-15) ### ⚠ BREAKING CHANGES * Sequencer no longer proves ([#7860](#7860)) ### Miscellaneous * Enable execute command on aws ecs services ([#7975](#7975)) ([4331bc6](4331bc6)) * Sequencer no longer proves ([#7860](#7860)) ([7168290](7168290)) * Terraform template for prover-node ([#7846](#7846)) ([546f946](546f946)) </details> <details><summary>barretenberg.js: 0.49.0</summary> ## [0.49.0](barretenberg.js-v0.48.0...barretenberg.js-v0.49.0) (2024-08-15) ### Miscellaneous * Pin yarn versions in noir-projects and bb/ts ([#7988](#7988)) ([83f33a1](83f33a1)) </details> <details><summary>aztec-packages: 0.49.0</summary> ## [0.49.0](aztec-packages-v0.48.0...aztec-packages-v0.49.0) (2024-08-15) ### ⚠ BREAKING CHANGES * alternative key registry contract ([#7523](#7523)) * Sequencer no longer proves ([#7860](#7860)) ### Features * Add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681) ([b1c7374](b1c7374)) * Add `Quoted::as_expr` and `Expr::as_function_call` (noir-lang/noir#5708) ([91042c7](91042c7)) * Add `Type::as_struct` (noir-lang/noir#5680) ([b1c7374](b1c7374)) * Add `Type::get_trait_impl` (noir-lang/noir#5716) ([ccbef55](ccbef55)) * Add `Type::implements` (noir-lang/noir#5701) ([91042c7](91042c7)) * Add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670) ([b1c7374](b1c7374)) * Add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678) ([b1c7374](b1c7374)) * Add a limited form of arithmetic on generics (noir-lang/noir#5625) ([b1c7374](b1c7374)) * Add array_to_str_lossy (noir-lang/noir#5613) ([b1c7374](b1c7374)) * Add generate-secret-and-hash to cli ([#7977](#7977)) ([cdf62a0](cdf62a0)) * Add mutating FunctionDefinition functions (noir-lang/noir#5685) ([b1c7374](b1c7374)) * Add proven flag to sent tx wait opts ([#7950](#7950)) ([e80e7d2](e80e7d2)) * Add some `Module` comptime functions (noir-lang/noir#5684) ([b1c7374](b1c7374)) * Alternative key registry contract ([#7523](#7523)) ([3e6a20f](3e6a20f)) * **avm:** More no fake rows + virtual dyn gas (part 1) ([#7942](#7942)) ([9e8ba96](9e8ba96)) * Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683) ([b1c7374](b1c7374)) * Destroy_note_unsafe ([#7891](#7891)) ([5cda7ba](5cda7ba)) * **docs:** Nits ([#7838](#7838)) ([a76c999](a76c999)) * Enable UltraHonk verifier ([#7923](#7923)) ([5e8b4a8](5e8b4a8)), closes [#7373](#7373) * Implement closures in the comptime interpreter (noir-lang/noir#5682) ([b1c7374](b1c7374)) * IVC integration tests using new accumulate model ([#7946](#7946)) ([c527ae9](c527ae9)) * LSP autocompletion for use statement (noir-lang/noir#5704) ([91042c7](91042c7)) * LSP closing brace hints (noir-lang/noir#5686) ([b1c7374](b1c7374)) * LSP fields, functions and methods completion after "." and "::" (noir-lang/noir#5714) ([ccbef55](ccbef55)) * LSP hover now includes "Go to" links (noir-lang/noir#5677) ([b1c7374](b1c7374)) * LSP path completion (noir-lang/noir#5712) ([91042c7](91042c7)) * **noir_js:** Expose UltraHonk and integration tests (noir-lang/noir#5656) ([b1c7374](b1c7374)) * Optimizing PrivateFPC ([#7980](#7980)) ([d018335](d018335)) * Private refunds optimizations ([#7968](#7968)) ([cea8295](cea8295)) * Resolve arguments to attributes (noir-lang/noir#5649) ([b1c7374](b1c7374)) * **ssa:** Simple serialization of unoptimized SSA to file (noir-lang/noir#5679) ([b1c7374](b1c7374)) * Sync from aztec-packages (noir-lang/noir#5718) ([ccbef55](ccbef55)) * Update honk ultra_recursive_verifier to do aggregation ([#7582](#7582)) ([a96a5ad](a96a5ad)) ### Bug Fixes * Add locations to most SSA instructions (noir-lang/noir#5697) ([b1c7374](b1c7374)) * Allow txs on block zero ([#7928](#7928)) ([5e25cd6](5e25cd6)) * Build error in e2e_block_building ([0d0646d](0d0646d)) * **debugger:** Update the debugger to handle the new Brillig debug metadata format (noir-lang/noir#5706) ([91042c7](91042c7)) * Delete forks after proving job has finished ([#7972](#7972)) ([2b4a842](2b4a842)) * Deploy verifier cmd ([#7983](#7983)) ([f4fa797](f4fa797)) * Derive generic types (noir-lang/noir#5674) ([b1c7374](b1c7374)) * Do not duplicate redundant Brillig debug metadata (noir-lang/noir#5696) ([b1c7374](b1c7374)) * Do not mount ssh agent on OSX ([#7991](#7991)) ([950db8e](950db8e)) * **docs:** Add redirects for website links ([#7979](#7979)) ([e890814](e890814)) * Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643) ([b1c7374](b1c7374)) * Fix where clause issue in items generated from attributes (noir-lang/noir#5673) ([b1c7374](b1c7374)) * Lay plumbing for having simulations throw an error if they cannot be added in a block ([#7839](#7839)) ([eedbc11](eedbc11)) * Let a trait impl that relies on another trait work (noir-lang/noir#5646) ([b1c7374](b1c7374)) * Only record bytecode if >0 ([#7932](#7932)) ([3f145b3](3f145b3)) * Remove missing file ([#7941](#7941)) ([4d9290f](4d9290f)) * Replace unused ArrayGet/Set with constrain if possibly out of bounds (noir-lang/noir#5691) ([ccbef55](ccbef55)) * Switch verify proof to arrays (noir-lang/noir#5664) ([b1c7374](b1c7374)) * Track L1 block for last L2 block body retrieved ([#7927](#7927)) ([cd36be4](cd36be4)), closes [#7918](#7918) * Unexpose get note nonces on pxe ([#7889](#7889)) ([163c3a6](163c3a6)) * Use data dir for lmdb forks ([#7973](#7973)) ([5b53d43](5b53d43)) * Workaround from_slice with nested slices (noir-lang/noir#5648) ([b1c7374](b1c7374)) ### Miscellaneous * Add docs tip about filenames between commands (noir-lang/noir#5695) ([b1c7374](b1c7374)) * Add env var to disable bb cleanup ([#7936](#7936)) ([806a370](806a370)) * Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688) ([b1c7374](b1c7374)) * Add tests for noir<>ivc integration testing ([#7931](#7931)) ([7cc47a6](7cc47a6)) * Allow passing custom executors to fuzzer (noir-lang/noir#5710) ([91042c7](91042c7)) * **avm:** Fewer errors unless testing ([#7943](#7943)) ([33b65a9](33b65a9)) * **bb:** Constexpr simplifications ([#7906](#7906)) ([65d3b7f](65d3b7f)) * **bb:** Prereq work for polynomial mem optimization ([#7949](#7949)) ([5ca5138](5ca5138)) * **ci:** Print detailed target timings ([#7934](#7934)) ([fb574aa](fb574aa)) * Do not clean up bb files on err ([#7985](#7985)) ([75c6768](75c6768)) * Enable execute command on aws ecs services ([#7975](#7975)) ([4331bc6](4331bc6)) * Ensure bootstrapped networks have no pending blocks when proving starts ([#7986](#7986)) ([fb471b3](fb471b3)) * Fork logs and prover job catch ([#7982](#7982)) ([69bde53](69bde53)) * Move siloing to reset ([#7871](#7871)) ([014b5f0](014b5f0)) * Pin yarn versions in noir-projects and bb/ts ([#7988](#7988)) ([83f33a1](83f33a1)) * Release Noir(0.33.0) (noir-lang/noir#5550) ([b1c7374](b1c7374)) * Replace relative paths to noir-protocol-circuits ([cd5f138](cd5f138)) * Replace relative paths to noir-protocol-circuits ([6f3cef9](6f3cef9)) * Replace relative paths to noir-protocol-circuits ([54c4441](54c4441)) * Replace VERSION with IMAGE on provernet template ([d5e48aa](d5e48aa)) * Sequencer no longer proves ([#7860](#7860)) ([7168290](7168290)) * Simplify registry ([#7939](#7939)) ([8e0418f](8e0418f)) * Terraform template for prover-node ([#7846](#7846)) ([546f946](546f946)) * Update provernet docker compose template ([#7929](#7929)) ([33d47d2](33d47d2)) * Updating token with refunds ([#7969](#7969)) ([504deba](504deba)) </details> <details><summary>barretenberg: 0.49.0</summary> ## [0.49.0](barretenberg-v0.48.0...barretenberg-v0.49.0) (2024-08-15) ### Features * **avm:** More no fake rows + virtual dyn gas (part 1) ([#7942](#7942)) ([9e8ba96](9e8ba96)) * IVC integration tests using new accumulate model ([#7946](#7946)) ([c527ae9](c527ae9)) * Update honk ultra_recursive_verifier to do aggregation ([#7582](#7582)) ([a96a5ad](a96a5ad)) ### Miscellaneous * **avm:** Fewer errors unless testing ([#7943](#7943)) ([33b65a9](33b65a9)) * **bb:** Constexpr simplifications ([#7906](#7906)) ([65d3b7f](65d3b7f)) * **bb:** Prereq work for polynomial mem optimization ([#7949](#7949)) ([5ca5138](5ca5138)) </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.49.0</summary> ## [0.49.0](AztecProtocol/aztec-packages@aztec-package-v0.48.0...aztec-package-v0.49.0) (2024-08-15) ### ⚠ BREAKING CHANGES * Sequencer no longer proves ([#7860](AztecProtocol/aztec-packages#7860)) ### Miscellaneous * Enable execute command on aws ecs services ([#7975](AztecProtocol/aztec-packages#7975)) ([4331bc6](AztecProtocol/aztec-packages@4331bc6)) * Sequencer no longer proves ([#7860](AztecProtocol/aztec-packages#7860)) ([7168290](AztecProtocol/aztec-packages@7168290)) * Terraform template for prover-node ([#7846](AztecProtocol/aztec-packages#7846)) ([546f946](AztecProtocol/aztec-packages@546f946)) </details> <details><summary>barretenberg.js: 0.49.0</summary> ## [0.49.0](AztecProtocol/aztec-packages@barretenberg.js-v0.48.0...barretenberg.js-v0.49.0) (2024-08-15) ### Miscellaneous * Pin yarn versions in noir-projects and bb/ts ([#7988](AztecProtocol/aztec-packages#7988)) ([83f33a1](AztecProtocol/aztec-packages@83f33a1)) </details> <details><summary>aztec-packages: 0.49.0</summary> ## [0.49.0](AztecProtocol/aztec-packages@aztec-packages-v0.48.0...aztec-packages-v0.49.0) (2024-08-15) ### ⚠ BREAKING CHANGES * alternative key registry contract ([#7523](AztecProtocol/aztec-packages#7523)) * Sequencer no longer proves ([#7860](AztecProtocol/aztec-packages#7860)) ### Features * Add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add `Quoted::as_expr` and `Expr::as_function_call` (noir-lang/noir#5708) ([91042c7](AztecProtocol/aztec-packages@91042c7)) * Add `Type::as_struct` (noir-lang/noir#5680) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add `Type::get_trait_impl` (noir-lang/noir#5716) ([ccbef55](AztecProtocol/aztec-packages@ccbef55)) * Add `Type::implements` (noir-lang/noir#5701) ([91042c7](AztecProtocol/aztec-packages@91042c7)) * Add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add a limited form of arithmetic on generics (noir-lang/noir#5625) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add array_to_str_lossy (noir-lang/noir#5613) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add generate-secret-and-hash to cli ([#7977](AztecProtocol/aztec-packages#7977)) ([cdf62a0](AztecProtocol/aztec-packages@cdf62a0)) * Add mutating FunctionDefinition functions (noir-lang/noir#5685) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add proven flag to sent tx wait opts ([#7950](AztecProtocol/aztec-packages#7950)) ([e80e7d2](AztecProtocol/aztec-packages@e80e7d2)) * Add some `Module` comptime functions (noir-lang/noir#5684) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Alternative key registry contract ([#7523](AztecProtocol/aztec-packages#7523)) ([3e6a20f](AztecProtocol/aztec-packages@3e6a20f)) * **avm:** More no fake rows + virtual dyn gas (part 1) ([#7942](AztecProtocol/aztec-packages#7942)) ([9e8ba96](AztecProtocol/aztec-packages@9e8ba96)) * Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Destroy_note_unsafe ([#7891](AztecProtocol/aztec-packages#7891)) ([5cda7ba](AztecProtocol/aztec-packages@5cda7ba)) * **docs:** Nits ([#7838](AztecProtocol/aztec-packages#7838)) ([a76c999](AztecProtocol/aztec-packages@a76c999)) * Enable UltraHonk verifier ([#7923](AztecProtocol/aztec-packages#7923)) ([5e8b4a8](AztecProtocol/aztec-packages@5e8b4a8)), closes [#7373](AztecProtocol/aztec-packages#7373) * Implement closures in the comptime interpreter (noir-lang/noir#5682) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * IVC integration tests using new accumulate model ([#7946](AztecProtocol/aztec-packages#7946)) ([c527ae9](AztecProtocol/aztec-packages@c527ae9)) * LSP autocompletion for use statement (noir-lang/noir#5704) ([91042c7](AztecProtocol/aztec-packages@91042c7)) * LSP closing brace hints (noir-lang/noir#5686) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * LSP fields, functions and methods completion after "." and "::" (noir-lang/noir#5714) ([ccbef55](AztecProtocol/aztec-packages@ccbef55)) * LSP hover now includes "Go to" links (noir-lang/noir#5677) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * LSP path completion (noir-lang/noir#5712) ([91042c7](AztecProtocol/aztec-packages@91042c7)) * **noir_js:** Expose UltraHonk and integration tests (noir-lang/noir#5656) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Optimizing PrivateFPC ([#7980](AztecProtocol/aztec-packages#7980)) ([d018335](AztecProtocol/aztec-packages@d018335)) * Private refunds optimizations ([#7968](AztecProtocol/aztec-packages#7968)) ([cea8295](AztecProtocol/aztec-packages@cea8295)) * Resolve arguments to attributes (noir-lang/noir#5649) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * **ssa:** Simple serialization of unoptimized SSA to file (noir-lang/noir#5679) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Sync from aztec-packages (noir-lang/noir#5718) ([ccbef55](AztecProtocol/aztec-packages@ccbef55)) * Update honk ultra_recursive_verifier to do aggregation ([#7582](AztecProtocol/aztec-packages#7582)) ([a96a5ad](AztecProtocol/aztec-packages@a96a5ad)) ### Bug Fixes * Add locations to most SSA instructions (noir-lang/noir#5697) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Allow txs on block zero ([#7928](AztecProtocol/aztec-packages#7928)) ([5e25cd6](AztecProtocol/aztec-packages@5e25cd6)) * Build error in e2e_block_building ([0d0646d](AztecProtocol/aztec-packages@0d0646d)) * **debugger:** Update the debugger to handle the new Brillig debug metadata format (noir-lang/noir#5706) ([91042c7](AztecProtocol/aztec-packages@91042c7)) * Delete forks after proving job has finished ([#7972](AztecProtocol/aztec-packages#7972)) ([2b4a842](AztecProtocol/aztec-packages@2b4a842)) * Deploy verifier cmd ([#7983](AztecProtocol/aztec-packages#7983)) ([f4fa797](AztecProtocol/aztec-packages@f4fa797)) * Derive generic types (noir-lang/noir#5674) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Do not duplicate redundant Brillig debug metadata (noir-lang/noir#5696) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Do not mount ssh agent on OSX ([#7991](AztecProtocol/aztec-packages#7991)) ([950db8e](AztecProtocol/aztec-packages@950db8e)) * **docs:** Add redirects for website links ([#7979](AztecProtocol/aztec-packages#7979)) ([e890814](AztecProtocol/aztec-packages@e890814)) * Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Fix where clause issue in items generated from attributes (noir-lang/noir#5673) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Lay plumbing for having simulations throw an error if they cannot be added in a block ([#7839](AztecProtocol/aztec-packages#7839)) ([eedbc11](AztecProtocol/aztec-packages@eedbc11)) * Let a trait impl that relies on another trait work (noir-lang/noir#5646) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Only record bytecode if >0 ([#7932](AztecProtocol/aztec-packages#7932)) ([3f145b3](AztecProtocol/aztec-packages@3f145b3)) * Remove missing file ([#7941](AztecProtocol/aztec-packages#7941)) ([4d9290f](AztecProtocol/aztec-packages@4d9290f)) * Replace unused ArrayGet/Set with constrain if possibly out of bounds (noir-lang/noir#5691) ([ccbef55](AztecProtocol/aztec-packages@ccbef55)) * Switch verify proof to arrays (noir-lang/noir#5664) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Track L1 block for last L2 block body retrieved ([#7927](AztecProtocol/aztec-packages#7927)) ([cd36be4](AztecProtocol/aztec-packages@cd36be4)), closes [#7918](AztecProtocol/aztec-packages#7918) * Unexpose get note nonces on pxe ([#7889](AztecProtocol/aztec-packages#7889)) ([163c3a6](AztecProtocol/aztec-packages@163c3a6)) * Use data dir for lmdb forks ([#7973](AztecProtocol/aztec-packages#7973)) ([5b53d43](AztecProtocol/aztec-packages@5b53d43)) * Workaround from_slice with nested slices (noir-lang/noir#5648) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) ### Miscellaneous * Add docs tip about filenames between commands (noir-lang/noir#5695) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add env var to disable bb cleanup ([#7936](AztecProtocol/aztec-packages#7936)) ([806a370](AztecProtocol/aztec-packages@806a370)) * Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Add tests for noir<>ivc integration testing ([#7931](AztecProtocol/aztec-packages#7931)) ([7cc47a6](AztecProtocol/aztec-packages@7cc47a6)) * Allow passing custom executors to fuzzer (noir-lang/noir#5710) ([91042c7](AztecProtocol/aztec-packages@91042c7)) * **avm:** Fewer errors unless testing ([#7943](AztecProtocol/aztec-packages#7943)) ([33b65a9](AztecProtocol/aztec-packages@33b65a9)) * **bb:** Constexpr simplifications ([#7906](AztecProtocol/aztec-packages#7906)) ([65d3b7f](AztecProtocol/aztec-packages@65d3b7f)) * **bb:** Prereq work for polynomial mem optimization ([#7949](AztecProtocol/aztec-packages#7949)) ([5ca5138](AztecProtocol/aztec-packages@5ca5138)) * **ci:** Print detailed target timings ([#7934](AztecProtocol/aztec-packages#7934)) ([fb574aa](AztecProtocol/aztec-packages@fb574aa)) * Do not clean up bb files on err ([#7985](AztecProtocol/aztec-packages#7985)) ([75c6768](AztecProtocol/aztec-packages@75c6768)) * Enable execute command on aws ecs services ([#7975](AztecProtocol/aztec-packages#7975)) ([4331bc6](AztecProtocol/aztec-packages@4331bc6)) * Ensure bootstrapped networks have no pending blocks when proving starts ([#7986](AztecProtocol/aztec-packages#7986)) ([fb471b3](AztecProtocol/aztec-packages@fb471b3)) * Fork logs and prover job catch ([#7982](AztecProtocol/aztec-packages#7982)) ([69bde53](AztecProtocol/aztec-packages@69bde53)) * Move siloing to reset ([#7871](AztecProtocol/aztec-packages#7871)) ([014b5f0](AztecProtocol/aztec-packages@014b5f0)) * Pin yarn versions in noir-projects and bb/ts ([#7988](AztecProtocol/aztec-packages#7988)) ([83f33a1](AztecProtocol/aztec-packages@83f33a1)) * Release Noir(0.33.0) (noir-lang/noir#5550) ([b1c7374](AztecProtocol/aztec-packages@b1c7374)) * Replace relative paths to noir-protocol-circuits ([cd5f138](AztecProtocol/aztec-packages@cd5f138)) * Replace relative paths to noir-protocol-circuits ([6f3cef9](AztecProtocol/aztec-packages@6f3cef9)) * Replace relative paths to noir-protocol-circuits ([54c4441](AztecProtocol/aztec-packages@54c4441)) * Replace VERSION with IMAGE on provernet template ([d5e48aa](AztecProtocol/aztec-packages@d5e48aa)) * Sequencer no longer proves ([#7860](AztecProtocol/aztec-packages#7860)) ([7168290](AztecProtocol/aztec-packages@7168290)) * Simplify registry ([#7939](AztecProtocol/aztec-packages#7939)) ([8e0418f](AztecProtocol/aztec-packages@8e0418f)) * Terraform template for prover-node ([#7846](AztecProtocol/aztec-packages#7846)) ([546f946](AztecProtocol/aztec-packages@546f946)) * Update provernet docker compose template ([#7929](AztecProtocol/aztec-packages#7929)) ([33d47d2](AztecProtocol/aztec-packages@33d47d2)) * Updating token with refunds ([#7969](AztecProtocol/aztec-packages#7969)) ([504deba](AztecProtocol/aztec-packages@504deba)) </details> <details><summary>barretenberg: 0.49.0</summary> ## [0.49.0](AztecProtocol/aztec-packages@barretenberg-v0.48.0...barretenberg-v0.49.0) (2024-08-15) ### Features * **avm:** More no fake rows + virtual dyn gas (part 1) ([#7942](AztecProtocol/aztec-packages#7942)) ([9e8ba96](AztecProtocol/aztec-packages@9e8ba96)) * IVC integration tests using new accumulate model ([#7946](AztecProtocol/aztec-packages#7946)) ([c527ae9](AztecProtocol/aztec-packages@c527ae9)) * Update honk ultra_recursive_verifier to do aggregation ([#7582](AztecProtocol/aztec-packages#7582)) ([a96a5ad](AztecProtocol/aztec-packages@a96a5ad)) ### Miscellaneous * **avm:** Fewer errors unless testing ([#7943](AztecProtocol/aztec-packages#7943)) ([33b65a9](AztecProtocol/aztec-packages@33b65a9)) * **bb:** Constexpr simplifications ([#7906](AztecProtocol/aztec-packages#7906)) ([65d3b7f](AztecProtocol/aztec-packages@65d3b7f)) * **bb:** Prereq work for polynomial mem optimization ([#7949](AztecProtocol/aztec-packages#7949)) ([5ca5138](AztecProtocol/aztec-packages@5ca5138)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This PR gives an option to make a simulation of a tx fail, if the tx cannot be included in a block and added to the state.
To minimize impact on callsites / disruption, this update does not make this validation necessary, and defaults to skipping tx validation, exhibiting previous non-validated behavior. This will be changed to be default behavior in the future.
e.g. If a simulation produces duplicate nullifiers, or nullifiers that already exist in a state tree, the results of this simulation should not be returned, but should warn users that the transaction simulated is impossible to actually be added to a block due to being an invalid transaction.
The method for achieving the above is that a new API on the node was created, used for validating the correctness of the metadata and side-effects produced by a transaction. A transaction is deemed valid if and only if the transaction can be added to a block that can be used to advance state.
Another note just for reference: there is weirdness in e2e_prover, that fails the proof validation.