From 34d315838b9cfbe15aef1701b6061dcc80df1a93 Mon Sep 17 00:00:00 2001 From: ksew1 Date: Tue, 28 Oct 2025 15:17:23 +0100 Subject: [PATCH] Bump blockifier --- Cargo.lock | 121 +++++++++++++++--- Cargo.toml | 4 +- .../execution/cairo1_execution.rs | 23 ++-- .../execution/calls.rs | 3 +- .../execution/cheated_syscalls.rs | 11 +- .../execution/deprecated/cairo0_execution.rs | 18 +-- .../execution/entry_point.rs | 4 +- .../mod.rs | 7 +- .../cheatcodes/cheat_block_hash.rs | 1 - .../cheatcodes/spy_messages_to_l1.rs | 2 +- .../forge_runtime_extension/mod.rs | 5 +- .../src/runtime_extensions/native/call.rs | 1 - .../src/runtime_extensions/native/deploy.rs | 2 +- .../runtime_extensions/native/execution.rs | 1 - crates/cheatnet/tests/common/mod.rs | 1 - crates/forge-runner/src/running.rs | 8 +- crates/runtime/src/starknet/context.rs | 1 + rust-toolchain.toml | 2 + 18 files changed, 143 insertions(+), 72 deletions(-) create mode 100644 rust-toolchain.toml diff --git a/Cargo.lock b/Cargo.lock index ffb81d2069..8476338f05 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -128,8 +128,9 @@ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "apollo_compilation_utils" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a5aeb60f9dd6b11414a637d314bd4aa5e9090c014e18205b412971996e8885" dependencies = [ "apollo_infra_utils", "cairo-lang-sierra", @@ -144,10 +145,25 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "apollo_compile_to_native" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942ff41fac7691b52372d28462d877a9a64c7c28d66d4217c9e288c89eebd6c0" +dependencies = [ + "apollo_compilation_utils", + "apollo_compile_to_native_types", + "apollo_infra_utils", + "cairo-lang-starknet-classes", + "cairo-native", + "tempfile", +] + [[package]] name = "apollo_compile_to_native_types" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e1832a7d46b878c9d79a4f8686423916f8a4edc35fbfce2ddb98f7ec5f2d8f" dependencies = [ "apollo_config", "serde", @@ -156,8 +172,9 @@ dependencies = [ [[package]] name = "apollo_config" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ada910d739cb2ac2ec59766ea956de736f87965b2de60799feedf0de46f7d57a" dependencies = [ "apollo_infra_utils", "clap", @@ -174,8 +191,9 @@ dependencies = [ [[package]] name = "apollo_infra_utils" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "780c31485db92467019b1ba6cb0a4596c883030238f36ee1e6205fd65b6415e0" dependencies = [ "apollo_proc_macros", "assert-json-diff", @@ -184,6 +202,7 @@ dependencies = [ "serde", "serde_json", "socket2 0.5.10", + "strum 0.25.0", "tempfile", "thiserror 1.0.69", "tokio", @@ -192,8 +211,9 @@ dependencies = [ [[package]] name = "apollo_metrics" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e403e211be2ef8f5af561ee982c4d99291af022d93a63c3b5e983cdcdf4c33a" dependencies = [ "indexmap 2.12.0", "metrics", @@ -204,8 +224,9 @@ dependencies = [ [[package]] name = "apollo_proc_macros" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde929210d699f0fce6c8e4068881a48304c5ff1f09e6607962725d1d7bd015d" dependencies = [ "lazy_static 1.5.0", "proc-macro2", @@ -785,11 +806,13 @@ dependencies = [ [[package]] name = "blockifier" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b33eff1e4bb8d60cc248781b3aeb87e61c0707f3fd3f483b78ce72bbc29e15c" dependencies = [ "anyhow", "apollo_compilation_utils", + "apollo_compile_to_native", "apollo_compile_to_native_types", "apollo_config", "apollo_infra_utils", @@ -803,6 +826,7 @@ dependencies = [ "cairo-lang-casm", "cairo-lang-runner", "cairo-lang-starknet-classes", + "cairo-lang-utils", "cairo-native", "cairo-vm", "dashmap", @@ -834,11 +858,13 @@ dependencies = [ [[package]] name = "blockifier_test_utils" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13684e476726ef52254b9a80425b1e6cb32a15f417f19e2291656f01d203896e" dependencies = [ "apollo_infra_utils", "cairo-lang-starknet-classes", + "expect-test", "pretty_assertions", "rstest", "serde_json", @@ -2761,6 +2787,12 @@ dependencies = [ "syn 2.0.108", ] +[[package]] +name = "dissimilar" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921" + [[package]] name = "dlv-list" version = "0.5.2" @@ -3046,6 +3078,16 @@ dependencies = [ "uint 0.9.5", ] +[[package]] +name = "expect-test" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63af43ff4431e848fb47472a920f14fa71c24de13255a5692e93d4e90302acb0" +dependencies = [ + "dissimilar", + "once_cell", +] + [[package]] name = "fallible-iterator" version = "0.3.0" @@ -6683,6 +6725,42 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +[[package]] +name = "size-of" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4e36eca171fddeda53901b0a436573b3f2391eaa9189d439b2bd8ea8cebd7e3" + +[[package]] +name = "sizeof" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29dcfb1a76f2e5486a3c2d4e66d939813ce9be7500b2169e059a627ed13436cd" +dependencies = [ + "sizeof_internal", + "sizeof_macro", +] + +[[package]] +name = "sizeof_internal" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2361e1b34f9c2b742419e30e99e2f3094a846dd93fb5edc23ee0f714feb4e43d" +dependencies = [ + "starknet-types-core", +] + +[[package]] +name = "sizeof_macro" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6503474d48a3ff40a3da73f2e277e33e958245d78fc77e2386c5e521d38b16d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + [[package]] name = "slab" version = "0.4.11" @@ -7025,9 +7103,9 @@ dependencies = [ [[package]] name = "starknet-types-core" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90d23b1bc014ee4cce40056ab3114bcbcdc2dbc1e845bbfb1f8bd0bab63507d4" +checksum = "ab92594a86ac627dd4c8d3350362cc8035e55c548c27c71dfa4c9fc6b3b6ab1a" dependencies = [ "blake2", "digest", @@ -7039,13 +7117,15 @@ dependencies = [ "num-traits", "rand 0.9.2", "serde", + "size-of", "zeroize", ] [[package]] name = "starknet_api" -version = "0.15.0-rc.4" -source = "git+https://github.com/software-mansion-labs/sequencer.git?branch=main-v0.14.0#57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7" +version = "0.16.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9893be10768a72f91012e34ad3fbf66d4e058d3b1886195ebcd05815d3969e00" dependencies = [ "apollo_infra_utils", "base64 0.13.1", @@ -7068,6 +7148,7 @@ dependencies = [ "serde", "serde_json", "sha3", + "sizeof", "starknet-crypto", "starknet-types-core", "strum 0.25.0", diff --git a/Cargo.toml b/Cargo.toml index 42176efa2c..fed78c2c9a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,10 +35,10 @@ license-file = "LICENSE" [workspace.dependencies] # TODO(#3770) Use blockifier directly -blockifier = { git = "https://github.com/software-mansion-labs/sequencer.git", branch = "main-v0.14.0", features = ["testing", "tracing", "node_api"] } +blockifier = { version = "0.16.0-rc.1", features = ["testing", "tracing", "node_api"] } bigdecimal = "0.4.8" # TODO(#3770) Use starknet_api directly -starknet_api = { git = "https://github.com/software-mansion-labs/sequencer.git", branch = "main-v0.14.0" } +starknet_api = "0.16.0-rc.1" cairo-native = "0.6.2" cairo-lang-casm = { version = "2.12.3", features = ["serde"] } cairo-lang-sierra = "2.12.3" diff --git a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cairo1_execution.rs b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cairo1_execution.rs index 86438c0ac7..6a25ddbe0a 100644 --- a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cairo1_execution.rs +++ b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cairo1_execution.rs @@ -27,7 +27,6 @@ use cairo_vm::{ use runtime::{ExtendedRuntime, StarknetRuntime}; // blockifier/src/execution/cairo1_execution.rs:48 (execute_entry_point_call) -#[expect(clippy::result_large_err)] pub(crate) fn execute_entry_point_call_cairo1( call: ExecutableCallEntryPoint, compiled_class_v1: &CompiledClassV1, @@ -145,7 +144,6 @@ pub(crate) fn execute_entry_point_call_cairo1( } // crates/blockifier/src/execution/cairo1_execution.rs:236 (run_entry_point) -#[expect(clippy::result_large_err)] pub fn cheatable_run_entry_point( runner: &mut CairoRunner, hint_processor: &mut dyn HintProcessor, @@ -159,17 +157,22 @@ pub fn cheatable_run_entry_point( // endregion let args: Vec<&CairoArg> = args.iter().collect(); - runner.run_from_entrypoint( - entry_point.pc(), - &args, - verify_secure, - Some(program_segment_size), - hint_processor, - )?; + runner + .run_from_entrypoint( + entry_point.pc(), + &args, + verify_secure, + Some(program_segment_size), + hint_processor, + ) + .map_err(Box::new)?; // region: Modified blockifier code // Relocate trace to then collect it - runner.relocate(true).map_err(CairoRunError::from)?; + runner + .relocate(true) + .map_err(CairoRunError::from) + .map_err(Box::new)?; // endregion Ok(()) diff --git a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/calls.rs b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/calls.rs index ab9e1fca5e..94b81d06f7 100644 --- a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/calls.rs +++ b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/calls.rs @@ -20,7 +20,6 @@ use starknet_types_core::felt::Felt; use super::entry_point::{ExecuteCallEntryPointExtraOptions, execute_call_entry_point}; // blockifier/src/execution/syscalls/hint_processor.rs:541 (execute_inner_call) -#[expect(clippy::result_large_err)] pub fn execute_inner_call( call: &mut CallEntryPoint, vm: &mut VirtualMachine, @@ -80,7 +79,7 @@ pub fn execute_inner_call( } // blockifier/src/execution/syscalls/hint_processor.rs:577 (execute_library_call) -#[expect(clippy::too_many_arguments, clippy::result_large_err)] +#[expect(clippy::too_many_arguments)] pub fn execute_library_call( syscall_handler: &mut SyscallHintProcessor<'_>, cheatnet_state: &mut CheatnetState, diff --git a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cheated_syscalls.rs b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cheated_syscalls.rs index 3b36f9d577..e5849611ff 100644 --- a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cheated_syscalls.rs +++ b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/cheated_syscalls.rs @@ -47,7 +47,6 @@ use starknet_api::{ }; use std::sync::Arc; -#[expect(clippy::result_large_err)] pub fn get_execution_info_syscall( _request: EmptyRequest, vm: &mut VirtualMachine, @@ -67,7 +66,6 @@ pub fn get_execution_info_syscall( } // blockifier/src/execution/syscalls/mod.rs:222 (deploy_syscall) -#[expect(clippy::result_large_err)] pub fn deploy_syscall( request: DeployRequest, vm: &mut VirtualMachine, @@ -130,7 +128,6 @@ pub fn deploy_syscall( } // blockifier/src/execution/execution_utils.rs:217 (execute_deployment) -#[expect(clippy::result_large_err)] pub fn execute_deployment( state: &mut dyn State, cheatnet_state: &mut CheatnetState, @@ -162,7 +159,6 @@ pub fn execute_deployment( } // blockifier/src/execution/syscalls/mod.rs:407 (library_call) -#[expect(clippy::result_large_err)] pub fn library_call_syscall( request: LibraryCallRequest, vm: &mut VirtualMachine, @@ -196,7 +192,6 @@ pub fn library_call_syscall( } // blockifier/src/execution/syscalls/mod.rs:157 (call_contract) -#[expect(clippy::result_large_err)] pub fn call_contract_syscall( request: CallContractRequest, vm: &mut VirtualMachine, @@ -389,7 +384,7 @@ fn meta_tx_v0( Ok(retdata_segment) } -#[expect(clippy::needless_pass_by_value, clippy::result_large_err)] +#[expect(clippy::needless_pass_by_value)] pub fn get_block_hash_syscall( request: GetBlockHashRequest, _vm: &mut VirtualMachine, @@ -409,7 +404,7 @@ pub fn get_block_hash_syscall( Ok(GetBlockHashResponse { block_hash }) } -#[expect(clippy::needless_pass_by_value, clippy::result_large_err)] +#[expect(clippy::needless_pass_by_value)] pub fn storage_read( request: StorageReadRequest, _vm: &mut VirtualMachine, @@ -434,7 +429,7 @@ pub fn storage_read( Ok(StorageReadResponse { value }) } -#[expect(clippy::needless_pass_by_value, clippy::result_large_err)] +#[expect(clippy::needless_pass_by_value)] pub fn storage_write( request: StorageWriteRequest, _vm: &mut VirtualMachine, diff --git a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/deprecated/cairo0_execution.rs b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/deprecated/cairo0_execution.rs index 55e5f91ba8..092590f312 100644 --- a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/deprecated/cairo0_execution.rs +++ b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/deprecated/cairo0_execution.rs @@ -20,7 +20,6 @@ use cairo_vm::hint_processor::hint_processor_definition::HintProcessor; use cairo_vm::vm::runners::cairo_runner::{CairoArg, CairoRunner}; // blockifier/src/execution/deprecated_execution.rs:36 (execute_entry_point_call) -#[expect(clippy::result_large_err)] pub(crate) fn execute_entry_point_call_cairo0( call: ExecutableCallEntryPoint, compiled_class_v0: CompiledClassV0, @@ -90,7 +89,6 @@ pub(crate) fn execute_entry_point_call_cairo0( } // blockifier/src/execution/deprecated_execution.rs:192 (run_entry_point) -#[expect(clippy::result_large_err)] pub fn cheatable_run_entry_point( runner: &mut CairoRunner, hint_processor: &mut dyn HintProcessor, @@ -104,13 +102,15 @@ pub fn cheatable_run_entry_point( let program_segment_size = None; // Infer size from program. let args: Vec<&CairoArg> = args.iter().collect(); - runner.run_from_entrypoint( - entry_point_pc, - &args, - verify_secure, - program_segment_size, - hint_processor, - )?; + runner + .run_from_entrypoint( + entry_point_pc, + &args, + verify_secure, + program_segment_size, + hint_processor, + ) + .map_err(Box::new)?; Ok(()) } diff --git a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/entry_point.rs b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/entry_point.rs index 55ba5f6749..78ed8252b3 100644 --- a/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/entry_point.rs +++ b/crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/execution/entry_point.rs @@ -56,7 +56,7 @@ pub struct ExecuteCallEntryPointExtraOptions { } // blockifier/src/execution/entry_point (CallEntryPoint::execute) -#[expect(clippy::too_many_lines, clippy::result_large_err)] +#[expect(clippy::too_many_lines)] pub fn execute_call_entry_point( entry_point: &mut CallEntryPoint, // Instead of 'self' state: &mut dyn State, @@ -257,7 +257,6 @@ pub fn execute_call_entry_point( } // blockifier/src/execution/entry_point (CallEntryPoint::non_reverting_execute) -#[expect(clippy::result_large_err)] pub fn non_reverting_execute_call_entry_point( entry_point: &mut CallEntryPoint, // Instead of 'self' state: &mut dyn State, @@ -317,7 +316,6 @@ pub fn non_reverting_execute_call_entry_point( } // blockifier/src/execution/entry_point.rs (execute_constructor_entry_point) -#[expect(clippy::result_large_err)] pub fn execute_constructor_entry_point( state: &mut dyn State, cheatnet_state: &mut CheatnetState, diff --git a/crates/cheatnet/src/runtime_extensions/deprecated_cheatable_starknet_extension/mod.rs b/crates/cheatnet/src/runtime_extensions/deprecated_cheatable_starknet_extension/mod.rs index b8c9f891ed..5ed5f6e953 100644 --- a/crates/cheatnet/src/runtime_extensions/deprecated_cheatable_starknet_extension/mod.rs +++ b/crates/cheatnet/src/runtime_extensions/deprecated_cheatable_starknet_extension/mod.rs @@ -272,7 +272,6 @@ fn increment_syscall_count( } //blockifier/src/execution/deprecated_syscalls/mod.rs:303 (deploy) -#[expect(clippy::result_large_err)] fn deploy( request: DeployRequest, _vm: &mut VirtualMachine, @@ -326,7 +325,6 @@ fn deploy( } //blockifier/src/execution/deprecated_syscalls/mod.rs:182 (call_contract) -#[expect(clippy::result_large_err)] fn call_contract( request: CallContractRequest, vm: &mut VirtualMachine, @@ -367,7 +365,6 @@ fn call_contract( } // blockifier/src/execution/deprecated_syscalls/mod.rs:209 (delegate_call) -#[expect(clippy::result_large_err)] fn delegate_call( request: CallContractRequest, vm: &mut VirtualMachine, @@ -394,7 +391,6 @@ fn delegate_call( } // blockifier/src/execution/deprecated_syscalls/mod.rs:537 (library_call) -#[expect(clippy::result_large_err)] fn library_call( request: LibraryCallRequest, vm: &mut VirtualMachine, @@ -419,7 +415,6 @@ fn library_call( } // blockifier/src/execution/deprecated_syscalls/hint_processor.rs:393 (execute_inner_call) -#[expect(clippy::result_large_err)] fn execute_inner_call( call: &mut CallEntryPoint, vm: &mut VirtualMachine, @@ -452,7 +447,7 @@ fn execute_inner_call( } // blockifier/src/execution/deprecated_syscalls/hint_processor.rs:409 (execute_library_call) -#[expect(clippy::too_many_arguments, clippy::result_large_err)] +#[expect(clippy::too_many_arguments)] fn execute_library_call( syscall_handler: &mut DeprecatedSyscallHintProcessor<'_>, cheatnet_state: &mut CheatnetState, diff --git a/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/cheat_block_hash.rs b/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/cheat_block_hash.rs index 990ae9672e..62738ab43c 100644 --- a/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/cheat_block_hash.rs +++ b/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/cheat_block_hash.rs @@ -120,7 +120,6 @@ impl CheatnetState { None } - #[expect(clippy::result_large_err)] pub fn get_block_hash_for_contract( &mut self, contract_address: ContractAddress, diff --git a/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/spy_messages_to_l1.rs b/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/spy_messages_to_l1.rs index 3607b7fb4f..8175609c69 100644 --- a/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/spy_messages_to_l1.rs +++ b/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/cheatcodes/spy_messages_to_l1.rs @@ -19,7 +19,7 @@ impl MessageToL1 { ) -> MessageToL1 { Self { from_address, - to_address: ordered_message.message.to_address, + to_address: EthAddress::try_from(ordered_message.message.to_address).expect("this address should be valid"), payload: ordered_message .message .payload diff --git a/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/mod.rs b/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/mod.rs index 8d854afdb2..09a55f9bd9 100644 --- a/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/mod.rs +++ b/crates/cheatnet/src/runtime_extensions/forge_runtime_extension/mod.rs @@ -19,7 +19,7 @@ use crate::runtime_extensions::{ }; use crate::trace_data::{CallTrace, CallTraceNode, GasReportData}; use anyhow::{Context, Result, anyhow}; -use blockifier::bouncer::vm_resources_to_sierra_gas; +use blockifier::bouncer::vm_resources_to_gas; use blockifier::context::TransactionContext; use blockifier::execution::call_info::{ CallInfo, CallSummary, ChargedResources, EventSummary, ExecutionSummary, OrderedEvent, @@ -617,8 +617,9 @@ pub fn add_resources_to_top_call( match tracked_resource { TrackedResource::CairoSteps => top_call.used_execution_resources += resources, TrackedResource::SierraGas => { + let builtin_gas_cost = versioned_constants.os_constants.gas_costs.builtins; top_call.gas_consumed += - vm_resources_to_sierra_gas(&resources.clone(), versioned_constants).0; + vm_resources_to_gas(&resources.clone(), &builtin_gas_cost, versioned_constants).0; } } } diff --git a/crates/cheatnet/src/runtime_extensions/native/call.rs b/crates/cheatnet/src/runtime_extensions/native/call.rs index 24270c8605..74a2315fbc 100644 --- a/crates/cheatnet/src/runtime_extensions/native/call.rs +++ b/crates/cheatnet/src/runtime_extensions/native/call.rs @@ -13,7 +13,6 @@ use starknet_types_core::felt::Felt; // Based on https://github.com/software-mansion-labs/sequencer/blob/57447e3e8897d4e7ce7f3ec8d23af58d5b6bf1a7/crates/blockifier/src/execution/syscalls/syscall_base.rs#L435 #[expect(clippy::mut_mut)] -#[expect(clippy::result_large_err)] pub fn execute_inner_call( // region: Modified blockifier code syscall_handler_base: &mut SyscallHandlerBase, diff --git a/crates/cheatnet/src/runtime_extensions/native/deploy.rs b/crates/cheatnet/src/runtime_extensions/native/deploy.rs index cda2896844..b45880d870 100644 --- a/crates/cheatnet/src/runtime_extensions/native/deploy.rs +++ b/crates/cheatnet/src/runtime_extensions/native/deploy.rs @@ -8,7 +8,7 @@ use blockifier::execution::syscalls::vm_syscall_utils::SyscallSelector; use starknet_api::core::{ClassHash, ContractAddress, calculate_contract_address}; use starknet_api::transaction::fields::{Calldata, ContractAddressSalt}; -#[expect(clippy::match_bool, clippy::result_large_err)] +#[expect(clippy::match_bool)] // Copied from blockifer/src/execution/syscalls/syscall_base.rs pub fn deploy( syscall_handler_base: &mut SyscallHandlerBase, diff --git a/crates/cheatnet/src/runtime_extensions/native/execution.rs b/crates/cheatnet/src/runtime_extensions/native/execution.rs index d85570d82e..a294d0667f 100644 --- a/crates/cheatnet/src/runtime_extensions/native/execution.rs +++ b/crates/cheatnet/src/runtime_extensions/native/execution.rs @@ -22,7 +22,6 @@ use cairo_vm::types::builtin_name::BuiltinName; use std::collections::HashMap; use std::default::Default; -#[expect(clippy::result_large_err)] pub(crate) fn execute_entry_point_call_native( call: &ExecutableCallEntryPoint, native_compiled_class_v1: &NativeCompiledClassV1, diff --git a/crates/cheatnet/tests/common/mod.rs b/crates/cheatnet/tests/common/mod.rs index f466c5d66e..cbcb9c2253 100644 --- a/crates/cheatnet/tests/common/mod.rs +++ b/crates/cheatnet/tests/common/mod.rs @@ -249,7 +249,6 @@ pub fn call_contract( ) } -#[expect(clippy::result_large_err)] pub fn call_contract_raw( state: &mut dyn State, cheatnet_state: &mut CheatnetState, diff --git a/crates/forge-runner/src/running.rs b/crates/forge-runner/src/running.rs index 7d9bed3ccb..865d26cdf1 100644 --- a/crates/forge-runner/src/running.rs +++ b/crates/forge-runner/src/running.rs @@ -320,10 +320,10 @@ pub fn run_test_case( Ok(call_info) } Err(error) => Err(match error { - EntryPointExecutionError::CairoRunError(CairoRunError::VmException(err)) => { - CairoRunError::VirtualMachine(err.inner_exc) - } - EntryPointExecutionError::CairoRunError(err) => err, + EntryPointExecutionError::CairoRunError(err_box) => match *err_box { + CairoRunError::VmException(err) => CairoRunError::VirtualMachine(err.inner_exc), + other => other, + }, err => bail!(err), }), }; diff --git a/crates/runtime/src/starknet/context.rs b/crates/runtime/src/starknet/context.rs index c12b887fac..97ae70b556 100644 --- a/crates/runtime/src/starknet/context.rs +++ b/crates/runtime/src/starknet/context.rs @@ -51,6 +51,7 @@ pub fn build_block_context(block_info: &BlockInfo, chain_id: Option) -> eth_fee_token_address: ContractAddress::try_from_hex_str(ETH_CONTRACT_ADDRESS) .unwrap(), }, + is_l3: false, }, VersionedConstants::latest_constants().clone(), // 0.13.1 BouncerConfig::default(), diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000000..96186ac819 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "1.89.0" \ No newline at end of file