From d44ae9fe2a5939761c8de2b33a62c8dc55d32ce1 Mon Sep 17 00:00:00 2001 From: Dori Medini Date: Sat, 11 Oct 2025 20:08:35 +0300 Subject: [PATCH] starknet_os_flow_tests: add coverage regression testing --- .gitattributes | 4 + .../starknet_os/src/hints/enum_definition.rs | 7 +- .../starknet_os/src/hints/enum_generation.rs | 2 +- ..._1_use_kzg_da_false_full_output_false.json | 422 +++++++++++++++ ...s_1_use_kzg_da_false_full_output_true.json | 401 ++++++++++++++ ...s_1_use_kzg_da_true_full_output_false.json | 428 +++++++++++++++ ...ks_1_use_kzg_da_true_full_output_true.json | 401 ++++++++++++++ ..._2_use_kzg_da_false_full_output_false.json | 422 +++++++++++++++ ...s_2_use_kzg_da_false_full_output_true.json | 401 ++++++++++++++ ...s_2_use_kzg_da_true_full_output_false.json | 428 +++++++++++++++ ...ks_2_use_kzg_da_true_full_output_true.json | 401 ++++++++++++++ .../hint_coverage/test_block_info_cairo0.json | 449 ++++++++++++++++ .../hint_coverage/test_block_info_cairo1.json | 425 +++++++++++++++ .../hint_coverage/test_data_gas_accounts.json | 422 +++++++++++++++ ...declare_and_deploy_in_separate_blocks.json | 428 +++++++++++++++ .../hint_coverage/test_deploy_syscall.json | 434 +++++++++++++++ .../test_deprecated_tx_info.json | 452 ++++++++++++++++ .../test_direct_execute_call.json | 410 ++++++++++++++ .../hint_coverage/test_empty_multi_block.json | 266 +++++++++ ...se_full_output_false_private_keys_3_1.json | 413 ++++++++++++++ ..._full_output_false_private_keys_empty.json | 404 ++++++++++++++ ...e_full_output_false_private_keys_none.json | 404 ++++++++++++++ ...lse_full_output_true_private_keys_3_1.json | 383 +++++++++++++ ...e_full_output_true_private_keys_empty.json | 383 +++++++++++++ ...se_full_output_true_private_keys_none.json | 383 +++++++++++++ ...ue_full_output_false_private_keys_3_1.json | 419 +++++++++++++++ ..._full_output_false_private_keys_empty.json | 410 ++++++++++++++ ...e_full_output_false_private_keys_none.json | 410 ++++++++++++++ ...rue_full_output_true_private_keys_3_1.json | 383 +++++++++++++ ...e_full_output_true_private_keys_empty.json | 383 +++++++++++++ ...ue_full_output_true_private_keys_none.json | 383 +++++++++++++ ...al_libfuncs_contract_use_kzg_da_false.json | 425 +++++++++++++++ ...tal_libfuncs_contract_use_kzg_da_true.json | 431 +++++++++++++++ .../test_initial_sierra_gas.json | 419 +++++++++++++++ .../resources/hint_coverage/test_meta_tx.json | 437 +++++++++++++++ ...est_new_account_flow_use_kzg_da_false.json | 425 +++++++++++++++ ...test_new_account_flow_use_kzg_da_true.json | 431 +++++++++++++++ ...class_execution_info_use_kzg_da_false.json | 413 ++++++++++++++ ..._class_execution_info_use_kzg_da_true.json | 419 +++++++++++++++ ...alls_flow_use_kzg_da_false_n_blocks_1.json | 425 +++++++++++++++ ...calls_flow_use_kzg_da_true_n_blocks_5.json | 431 +++++++++++++++ ..._logic_n_blocks_1_with_0_private_keys.json | 494 +++++++++++++++++ ..._logic_n_blocks_1_with_2_private_keys.json | 503 ++++++++++++++++++ ..._logic_n_blocks_3_with_0_private_keys.json | 494 +++++++++++++++++ ..._logic_n_blocks_3_with_2_private_keys.json | 503 ++++++++++++++++++ .../hint_coverage/test_resources_type.json | 428 +++++++++++++++ .../hint_coverage/test_reverted_call.json | 434 +++++++++++++++ .../test_reverted_invoke_tx_cairo0.json | 413 ++++++++++++++ .../test_reverted_invoke_tx_cairo1.json | 407 ++++++++++++++ .../test_reverted_l1_handler_tx_cairo0.json | 284 ++++++++++ .../test_reverted_l1_handler_tx_cairo1.json | 278 ++++++++++ .../test_v1_bound_accounts_cairo0.json | 458 ++++++++++++++++ .../test_v1_bound_accounts_cairo1.json | 422 +++++++++++++++ ...lse_full_output_false_contract_cairo0.json | 434 +++++++++++++++ ...lse_full_output_false_contract_cairo1.json | 404 ++++++++++++++ ...alse_full_output_true_contract_cairo0.json | 413 ++++++++++++++ ...alse_full_output_true_contract_cairo1.json | 383 +++++++++++++ ...rue_full_output_false_contract_cairo0.json | 440 +++++++++++++++ ...rue_full_output_false_contract_cairo1.json | 410 ++++++++++++++ ...true_full_output_true_contract_cairo0.json | 413 ++++++++++++++ ...true_full_output_true_contract_cairo1.json | 383 +++++++++++++ .../src/test_manager.rs | 12 +- crates/starknet_os_flow_tests/src/tests.rs | 66 ++- 63 files changed, 24088 insertions(+), 5 deletions(-) create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_false.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_true.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_false.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_true.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_false.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_true.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_false.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_true.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_data_gas_accounts.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_declare_and_deploy_in_separate_blocks.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_deploy_syscall.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_deprecated_tx_info.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_direct_execute_call.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_empty_multi_block.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_3_1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_empty.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_none.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_3_1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_empty.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_none.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_3_1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_empty.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_none.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_3_1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_empty.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_none.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_false.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_true.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_initial_sierra_gas.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_meta_tx.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_false.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_true.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_false.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_true.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_false_n_blocks_1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_true_n_blocks_5.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_0_private_keys.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_2_private_keys.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_0_private_keys.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_2_private_keys.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_resources_type.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_call.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo1.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo0.json create mode 100644 crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo1.json diff --git a/.gitattributes b/.gitattributes index d4ca7fe4a34..19a27582b60 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,7 @@ crates/blockifier_test_utils/resources/feature_contracts/cairo0/compiled/*.json -diff crates/blockifier_test_utils/resources/feature_contracts/cairo1/compiled/*.json -diff crates/blockifier_test_utils/resources/feature_contracts/cairo1/sierra/*.json -diff + +# Hint coverage of specific test cases do not require review - we use these artifacts to compute the +# list of all uncovered hints, which *should* be reviewed. +crates/starknet_os_flow_tests/resources/hint_coverage/*.json -diff diff --git a/crates/starknet_os/src/hints/enum_definition.rs b/crates/starknet_os/src/hints/enum_definition.rs index 296517c088b..c6df523fe33 100644 --- a/crates/starknet_os/src/hints/enum_definition.rs +++ b/crates/starknet_os/src/hints/enum_definition.rs @@ -1,7 +1,7 @@ use blockifier::state::state_api::StateReader; use indoc::indoc; #[cfg(any(test, feature = "testing"))] -use serde::Serialize; +use serde::{Deserialize, Serialize}; use starknet_types_core::hash::{Blake2Felt252, Poseidon}; #[cfg(any(test, feature = "testing"))] use strum::IntoEnumIterator; @@ -262,7 +262,10 @@ pub(crate) const TEST_HINT_PREFIX: &str = "# TEST HINT"; macro_rules! all_hints_enum { ($($inner_enum:ident),+) => { - #[cfg_attr(any(test, feature = "testing"),derive(Serialize, strum_macros::EnumIter))] + #[cfg_attr( + any(test, feature = "testing"), + derive(Deserialize, Serialize, Ord, PartialOrd, strum_macros::EnumIter) + )] #[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)] pub enum AllHints { $($inner_enum($inner_enum),)+ diff --git a/crates/starknet_os/src/hints/enum_generation.rs b/crates/starknet_os/src/hints/enum_generation.rs index c519e1a8307..b6d2f4748c5 100644 --- a/crates/starknet_os/src/hints/enum_generation.rs +++ b/crates/starknet_os/src/hints/enum_generation.rs @@ -3,7 +3,7 @@ macro_rules! define_hint_enum_base { ($enum_name:ident, $(($hint_name:ident, $hint_str:expr)),+ $(,)?) => { #[cfg_attr( any(test, feature = "testing"), - derive(Default, Serialize, strum_macros::EnumIter) + derive(Default, Deserialize, Serialize, Ord, PartialOrd, strum_macros::EnumIter) )] #[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)] pub enum $enum_name { diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_false.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_false.json new file mode 100644 index 00000000000..afccf126853 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_false.json @@ -0,0 +1,422 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_true.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_true.json new file mode 100644 index 00000000000..ea3f58b3f7b --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_false_full_output_true.json @@ -0,0 +1,401 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_false.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_false.json new file mode 100644 index 00000000000..cd19470d5dd --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_false.json @@ -0,0 +1,428 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_true.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_true.json new file mode 100644 index 00000000000..ea3f58b3f7b --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_1_use_kzg_da_true_full_output_true.json @@ -0,0 +1,401 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_false.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_false.json new file mode 100644 index 00000000000..afccf126853 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_false.json @@ -0,0 +1,422 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_true.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_true.json new file mode 100644 index 00000000000..ea3f58b3f7b --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_false_full_output_true.json @@ -0,0 +1,401 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_false.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_false.json new file mode 100644 index 00000000000..cd19470d5dd --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_false.json @@ -0,0 +1,428 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_true.json b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_true.json new file mode 100644 index 00000000000..ea3f58b3f7b --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/declare_deploy_scenario_n_blocks_2_use_kzg_da_true_full_output_true.json @@ -0,0 +1,401 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo0.json new file mode 100644 index 00000000000..df5cd6772d4 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo0.json @@ -0,0 +1,449 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "GetBlockNumber" + }, + { + "DeprecatedSyscallHint": "GetBlockTimestamp" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "PrepareConstructorExecution" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo1.json new file mode 100644 index 00000000000..89e19186011 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_block_info_cairo1.json @@ -0,0 +1,425 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "PrepareConstructorExecution" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_data_gas_accounts.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_data_gas_accounts.json new file mode 100644 index 00000000000..afccf126853 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_data_gas_accounts.json @@ -0,0 +1,422 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_declare_and_deploy_in_separate_blocks.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_declare_and_deploy_in_separate_blocks.json new file mode 100644 index 00000000000..cd19470d5dd --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_declare_and_deploy_in_separate_blocks.json @@ -0,0 +1,428 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_deploy_syscall.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_deploy_syscall.json new file mode 100644 index 00000000000..bd28e3e49e6 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_deploy_syscall.json @@ -0,0 +1,434 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_deprecated_tx_info.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_deprecated_tx_info.json new file mode 100644 index 00000000000..059430a30b9 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_deprecated_tx_info.json @@ -0,0 +1,452 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "GetTxInfo" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "PrepareConstructorExecution" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxEntryPointSelector" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "SetFpPlus4ToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_direct_execute_call.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_direct_execute_call.json new file mode 100644 index 00000000000..34de24d329e --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_direct_execute_call.json @@ -0,0 +1,410 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_empty_multi_block.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_empty_multi_block.json new file mode 100644 index 00000000000..f742ee047e8 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_empty_multi_block.json @@ -0,0 +1,266 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_3_1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_3_1.json new file mode 100644 index 00000000000..56911604cf3 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_3_1.json @@ -0,0 +1,413 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetEncryptedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "NaiveUnpackFelt252ToU32s" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "StatelessHint": "GenerateKeysUsingSha256Hash" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_empty.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_empty.json new file mode 100644 index 00000000000..db524295ed9 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_empty.json @@ -0,0 +1,404 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_none.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_none.json new file mode 100644 index 00000000000..db524295ed9 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_false_private_keys_none.json @@ -0,0 +1,404 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_3_1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_3_1.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_3_1.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_empty.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_empty.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_empty.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_none.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_none.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_false_full_output_true_private_keys_none.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_3_1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_3_1.json new file mode 100644 index 00000000000..15a01b53d98 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_3_1.json @@ -0,0 +1,419 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetEncryptedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "NaiveUnpackFelt252ToU32s" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "StatelessHint": "GenerateKeysUsingSha256Hash" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_empty.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_empty.json new file mode 100644 index 00000000000..34de24d329e --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_empty.json @@ -0,0 +1,410 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_none.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_none.json new file mode 100644 index 00000000000..34de24d329e --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_false_private_keys_none.json @@ -0,0 +1,410 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_3_1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_3_1.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_3_1.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_empty.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_empty.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_empty.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_none.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_none.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_encrypted_state_diff_use_kzg_da_true_full_output_true_private_keys_none.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_false.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_false.json new file mode 100644 index 00000000000..feccab1e954 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_false.json @@ -0,0 +1,425 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_true.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_true.json new file mode 100644 index 00000000000..2835e1a8ed7 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_experimental_libfuncs_contract_use_kzg_da_true.json @@ -0,0 +1,431 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_initial_sierra_gas.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_initial_sierra_gas.json new file mode 100644 index 00000000000..ee7a47484d1 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_initial_sierra_gas.json @@ -0,0 +1,419 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxEntryPointSelector" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "SetFpPlus4ToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_meta_tx.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_meta_tx.json new file mode 100644 index 00000000000..db9916843d0 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_meta_tx.json @@ -0,0 +1,437 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "GetTxInfo" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_false.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_false.json new file mode 100644 index 00000000000..89e19186011 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_false.json @@ -0,0 +1,425 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "PrepareConstructorExecution" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_true.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_true.json new file mode 100644 index 00000000000..a4309afd4f0 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_account_flow_use_kzg_da_true.json @@ -0,0 +1,431 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "PrepareConstructorExecution" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_false.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_false.json new file mode 100644 index 00000000000..ea148fbb9e9 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_false.json @@ -0,0 +1,413 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_true.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_true.json new file mode 100644 index 00000000000..e171601f311 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_class_execution_info_use_kzg_da_true.json @@ -0,0 +1,419 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_false_n_blocks_1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_false_n_blocks_1.json new file mode 100644 index 00000000000..3395892dadc --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_false_n_blocks_1.json @@ -0,0 +1,425 @@ +[ + { + "StatelessHint": "IsBlockNumberInBlockHashBuffer" + }, + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "Sha2Finalize" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetBlockHashContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "IsOnCurve" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "RelocateSha256Segment" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "ReadEcPointFromAddress" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_true_n_blocks_5.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_true_n_blocks_5.json new file mode 100644 index 00000000000..e668612d54f --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_new_syscalls_flow_use_kzg_da_true_n_blocks_5.json @@ -0,0 +1,431 @@ +[ + { + "StatelessHint": "IsBlockNumberInBlockHashBuffer" + }, + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "Sha2Finalize" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetBlockHashContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "IsOnCurve" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "RelocateSha256Segment" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "ReadEcPointFromAddress" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_0_private_keys.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_0_private_keys.json new file mode 100644 index 00000000000..764cb4e69ef --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_0_private_keys.json @@ -0,0 +1,494 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "CallContract" + }, + { + "DeprecatedSyscallHint": "EmitEvent" + }, + { + "DeprecatedSyscallHint": "GetBlockNumber" + }, + { + "DeprecatedSyscallHint": "GetBlockTimestamp" + }, + { + "DeprecatedSyscallHint": "GetCallerAddress" + }, + { + "DeprecatedSyscallHint": "GetContractAddress" + }, + { + "DeprecatedSyscallHint": "GetSequencerAddress" + }, + { + "DeprecatedSyscallHint": "GetTxSignature" + }, + { + "DeprecatedSyscallHint": "LibraryCall" + }, + { + "DeprecatedSyscallHint": "LibraryCallL1Handler" + }, + { + "DeprecatedSyscallHint": "ReplaceClass" + }, + { + "DeprecatedSyscallHint": "SendMessageToL1" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxEntryPointSelector" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckSyscallResponse" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "SetFpPlus4ToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_2_private_keys.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_2_private_keys.json new file mode 100644 index 00000000000..c2033a9b005 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_1_with_2_private_keys.json @@ -0,0 +1,503 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetEncryptedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "NaiveUnpackFelt252ToU32s" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "StatelessHint": "GenerateKeysUsingSha256Hash" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "CallContract" + }, + { + "DeprecatedSyscallHint": "EmitEvent" + }, + { + "DeprecatedSyscallHint": "GetBlockNumber" + }, + { + "DeprecatedSyscallHint": "GetBlockTimestamp" + }, + { + "DeprecatedSyscallHint": "GetCallerAddress" + }, + { + "DeprecatedSyscallHint": "GetContractAddress" + }, + { + "DeprecatedSyscallHint": "GetSequencerAddress" + }, + { + "DeprecatedSyscallHint": "GetTxSignature" + }, + { + "DeprecatedSyscallHint": "LibraryCall" + }, + { + "DeprecatedSyscallHint": "LibraryCallL1Handler" + }, + { + "DeprecatedSyscallHint": "ReplaceClass" + }, + { + "DeprecatedSyscallHint": "SendMessageToL1" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxEntryPointSelector" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckSyscallResponse" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "SetFpPlus4ToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_0_private_keys.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_0_private_keys.json new file mode 100644 index 00000000000..764cb4e69ef --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_0_private_keys.json @@ -0,0 +1,494 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "CallContract" + }, + { + "DeprecatedSyscallHint": "EmitEvent" + }, + { + "DeprecatedSyscallHint": "GetBlockNumber" + }, + { + "DeprecatedSyscallHint": "GetBlockTimestamp" + }, + { + "DeprecatedSyscallHint": "GetCallerAddress" + }, + { + "DeprecatedSyscallHint": "GetContractAddress" + }, + { + "DeprecatedSyscallHint": "GetSequencerAddress" + }, + { + "DeprecatedSyscallHint": "GetTxSignature" + }, + { + "DeprecatedSyscallHint": "LibraryCall" + }, + { + "DeprecatedSyscallHint": "LibraryCallL1Handler" + }, + { + "DeprecatedSyscallHint": "ReplaceClass" + }, + { + "DeprecatedSyscallHint": "SendMessageToL1" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxEntryPointSelector" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckSyscallResponse" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "SetFpPlus4ToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_2_private_keys.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_2_private_keys.json new file mode 100644 index 00000000000..c2033a9b005 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_os_logic_n_blocks_3_with_2_private_keys.json @@ -0,0 +1,503 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetEncryptedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "NaiveUnpackFelt252ToU32s" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "StatelessHint": "GenerateKeysUsingSha256Hash" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "CallContract" + }, + { + "DeprecatedSyscallHint": "EmitEvent" + }, + { + "DeprecatedSyscallHint": "GetBlockNumber" + }, + { + "DeprecatedSyscallHint": "GetBlockTimestamp" + }, + { + "DeprecatedSyscallHint": "GetCallerAddress" + }, + { + "DeprecatedSyscallHint": "GetContractAddress" + }, + { + "DeprecatedSyscallHint": "GetSequencerAddress" + }, + { + "DeprecatedSyscallHint": "GetTxSignature" + }, + { + "DeprecatedSyscallHint": "LibraryCall" + }, + { + "DeprecatedSyscallHint": "LibraryCallL1Handler" + }, + { + "DeprecatedSyscallHint": "ReplaceClass" + }, + { + "DeprecatedSyscallHint": "SendMessageToL1" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxEntryPointSelector" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckSyscallResponse" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "SetFpPlus4ToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_resources_type.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_resources_type.json new file mode 100644 index 00000000000..cd19470d5dd --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_resources_type.json @@ -0,0 +1,428 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_call.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_call.json new file mode 100644 index 00000000000..d7c4e83b8a4 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_call.json @@ -0,0 +1,434 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "PrepareStateEntryForRevert" + }, + { + "StatelessHint": "GenerateDummyOsOutputSegment" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadStorageKeyForRevert" + }, + { + "OsHint": "WriteStorageKeyForRevert" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo0.json new file mode 100644 index 00000000000..a2388e7b2af --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo0.json @@ -0,0 +1,413 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo1.json new file mode 100644 index 00000000000..21ed2fbd23c --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_invoke_tx_cairo1.json @@ -0,0 +1,407 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo0.json new file mode 100644 index 00000000000..a075af1e6ad --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo0.json @@ -0,0 +1,284 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo1.json new file mode 100644 index 00000000000..66534cc8abf --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_reverted_l1_handler_tx_cairo1.json @@ -0,0 +1,278 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo0.json new file mode 100644 index 00000000000..f1254c91b72 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo0.json @@ -0,0 +1,458 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "EmitEvent" + }, + { + "DeprecatedSyscallHint": "GetContractAddress" + }, + { + "DeprecatedSyscallHint": "GetTxInfo" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SkipTx" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo1.json new file mode 100644 index 00000000000..afccf126853 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/test_v1_bound_accounts_cairo1.json @@ -0,0 +1,422 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "WriteNextAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "SetComponentHashes" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxVersion" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "CheckNewDeployResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "DeclareTxFields" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo0.json new file mode 100644 index 00000000000..cdfa1c88257 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo0.json @@ -0,0 +1,434 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo1.json new file mode 100644 index 00000000000..db524295ed9 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_false_contract_cairo1.json @@ -0,0 +1,404 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo0.json new file mode 100644 index 00000000000..006a2caaad1 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo0.json @@ -0,0 +1,413 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo1.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_false_full_output_true_contract_cairo1.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo0.json new file mode 100644 index 00000000000..fbd02f14f36 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo0.json @@ -0,0 +1,440 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo1.json new file mode 100644 index 00000000000..34de24d329e --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_false_contract_cairo1.json @@ -0,0 +1,410 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "DictionaryFromBucket" + }, + { + "StatelessHint": "GetPrevOffset" + }, + { + "StatelessHint": "CompressionHint" + }, + { + "StatelessHint": "SetDecompressedDst" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "Log2Ceil" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetCompressedStart" + }, + { + "StatelessHint": "SetNUpdatesSmall" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "WriteSplitResult" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "ComputeIdsLow" + }, + { + "CommonHint": "StoreDaSegment" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo0.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo0.json new file mode 100644 index 00000000000..006a2caaad1 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo0.json @@ -0,0 +1,413 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeDeprecatedSyscallHandler" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry2" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "DeprecatedSyscallHint": "StorageRead" + }, + { + "DeprecatedSyscallHint": "StorageWrite" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "LoadDeprecatedClassInner" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ExitCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResultDeprecated" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "CacheContractStorageSyscallRequestAddress" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerEnterSyscallPrepareExitSyscall" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadDeprecatedClass" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo1.json b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo1.json new file mode 100644 index 00000000000..1a7ecfded14 --- /dev/null +++ b/crates/starknet_os_flow_tests/resources/hint_coverage/trivial_diff_scenario_use_kzg_da_true_full_output_true_contract_cairo1.json @@ -0,0 +1,383 @@ +[ + { + "StatelessHint": "GetBlockMapping" + }, + { + "StatelessHint": "IsLeaf" + }, + { + "StatelessHint": "SelectedBuiltins" + }, + { + "StatelessHint": "SelectBuiltin" + }, + { + "StatelessHint": "AssignBytecodeSegments" + }, + { + "StatelessHint": "AssertEndOfBytecodeSegments" + }, + { + "StatelessHint": "DeleteMemoryData" + }, + { + "StatelessHint": "IterCurrentSegmentInfo" + }, + { + "StatelessHint": "SetApToSegmentHashBlake" + }, + { + "StatelessHint": "EnterScopeWithAliases" + }, + { + "StatelessHint": "KeyLtMinAliasAllocValue" + }, + { + "StatelessHint": "AssertKeyBigEnoughForAlias" + }, + { + "StatelessHint": "ContractAddressLeMaxForCompression" + }, + { + "StatelessHint": "ComputeCommitmentsOnFinalizedStateWithAliases" + }, + { + "StatelessHint": "SegmentsAddTemp" + }, + { + "StatelessHint": "SegmentsAdd" + }, + { + "StatelessHint": "LogRemainingTxs" + }, + { + "StatelessHint": "FillHolesInRc96Segment" + }, + { + "StatelessHint": "EnterScopeSyscallHandler" + }, + { + "StatelessHint": "GetContractAddressStateEntryAndSetNewStateEntry" + }, + { + "StatelessHint": "IsDeprecated" + }, + { + "StatelessHint": "EnterSyscallScopes" + }, + { + "StatelessHint": "IsRemainingGasLtInitialBudget" + }, + { + "StatelessHint": "InitialGeRequiredGas" + }, + { + "StatelessHint": "EnterScopeNode" + }, + { + "StatelessHint": "EnterScopeNewNode" + }, + { + "StatelessHint": "EnterScopeNextNodeBit0" + }, + { + "StatelessHint": "EnterScopeNextNodeBit1" + }, + { + "StatelessHint": "EnterScopeLeftChild" + }, + { + "StatelessHint": "EnterScopeRightChild" + }, + { + "StatelessHint": "EnterScopeDescendEdge" + }, + { + "StatelessHint": "FetchResult" + }, + { + "StatelessHint": "SearchSortedOptimistic" + }, + { + "StatelessHint": "SetStateUpdatesStart" + }, + { + "StatelessHint": "SetSiblings" + }, + { + "StatelessHint": "IsCaseRight" + }, + { + "StatelessHint": "SetApToDescend" + }, + { + "StatelessHint": "AssertCaseIsRight" + }, + { + "StatelessHint": "WriteCaseNotLeftToAp" + }, + { + "StatelessHint": "SplitDescend" + }, + { + "StatelessHint": "RemainingGasGtMax" + }, + { + "StatelessHint": "DecodeNode" + }, + { + "StatelessHint": "DecodeNode2" + }, + { + "StatelessHint": "StarknetOsInput" + }, + { + "StatelessHint": "AllocateSegmentsForMessages" + }, + { + "StatelessHint": "CheckPackedValuesEndAndSize" + }, + { + "StatelessHint": "UnpackFeltsToU32s" + }, + { + "CommonHint": "SetTreeStructure" + }, + { + "CommonHint": "GuessContractAddrStoragePtr" + }, + { + "CommonHint": "UpdateClassesPtr" + }, + { + "CommonHint": "GuessClassesPtr" + }, + { + "CommonHint": "UpdateContractAddrToStoragePtr" + }, + { + "CommonHint": "SetStateUpdatePointersToNone" + }, + { + "OsHint": "LoadClass" + }, + { + "OsHint": "EnterScopeWithBytecodeSegmentStructure" + }, + { + "OsHint": "BlockNumber" + }, + { + "OsHint": "BlockTimestamp" + }, + { + "OsHint": "ChainId" + }, + { + "OsHint": "FeeTokenAddress" + }, + { + "OsHint": "SequencerAddress" + }, + { + "OsHint": "WriteUseKzgDaToMemory" + }, + { + "OsHint": "UpdateBuiltinPtrs" + }, + { + "OsHint": "ReadAliasFromKey" + }, + { + "OsHint": "ReadAliasCounter" + }, + { + "OsHint": "UpdateAliasCounter" + }, + { + "OsHint": "GuessAliasesContractStoragePtr" + }, + { + "OsHint": "UpdateAliasesContractToStoragePtr" + }, + { + "OsHint": "GuessStatePtr" + }, + { + "OsHint": "UpdateStatePtr" + }, + { + "OsHint": "LoadDeprecatedClassFacts" + }, + { + "OsHint": "StartTx" + }, + { + "OsHint": "OsInputTransactions" + }, + { + "OsHint": "SetApToActualFee" + }, + { + "OsHint": "LoadNextTx" + }, + { + "OsHint": "LoadResourceBounds" + }, + { + "OsHint": "ExitTx" + }, + { + "OsHint": "AssertTransactionHash" + }, + { + "OsHint": "SetStateEntryToAccountContractAddress" + }, + { + "OsHint": "CheckIsDeprecated" + }, + { + "OsHint": "EndTx" + }, + { + "OsHint": "EnterCall" + }, + { + "OsHint": "ContractAddress" + }, + { + "OsHint": "TxCalldataLen" + }, + { + "OsHint": "TxCalldata" + }, + { + "OsHint": "TxTip" + }, + { + "OsHint": "TxPaymasterDataLen" + }, + { + "OsHint": "TxPaymasterData" + }, + { + "OsHint": "TxNonceDataAvailabilityMode" + }, + { + "OsHint": "TxFeeDataAvailabilityMode" + }, + { + "OsHint": "TxAccountDeploymentDataLen" + }, + { + "OsHint": "TxAccountDeploymentData" + }, + { + "OsHint": "GenSignatureArg" + }, + { + "OsHint": "IsReverted" + }, + { + "OsHint": "CheckExecution" + }, + { + "OsHint": "CheckNewSyscallResponse" + }, + { + "OsHint": "LogEnterSyscall" + }, + { + "OsHint": "SetApToTxNonce" + }, + { + "OsHint": "WriteSyscallResult" + }, + { + "OsHint": "WriteOldBlockToStorage" + }, + { + "OsHint": "CacheContractStorageRequestKey" + }, + { + "OsHint": "GetOldBlockNumberAndHash" + }, + { + "OsHint": "GetBlocksNumber" + }, + { + "OsHint": "GetNClassHashesToMigrate" + }, + { + "OsHint": "WriteFullOutputToMemory" + }, + { + "OsHint": "ConfigureKzgManager" + }, + { + "OsHint": "SetApToPrevBlockHash" + }, + { + "OsHint": "SetApToNewBlockHash" + }, + { + "OsHint": "SetBit" + }, + { + "OsHint": "PreparePreimageValidationNonDeterministicHashes" + }, + { + "OsHint": "BuildDescentMap" + }, + { + "OsHint": "DebugExpectedInitialGas" + }, + { + "OsHint": "IsSierraGasMode" + }, + { + "OsHint": "SetPreimageForStateCommitments" + }, + { + "OsHint": "SetPreimageForClassCommitments" + }, + { + "OsHint": "SetPreimageForCurrentCommitmentInfo" + }, + { + "OsHint": "ShouldUseReadOptimizedPatriciaUpdate" + }, + { + "OsHint": "LoadEdge" + }, + { + "OsHint": "HeightIsZeroOrLenNodePreimageIsTwo" + }, + { + "OsHint": "SetSyscallPtr" + }, + { + "OsHint": "OsLoggerExitSyscall" + }, + { + "OsHint": "InitStateUpdatePointers" + }, + { + "OsHint": "InitializeStateChanges" + }, + { + "OsHint": "InitializeClassHashes" + }, + { + "OsHint": "CreateBlockAdditionalHints" + }, + { + "OsHint": "LogRemainingBlocks" + }, + { + "OsHint": "GetPublicKeys" + }, + { + "HintExtension": "LoadClassesAndBuildBytecodeSegmentStructures" + } +] \ No newline at end of file diff --git a/crates/starknet_os_flow_tests/src/test_manager.rs b/crates/starknet_os_flow_tests/src/test_manager.rs index d0c1b40cac9..bce3f354fe7 100644 --- a/crates/starknet_os_flow_tests/src/test_manager.rs +++ b/crates/starknet_os_flow_tests/src/test_manager.rs @@ -14,7 +14,7 @@ use blockifier::transaction::transaction_execution::Transaction as BlockifierTra use blockifier_test_utils::calldata::create_calldata; use blockifier_test_utils::contracts::FeatureContract; use cairo_vm::types::builtin_name::BuiltinName; -use expect_test::{expect, Expect}; +use expect_test::{expect, expect_file, Expect}; use itertools::Itertools; use starknet_api::abi::abi_utils::get_fee_token_var_address; use starknet_api::block::{BlockHash, BlockInfo, BlockNumber, PreviousBlockNumber}; @@ -43,6 +43,7 @@ use starknet_committer::block_committer::input::{ StateDiff, }; use starknet_committer::db::facts_db::FactsDb; +use starknet_os::hints::enum_definition::AllHints; use starknet_os::hints::hint_implementation::state_diff_encryption::utils::compute_public_keys; use starknet_os::io::os_input::{ OsBlockInput, @@ -293,6 +294,15 @@ impl OsTestOutput { assert_eq!(self.decompressed_state_diff, self.expected_values.committed_state_diff); } } + + pub(crate) fn expect_hint_coverage(&self, test_name: &str) { + let covered_hints = AllHints::all_iter() + .filter(|hint| !self.runner_output.unused_hints.contains(hint)) + .sorted() + .collect::>(); + expect_file![format!("../resources/hint_coverage/{test_name}.json")] + .assert_eq(&serde_json::to_string_pretty(&covered_hints).unwrap()); + } } impl TestManager { diff --git a/crates/starknet_os_flow_tests/src/tests.rs b/crates/starknet_os_flow_tests/src/tests.rs index d31e8f67790..42f43c87068 100644 --- a/crates/starknet_os_flow_tests/src/tests.rs +++ b/crates/starknet_os_flow_tests/src/tests.rs @@ -242,6 +242,10 @@ async fn declare_deploy_scenario( let perform_global_validations = true; test_output.perform_validations(perform_global_validations, Some(&partial_state_diff)); + test_output.expect_hint_coverage(&format!( + "declare_deploy_scenario_n_blocks_{}_use_kzg_da_{}_full_output_{}", + n_blocks, use_kzg_da, full_output + )); } /// Test state diffs in separate blocks that become trivial in a multiblock. @@ -293,6 +297,12 @@ async fn trivial_diff_scenario( ); test_output.perform_default_validations(); + let contract_type = + if test_contract.cairo_version() == CairoVersion::Cairo0 { "cairo0" } else { "cairo1" }; + test_output.expect_hint_coverage(&format!( + "trivial_diff_scenario_use_kzg_da_{}_full_output_{}_contract_{}", + use_kzg_da, full_output, contract_type + )); } /// This test verifies that when an entry point modifies storage and then reverts (panics): @@ -351,6 +361,9 @@ async fn test_reverted_invoke_tx( test_output.assert_account_balance_change(*FUNDED_ACCOUNT_ADDRESS); test_output.perform_default_validations(); + let contract_type = + if test_contract.cairo_version() == CairoVersion::Cairo0 { "cairo0" } else { "cairo1" }; + test_output.expect_hint_coverage(&format!("test_reverted_invoke_tx_{}", contract_type)); } #[rstest] @@ -379,7 +392,7 @@ async fn test_encrypted_state_diff( .execute_test_with_default_block_contexts(&TestParameters { use_kzg_da, full_output, - private_keys, + private_keys: private_keys.clone(), ..Default::default() }) .await; @@ -395,6 +408,18 @@ async fn test_encrypted_state_diff( ..Default::default() }; test_output.perform_validations(perform_global_validations, Some(&partial_state_diff)); + + let scenario_name = format!( + "test_encrypted_state_diff_use_kzg_da_{}_full_output_{}_private_keys_{}", + use_kzg_da, + full_output, + match private_keys { + None => "none".to_string(), + Some(keys) if keys.is_empty() => "empty".to_string(), + Some(keys) => keys.iter().map(|key| key.to_string()).collect::>().join("_"), + } + ); + test_output.expect_hint_coverage(&scenario_name); } /// Verifies that when an L1 handler modifies storage and then reverts, all storage changes made @@ -446,6 +471,9 @@ async fn test_reverted_l1_handler_tx( // Make sure we expect no messages were sent to L2, explicitly, before validating actual output. assert!(test_output.expected_values.messages_to_l2.is_empty()); test_output.perform_default_validations(); + let contract_type = + if test_contract.cairo_version() == CairoVersion::Cairo0 { "cairo0" } else { "cairo1" }; + test_output.expect_hint_coverage(&format!("test_reverted_l1_handler_tx_{}", contract_type)); } #[rstest] @@ -825,6 +853,7 @@ async fn test_os_logic( // Run the test. test_manager.divide_transactions_into_n_blocks(n_blocks_in_multi_block); + let n_private_keys = private_keys.as_ref().map(|keys| keys.len()).unwrap_or(0); let test_output = test_manager .execute_test_with_default_block_contexts(&TestParameters { messages_to_l1: vec![expected_message_to_l1], @@ -839,6 +868,9 @@ async fn test_os_logic( let partial_state_diff = Some(&StateDiff { storage_updates: expected_storage_updates, ..Default::default() }); test_output.perform_validations(perform_global_validations, partial_state_diff); + test_output.expect_hint_coverage(&format!( + "test_os_logic_n_blocks_{n_blocks_in_multi_block}_with_{n_private_keys}_private_keys", + )); } #[rstest] @@ -922,6 +954,7 @@ async fn test_v1_bound_accounts_cairo0() { let partial_state_diff = Some(&StateDiff { storage_updates: expected_storage_updates, ..Default::default() }); test_output.perform_validations(perform_global_validations, partial_state_diff); + test_output.expect_hint_coverage("test_v1_bound_accounts_cairo0"); } #[rstest] @@ -1018,6 +1051,7 @@ async fn test_v1_bound_accounts_cairo1() { let partial_state_diff = Some(&StateDiff { storage_updates: expected_storage_updates, ..Default::default() }); test_output.perform_validations(perform_global_validations, partial_state_diff); + test_output.expect_hint_coverage("test_v1_bound_accounts_cairo1"); } #[rstest] @@ -1158,6 +1192,10 @@ async fn test_new_class_execution_info(#[values(true, false)] use_kzg_da: bool) // Verify that the funded account, the new account and the sequencer all have changed balances. test_output.assert_account_balance_change(*FUNDED_ACCOUNT_ADDRESS); test_output.assert_account_balance_change(contract_address!(TEST_SEQUENCER_ADDRESS)); + + // Hint coverage. + test_output + .expect_hint_coverage(&format!("test_new_class_execution_info_use_kzg_da_{}", use_kzg_da)); } #[rstest] @@ -1220,6 +1258,12 @@ async fn test_experimental_libfuncs_contract(#[values(true, false)] use_kzg_da: "#]] .assert_debug_eq(&poseidons); } + + // Hint coverage. + test_output.expect_hint_coverage(&format!( + "test_experimental_libfuncs_contract_use_kzg_da_{}", + use_kzg_da + )); } #[rstest] @@ -1354,6 +1398,9 @@ async fn test_new_account_flow(#[values(true, false)] use_kzg_da: bool) { test_output.assert_account_balance_change(*FUNDED_ACCOUNT_ADDRESS); test_output.assert_account_balance_change(faulty_account_address); test_output.assert_account_balance_change(contract_address!(TEST_SEQUENCER_ADDRESS)); + + // Hint coverage. + test_output.expect_hint_coverage(&format!("test_new_account_flow_use_kzg_da_{}", use_kzg_da)); } #[rstest] @@ -1629,6 +1676,11 @@ async fn test_new_syscalls_flow(#[case] use_kzg_da: bool, #[case] n_blocks_in_mu // Verify that the funded account and the sequencer have both updated their balances. test_output.assert_account_balance_change(*FUNDED_ACCOUNT_ADDRESS); test_output.assert_account_balance_change(contract_address!(TEST_SEQUENCER_ADDRESS)); + + test_output.expect_hint_coverage(&format!( + "test_new_syscalls_flow_use_kzg_da_{}_n_blocks_{}", + use_kzg_da, n_blocks_in_multi_block + )); } #[rstest] @@ -1779,6 +1831,7 @@ async fn test_deprecated_tx_info() { test_output.assert_account_balance_change(tx_info_account_address); test_output.assert_account_balance_change(*FUNDED_ACCOUNT_ADDRESS); test_output.assert_account_balance_change(contract_address!(TEST_SEQUENCER_ADDRESS)); + test_output.expect_hint_coverage("test_deprecated_tx_info"); } #[rstest] @@ -1832,6 +1885,7 @@ async fn test_deploy_syscall() { perform_global_validations, Some(&StateDiff { storage_updates: expected_storage_updates, ..Default::default() }), ); + test_output.expect_hint_coverage("test_deploy_syscall"); // Make sure only the newly deployed contract and the fee contract have changed storage. let block_hash_contract_address = ContractAddress( @@ -1987,6 +2041,8 @@ async fn test_block_info(#[values(true, false)] is_cairo0: bool) { let test_output = test_manager.execute_test_with_default_block_contexts(&TestParameters::default()).await; test_output.perform_default_validations(); + let cairo_type = if is_cairo0 { "cairo0" } else { "cairo1" }; + test_output.expect_hint_coverage(&format!("test_block_info_{}", cairo_type)); } #[rstest] @@ -2090,6 +2146,7 @@ async fn test_initial_sierra_gas() { .await; test_output.perform_default_validations(); + test_output.expect_hint_coverage("test_initial_sierra_gas"); } #[rstest] @@ -2228,6 +2285,7 @@ async fn test_reverted_call() { addresses are {actual_changed_addresses:#?}, expected changed addresses are \ {expected_changed_addresses:#?}" ); + test_output.expect_hint_coverage("test_reverted_call"); } /// Tests that the OS correctly handles calls between Cairo 1.0 contracts that count resources by @@ -2331,6 +2389,7 @@ async fn test_resources_type() { test_output.perform_default_validations(); test_output.assert_storage_diff_eq(cairo_steps_contract_address, HashMap::default()); test_output.assert_storage_diff_eq(sierra_gas_contract_address, expected_storage_updates); + test_output.expect_hint_coverage("test_resources_type"); } /// Runs the OS test for data gas Cairo1 accounts. @@ -2394,6 +2453,7 @@ async fn test_data_gas_accounts() { let test_output = test_manager.execute_test_with_default_block_contexts(&TestParameters::default()).await; test_output.perform_default_validations(); + test_output.expect_hint_coverage("test_data_gas_accounts"); } /// Verify OS blocks direct calls to `__execute__` entry point. @@ -2435,6 +2495,7 @@ async fn test_direct_execute_call() { test_output.perform_default_validations(); test_output.assert_storage_diff_eq(test_contract_address, HashMap::default()); test_output.assert_storage_diff_eq(dummy_account_address, HashMap::default()); + test_output.expect_hint_coverage("test_direct_execute_call"); } #[rstest] @@ -2639,6 +2700,7 @@ async fn test_meta_tx() { test_output.perform_default_validations(); test_output.assert_storage_diff_eq(meta_tx_contract_address, expected_meta_tx_contract_diffs); test_output.assert_storage_diff_eq(tx_info_contract_address, expected_tx_info_writer_diffs); + test_output.expect_hint_coverage("test_meta_tx"); } #[rstest] @@ -2710,6 +2772,7 @@ async fn test_declare_and_deploy_in_separate_blocks() { .0, compiled_class_hash.0 ); + test_output.expect_hint_coverage("test_declare_and_deploy_in_separate_blocks"); } /// Test the behavior of an empty multi-block. @@ -2742,4 +2805,5 @@ async fn test_empty_multi_block() { (Felt::from(old_block_number.0), old_block_hash.0) })), ); + test_output.expect_hint_coverage("test_empty_multi_block"); }