From 96d4c29f67731e50b46dc787b492da56ccb6d9e9 Mon Sep 17 00:00:00 2001 From: ftheirs Date: Thu, 26 Dec 2024 18:24:09 -0300 Subject: [PATCH] fix use_kzg_da global variable --- crates/starknet-os/src/hints/output.rs | 11 +++++++---- crates/starknet-os/src/hints/vars.rs | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/starknet-os/src/hints/output.rs b/crates/starknet-os/src/hints/output.rs index 3484fb9b..986f8654 100644 --- a/crates/starknet-os/src/hints/output.rs +++ b/crates/starknet-os/src/hints/output.rs @@ -115,13 +115,16 @@ pub const SET_STATE_UPDATES_START: &str = indoc! {r#"# `use_kzg_da` is used in a pub fn set_state_updates_start( vm: &mut VirtualMachine, - _exec_scopes: &mut ExecutionScopes, + exec_scopes: &mut ExecutionScopes, ids_data: &HashMap, ap_tracking: &ApTracking, _constants: &HashMap, ) -> Result<(), HintError> { let use_kzg_da_felt = get_integer_from_var_name(vars::ids::USE_KZG_DA, vm, ids_data, ap_tracking)?; + // Set `use_kzg_da` in globals since it will be used in `process_data_availability` + exec_scopes.insert_value(vars::scopes::USE_KZG_DA, use_kzg_da_felt); + // Recompute `compress_state_updates` until this issue is fixed // https://github.com/lambdaclass/cairo-vm/issues/1897 let full_output = get_integer_from_var_name(vars::ids::FULL_OUTPUT, vm, ids_data, ap_tracking)?; @@ -159,7 +162,7 @@ pub fn set_state_updates_start( Ok(()) } -pub const SET_COMPRESSED_START: &str = indoc! {r#"if ids.use_kzg_da: +pub const SET_COMPRESSED_START: &str = indoc! {r#"if use_kzg_da: ids.compressed_start = segments.add() else: # Assign a temporary segment, to be relocated into the output segment. @@ -167,12 +170,12 @@ else: pub fn set_compressed_start( vm: &mut VirtualMachine, - _exec_scopes: &mut ExecutionScopes, + exec_scopes: &mut ExecutionScopes, ids_data: &HashMap, ap_tracking: &ApTracking, _constants: &HashMap, ) -> Result<(), HintError> { - let use_kzg_da_felt = get_integer_from_var_name(vars::ids::USE_KZG_DA, vm, ids_data, ap_tracking)?; + let use_kzg_da_felt = exec_scopes.get::(vars::scopes::USE_KZG_DA)?; let use_kzg_da = if use_kzg_da_felt == Felt252::ONE { Ok(true) diff --git a/crates/starknet-os/src/hints/vars.rs b/crates/starknet-os/src/hints/vars.rs index 3d11d908..dd7cecc8 100644 --- a/crates/starknet-os/src/hints/vars.rs +++ b/crates/starknet-os/src/hints/vars.rs @@ -32,6 +32,7 @@ pub mod scopes { pub const TRANSACTIONS: &str = "transactions"; pub const TX: &str = "tx"; pub const VALUE: &str = "value"; + pub const USE_KZG_DA: &str = "use_kzg_da"; } pub mod ids {