diff --git a/crates/starknet_committer_and_os_cli/src/os_cli/commands.rs b/crates/starknet_committer_and_os_cli/src/os_cli/commands.rs index be93d6430fc..56955f7a98c 100644 --- a/crates/starknet_committer_and_os_cli/src/os_cli/commands.rs +++ b/crates/starknet_committer_and_os_cli/src/os_cli/commands.rs @@ -3,7 +3,7 @@ use std::path::Path; use cairo_vm::types::layout_name::LayoutName; use serde::Deserialize; -use starknet_os::io::os_input::StarknetOsInput; +use starknet_os::io::os_input::{CachedStateInput, StarknetOsInput}; use starknet_os::runner::run_os_stateless; use tracing::info; @@ -17,10 +17,11 @@ pub(crate) struct Input { pub compiled_os_path: String, pub layout: LayoutName, pub os_input: StarknetOsInput, + pub cached_state_input: CachedStateInput, } pub fn parse_and_run_os(input_path: String, _output_path: String) { - let Input { compiled_os_path, layout, os_input } = load_input(input_path); + let Input { compiled_os_path, layout, os_input, cached_state_input } = load_input(input_path); assert!( os_input._transactions.len() == os_input._tx_execution_infos.len(), "The number of transactions and execution infos should be equal" @@ -31,5 +32,5 @@ pub fn parse_and_run_os(input_path: String, _output_path: String) { let compiled_os = fs::read(Path::new(&compiled_os_path)).expect("Failed to read compiled_os file"); - let _ = run_os_stateless(&compiled_os, layout, os_input); + let _ = run_os_stateless(&compiled_os, layout, os_input, cached_state_input); } diff --git a/crates/starknet_os/src/io/os_input.rs b/crates/starknet_os/src/io/os_input.rs index 92f4072e3be..49761d101bb 100644 --- a/crates/starknet_os/src/io/os_input.rs +++ b/crates/starknet_os/src/io/os_input.rs @@ -80,7 +80,7 @@ pub struct StarknetOsInput { pub(crate) full_output: bool, } -#[derive(Default)] +#[derive(Default, Debug)] #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] pub struct CachedStateInput { pub(crate) storage: HashMap>, diff --git a/crates/starknet_os/src/runner.rs b/crates/starknet_os/src/runner.rs index 8d75a508321..52b0f045700 100644 --- a/crates/starknet_os/src/runner.rs +++ b/crates/starknet_os/src/runner.rs @@ -21,6 +21,7 @@ pub fn run_os( layout: LayoutName, os_input: StarknetOsInput, state_reader: S, + cached_state_input: CachedStateInput, ) -> Result { // Init CairoRunConfig. let cairo_run_config = @@ -41,9 +42,6 @@ pub fn run_os( // Init the Cairo VM. let end = cairo_runner.initialize(allow_missing_builtins)?; - // TODO(Nimrod): Get `cached_state_input` as input. - let cached_state_input = CachedStateInput::default(); - // Create execution helper. let execution_helper = OsExecutionHelper::new(os_input, os_program, state_reader, cached_state_input)?; @@ -83,6 +81,7 @@ pub fn run_os_stateless( compiled_os: &[u8], layout: LayoutName, os_input: StarknetOsInput, + cached_state_input: CachedStateInput, ) -> Result { - run_os(compiled_os, layout, os_input, PanickingStateReader) + run_os(compiled_os, layout, os_input, PanickingStateReader, cached_state_input) } diff --git a/scripts/sequencer-ci.Dockerfile b/scripts/sequencer-ci.Dockerfile index 7ca2b3af1d4..bdfa2bc9628 100644 --- a/scripts/sequencer-ci.Dockerfile +++ b/scripts/sequencer-ci.Dockerfile @@ -20,5 +20,7 @@ ENV PATH=$PATH:${RUSTUP_HOME}/bin COPY install_build_tools.sh . COPY dependencies.sh . +COPY ../rust-toolchain.toml . RUN ./install_build_tools.sh +RUN rustup toolchain install