gitextract_dvj2_r5r/ ├── .cargo/ │ └── config.toml ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-bug_report.yml │ │ ├── 2-feature_request.yml │ │ ├── 3-work_item.yml │ │ ├── 4-child_work_item.yml │ │ └── config.yml │ ├── actions/ │ │ └── setup-tools/ │ │ └── action.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── _build-binaries-native.yml │ ├── _build-binaries.yml │ ├── _build-plugin-binaries.yml │ ├── _publish-plugin.yml │ ├── _test-binaries.yml │ ├── automate-stale.yml │ ├── ci.yml │ ├── docs.yml │ ├── nightly.yml │ ├── publish-plugin.yml │ ├── publish-std.yml │ ├── release.yml │ └── scheduled.yml ├── .gitignore ├── .tool-versions ├── CAIRO_NATIVE.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Cargo.toml ├── Cross.toml ├── LICENSE ├── README.md ├── RELEASING.md ├── ROADMAP.md ├── _typos.toml ├── crates/ │ ├── cheatnet/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── constants.rs │ │ │ ├── data/ │ │ │ │ ├── eth_erc20_casm.json │ │ │ │ └── strk_erc20_casm.json │ │ │ ├── forking/ │ │ │ │ ├── cache.rs │ │ │ │ ├── data.rs │ │ │ │ ├── mod.rs │ │ │ │ └── state.rs │ │ │ ├── lib.rs │ │ │ ├── predeployment/ │ │ │ │ ├── erc20/ │ │ │ │ │ ├── constructor_data.rs │ │ │ │ │ ├── eth.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── predeployed_contract.rs │ │ │ │ │ └── strk.rs │ │ │ │ ├── mod.rs │ │ │ │ └── predeployed_contract.rs │ │ │ ├── runtime_extensions/ │ │ │ │ ├── call_to_blockifier_runtime_extension/ │ │ │ │ │ ├── execution/ │ │ │ │ │ │ ├── cairo1_execution.rs │ │ │ │ │ │ ├── calls.rs │ │ │ │ │ │ ├── cheated_syscalls.rs │ │ │ │ │ │ ├── deprecated/ │ │ │ │ │ │ │ ├── cairo0_execution.rs │ │ │ │ │ │ │ └── mod.rs │ │ │ │ │ │ ├── entry_point.rs │ │ │ │ │ │ ├── execution_info.rs │ │ │ │ │ │ ├── execution_utils.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── syscall_hooks.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── panic_parser.rs │ │ │ │ │ └── rpc.rs │ │ │ │ ├── cheatable_starknet_runtime_extension.rs │ │ │ │ ├── common.rs │ │ │ │ ├── deprecated_cheatable_starknet_extension/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── runtime.rs │ │ │ │ ├── forge_config_extension/ │ │ │ │ │ └── config.rs │ │ │ │ ├── forge_config_extension.rs │ │ │ │ ├── forge_runtime_extension/ │ │ │ │ │ ├── cheatcodes/ │ │ │ │ │ │ ├── cheat_account_contract_address.rs │ │ │ │ │ │ ├── cheat_block_hash.rs │ │ │ │ │ │ ├── cheat_block_number.rs │ │ │ │ │ │ ├── cheat_block_timestamp.rs │ │ │ │ │ │ ├── cheat_caller_address.rs │ │ │ │ │ │ ├── cheat_execution_info.rs │ │ │ │ │ │ ├── cheat_sequencer_address.rs │ │ │ │ │ │ ├── declare.rs │ │ │ │ │ │ ├── generate_random_felt.rs │ │ │ │ │ │ ├── get_class_hash.rs │ │ │ │ │ │ ├── l1_handler_execute.rs │ │ │ │ │ │ ├── mock_call.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ ├── precalculate_address.rs │ │ │ │ │ │ ├── replace_bytecode.rs │ │ │ │ │ │ ├── spy_events.rs │ │ │ │ │ │ ├── spy_messages_to_l1.rs │ │ │ │ │ │ └── storage.rs │ │ │ │ │ ├── contracts_data.rs │ │ │ │ │ ├── file_operations.rs │ │ │ │ │ ├── fuzzer.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ └── native/ │ │ │ │ ├── call.rs │ │ │ │ ├── deploy.rs │ │ │ │ ├── execution.rs │ │ │ │ ├── mod.rs │ │ │ │ └── native_syscall_handler.rs │ │ │ ├── state.rs │ │ │ ├── sync_client.rs │ │ │ └── trace_data.rs │ │ └── tests/ │ │ ├── builtins/ │ │ │ ├── mod.rs │ │ │ ├── panic_call.rs │ │ │ └── segment_arena.rs │ │ ├── cheatcodes/ │ │ │ ├── cheat_account_contract_address.rs │ │ │ ├── cheat_block_hash.rs │ │ │ ├── cheat_block_number.rs │ │ │ ├── cheat_block_timestamp.rs │ │ │ ├── cheat_caller_address.rs │ │ │ ├── cheat_execution_info.rs │ │ │ ├── cheat_sequencer_address.rs │ │ │ ├── declare.rs │ │ │ ├── generate_random_felt.rs │ │ │ ├── get_class_hash.rs │ │ │ ├── library_call.rs │ │ │ ├── load.rs │ │ │ ├── meta_tx_v0.rs │ │ │ ├── mock_call.rs │ │ │ ├── mod.rs │ │ │ ├── multiple_writes_same_storage.rs │ │ │ ├── precalculate_address.rs │ │ │ ├── replace_bytecode.rs │ │ │ ├── spy_events.rs │ │ │ ├── store.rs │ │ │ └── test_environment.rs │ │ ├── common/ │ │ │ ├── assertions.rs │ │ │ ├── cache.rs │ │ │ ├── mod.rs │ │ │ └── state.rs │ │ ├── contracts/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ ├── bytearray_string_panic_call.cairo │ │ │ ├── cheat_block_hash/ │ │ │ │ ├── checker.cairo │ │ │ │ ├── checker_library_call.cairo │ │ │ │ ├── checker_meta_tx_v0.cairo │ │ │ │ ├── checker_proxy.cairo │ │ │ │ └── constructor_checker.cairo │ │ │ ├── cheat_block_hash.cairo │ │ │ ├── cheat_block_number/ │ │ │ │ ├── checker.cairo │ │ │ │ ├── checker_library_call.cairo │ │ │ │ ├── checker_meta_tx_v0.cairo │ │ │ │ ├── checker_proxy.cairo │ │ │ │ └── constructor_checker.cairo │ │ │ ├── cheat_block_number.cairo │ │ │ ├── cheat_block_timestamp/ │ │ │ │ ├── checker.cairo │ │ │ │ ├── checker_library_call.cairo │ │ │ │ ├── checker_meta_tx_v0.cairo │ │ │ │ ├── checker_proxy.cairo │ │ │ │ └── constructor_checker.cairo │ │ │ ├── cheat_block_timestamp.cairo │ │ │ ├── cheat_caller_address/ │ │ │ │ ├── checker.cairo │ │ │ │ ├── checker_cairo0.cairo │ │ │ │ ├── checker_library_call.cairo │ │ │ │ ├── checker_meta_tx_v0.cairo │ │ │ │ ├── checker_proxy.cairo │ │ │ │ └── constructor_checker.cairo │ │ │ ├── cheat_caller_address.cairo │ │ │ ├── cheat_sequencer_address/ │ │ │ │ ├── checker.cairo │ │ │ │ ├── checker_library_call.cairo │ │ │ │ ├── checker_meta_tx_v0.cairo │ │ │ │ ├── checker_proxy.cairo │ │ │ │ └── constructor_checker.cairo │ │ │ ├── cheat_sequencer_address.cairo │ │ │ ├── cheat_tx_info/ │ │ │ │ ├── constructor_tx_hash_checker.cairo │ │ │ │ ├── tx_hash_checker_proxy.cairo │ │ │ │ ├── tx_info_checker.cairo │ │ │ │ ├── tx_info_checker_library_call.cairo │ │ │ │ └── tx_info_checker_meta_tx_v0.cairo │ │ │ ├── cheat_tx_info.cairo │ │ │ ├── common/ │ │ │ │ ├── constructor_simple.cairo │ │ │ │ ├── constructor_simple2.cairo │ │ │ │ └── hello_starknet.cairo │ │ │ ├── common.cairo │ │ │ ├── events/ │ │ │ │ ├── constructor_spy_events_checker.cairo │ │ │ │ ├── spy_events_cairo0.cairo │ │ │ │ ├── spy_events_checker.cairo │ │ │ │ ├── spy_events_checker_proxy.cairo │ │ │ │ ├── spy_events_lib_call.cairo │ │ │ │ └── spy_events_order_checker.cairo │ │ │ ├── events.cairo │ │ │ ├── get_class_hash/ │ │ │ │ └── get_class_hash_checker.cairo │ │ │ ├── get_class_hash.cairo │ │ │ ├── lib.cairo │ │ │ ├── library_calls.cairo │ │ │ ├── meta_tx_v0/ │ │ │ │ └── checker.cairo │ │ │ ├── meta_tx_v0.cairo │ │ │ ├── mock/ │ │ │ │ ├── constructor_mock_checker.cairo │ │ │ │ ├── mock_checker.cairo │ │ │ │ ├── mock_checker_library_call.cairo │ │ │ │ └── mock_checker_proxy.cairo │ │ │ ├── mock.cairo │ │ │ ├── panic_call.cairo │ │ │ ├── replace_bytecode/ │ │ │ │ ├── replace_bytecode_a.cairo │ │ │ │ ├── replace_bytecode_b.cairo │ │ │ │ └── replace_fork.cairo │ │ │ ├── replace_bytecode.cairo │ │ │ ├── revert.cairo │ │ │ ├── segment_arena_user.cairo │ │ │ ├── starknet/ │ │ │ │ ├── block_info_checker_library_call.cairo │ │ │ │ ├── block_info_checker_proxy.cairo │ │ │ │ ├── blocker.cairo │ │ │ │ ├── forking_checker.cairo │ │ │ │ ├── noncer.cairo │ │ │ │ └── timestamper.cairo │ │ │ ├── starknet.cairo │ │ │ ├── store_load/ │ │ │ │ └── map_simple_value_simple_key.cairo │ │ │ ├── store_load.cairo │ │ │ └── tracked_resources.cairo │ │ ├── main.rs │ │ └── starknet/ │ │ ├── block.rs │ │ ├── cheat_fork.rs │ │ ├── execution.rs │ │ ├── forking.rs │ │ ├── mod.rs │ │ ├── nonce.rs │ │ └── timestamp.rs │ ├── configuration/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── core.rs │ │ │ ├── lib.rs │ │ │ └── test_utils.rs │ │ └── tests/ │ │ └── data/ │ │ └── stubtool_snfoundry.toml │ ├── conversions/ │ │ ├── Cargo.toml │ │ ├── cairo-serde-macros/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── cairo_deserialize.rs │ │ │ ├── cairo_serialize.rs │ │ │ └── lib.rs │ │ ├── src/ │ │ │ ├── byte_array.rs │ │ │ ├── class_hash.rs │ │ │ ├── contract_address.rs │ │ │ ├── entrypoint_selector.rs │ │ │ ├── eth_address.rs │ │ │ ├── felt.rs │ │ │ ├── lib.rs │ │ │ ├── non_zero_felt.rs │ │ │ ├── non_zero_u128.rs │ │ │ ├── non_zero_u64.rs │ │ │ ├── nonce.rs │ │ │ ├── padded_felt.rs │ │ │ ├── primitive.rs │ │ │ ├── serde/ │ │ │ │ ├── deserialize/ │ │ │ │ │ └── deserialize_impl.rs │ │ │ │ ├── deserialize.rs │ │ │ │ ├── serialize/ │ │ │ │ │ └── serialize_impl.rs │ │ │ │ ├── serialize.rs │ │ │ │ └── serialized_value.rs │ │ │ ├── serde.rs │ │ │ └── string.rs │ │ └── tests/ │ │ ├── derive_cairo_deserialize.rs │ │ ├── derive_cairo_serialize.rs │ │ ├── e2e/ │ │ │ ├── class_hash.rs │ │ │ ├── contract_address.rs │ │ │ ├── entrypoint_selector.rs │ │ │ ├── felt.rs │ │ │ ├── field_elements.rs │ │ │ ├── mod.rs │ │ │ ├── non_zero_felt.rs │ │ │ ├── non_zero_u128.rs │ │ │ ├── non_zero_u64.rs │ │ │ ├── nonce.rs │ │ │ ├── padded_felt.rs │ │ │ └── string.rs │ │ └── main.rs │ ├── data-transformer/ │ │ ├── ARCHITECTURE.md │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── cairo_types/ │ │ │ │ ├── bytes31.rs │ │ │ │ ├── helpers.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── u256.rs │ │ │ │ ├── u384.rs │ │ │ │ ├── u512.rs │ │ │ │ └── u96.rs │ │ │ ├── lib.rs │ │ │ ├── reverse_transformer/ │ │ │ │ ├── mod.rs │ │ │ │ ├── transform.rs │ │ │ │ └── types.rs │ │ │ ├── shared/ │ │ │ │ ├── extraction.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── parsing.rs │ │ │ │ └── path.rs │ │ │ └── transformer/ │ │ │ ├── mod.rs │ │ │ └── sierra_abi/ │ │ │ ├── binary.rs │ │ │ ├── complex_types.rs │ │ │ ├── data_representation.rs │ │ │ ├── literals.rs │ │ │ ├── macros.rs │ │ │ ├── mod.rs │ │ │ └── parsing.rs │ │ └── tests/ │ │ ├── data/ │ │ │ └── data_transformer/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── integration/ │ │ │ ├── identity.rs │ │ │ ├── mod.rs │ │ │ ├── reverse_transformer.rs │ │ │ └── transformer.rs │ │ ├── lib.rs │ │ └── unit/ │ │ ├── bytes31.rs │ │ ├── mod.rs │ │ ├── u384.rs │ │ └── u96.rs │ ├── debugging/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── contracts_data_store.rs │ │ ├── lib.rs │ │ ├── trace/ │ │ │ ├── collect.rs │ │ │ ├── components.rs │ │ │ ├── context.rs │ │ │ ├── mod.rs │ │ │ └── types.rs │ │ └── tree/ │ │ ├── building/ │ │ │ ├── builder.rs │ │ │ ├── mod.rs │ │ │ └── node.rs │ │ ├── mod.rs │ │ └── ui/ │ │ ├── as_tree_node.rs │ │ ├── display.rs │ │ └── mod.rs │ ├── docs/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ ├── snippet.rs │ │ ├── utils.rs │ │ └── validation.rs │ ├── forge/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── block_number_map.rs │ │ │ ├── clean.rs │ │ │ ├── combine_configs.rs │ │ │ ├── compatibility_check.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ ├── new.rs │ │ │ ├── optimize_inlining/ │ │ │ │ ├── args.rs │ │ │ │ ├── contract_size.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── optimizer.rs │ │ │ │ ├── paths.rs │ │ │ │ └── runner.rs │ │ │ ├── profile_validation/ │ │ │ │ ├── backtrace.rs │ │ │ │ ├── coverage.rs │ │ │ │ └── mod.rs │ │ │ ├── run_tests/ │ │ │ │ ├── maat.rs │ │ │ │ ├── messages/ │ │ │ │ │ ├── collected_tests_count.rs │ │ │ │ │ ├── latest_blocks_numbers.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── overall_summary.rs │ │ │ │ │ ├── partition.rs │ │ │ │ │ ├── tests_failure_summary.rs │ │ │ │ │ ├── tests_run.rs │ │ │ │ │ └── tests_summary.rs │ │ │ │ ├── package.rs │ │ │ │ ├── resolve_config.rs │ │ │ │ ├── test_target.rs │ │ │ │ └── workspace.rs │ │ │ ├── run_tests.rs │ │ │ ├── scarb/ │ │ │ │ └── config.rs │ │ │ ├── scarb.rs │ │ │ ├── shared_cache.rs │ │ │ ├── test_filter.rs │ │ │ └── warn.rs │ │ └── tests/ │ │ ├── data/ │ │ │ ├── backtrace_panic/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── backtrace_vm_error/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── collection_with_lib/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── fob.cairo │ │ │ │ ├── src/ │ │ │ │ │ ├── fab/ │ │ │ │ │ │ ├── fab_impl.cairo │ │ │ │ │ │ └── fibfabfob.cairo │ │ │ │ │ ├── fab.cairo │ │ │ │ │ ├── fib.cairo │ │ │ │ │ ├── fob/ │ │ │ │ │ │ ├── fibfabfob.cairo │ │ │ │ │ │ └── fob_impl.cairo │ │ │ │ │ ├── fob.cairo │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ ├── fab/ │ │ │ │ │ └── fab_mod.cairo │ │ │ │ ├── fab.cairo │ │ │ │ ├── fibfabfob.cairo │ │ │ │ ├── lib.cairo │ │ │ │ ├── not_found/ │ │ │ │ │ └── not_found.cairo │ │ │ │ └── not_found.cairo │ │ │ ├── collection_without_lib/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── fob.cairo │ │ │ │ ├── src/ │ │ │ │ │ ├── fab/ │ │ │ │ │ │ ├── fab_impl.cairo │ │ │ │ │ │ └── fibfabfob.cairo │ │ │ │ │ ├── fab.cairo │ │ │ │ │ ├── fib.cairo │ │ │ │ │ ├── fob/ │ │ │ │ │ │ ├── fibfabfob.cairo │ │ │ │ │ │ └── fob_impl.cairo │ │ │ │ │ ├── fob.cairo │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ ├── fab/ │ │ │ │ │ └── fab_mod.cairo │ │ │ │ ├── fab.cairo │ │ │ │ ├── fibfabfob.cairo │ │ │ │ └── not_found/ │ │ │ │ └── not_found.cairo │ │ │ ├── component_macros/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ ├── example.cairo │ │ │ │ │ ├── lib.cairo │ │ │ │ │ └── oz_ac_component.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_contract.cairo │ │ │ ├── contract_state/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ ├── balance.cairo │ │ │ │ │ ├── lib.cairo │ │ │ │ │ └── storage_node.cairo │ │ │ │ └── tests/ │ │ │ │ ├── test_fork.cairo │ │ │ │ ├── test_state.cairo │ │ │ │ ├── test_storage_node.cairo │ │ │ │ └── utils.cairo │ │ │ ├── contracts/ │ │ │ │ ├── block_hash_checker.cairo │ │ │ │ ├── block_info_checker.cairo │ │ │ │ ├── catching_error.cairo │ │ │ │ ├── cheat_block_hash_checker.cairo │ │ │ │ ├── cheat_block_number_checker.cairo │ │ │ │ ├── cheat_block_timestamp_checker.cairo │ │ │ │ ├── cheat_caller_address_checker.cairo │ │ │ │ ├── cheat_sequencer_address_checker.cairo │ │ │ │ ├── cheat_tx_info_checker.cairo │ │ │ │ ├── deploy_checker.cairo │ │ │ │ ├── dict_using_contract.cairo │ │ │ │ ├── erc20.cairo │ │ │ │ ├── gas_checker.cairo │ │ │ │ ├── gas_checker_proxy.cairo │ │ │ │ ├── gas_constructor_checker.cairo │ │ │ │ ├── hello_starknet.cairo │ │ │ │ ├── hello_starknet_extended.cairo │ │ │ │ ├── hello_starknet_for_nested_calls.cairo │ │ │ │ ├── keccak_usage.cairo │ │ │ │ ├── l1_handler_execute_checker.cairo │ │ │ │ ├── message_to_l1_checker.cairo │ │ │ │ ├── meta_tx_v0_checkers.cairo │ │ │ │ ├── meta_tx_v0_test.cairo │ │ │ │ ├── mock_checker.cairo │ │ │ │ ├── response_with_2_felts.cairo │ │ │ │ ├── reverts_caller.cairo │ │ │ │ ├── reverts_contract.cairo │ │ │ │ ├── reverts_proxy.cairo │ │ │ │ ├── serding.cairo │ │ │ │ ├── spy_events_checker.cairo │ │ │ │ ├── storage_tester.cairo │ │ │ │ ├── too_many_events.cairo │ │ │ │ ├── trace_dummy.cairo │ │ │ │ ├── trace_info_checker.cairo │ │ │ │ ├── trace_info_proxy.cairo │ │ │ │ └── two_implementations.cairo │ │ │ ├── coverage_project/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── lib.cairo │ │ │ ├── debugging/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_trace.cairo │ │ │ ├── debugging_fork/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_trace.cairo │ │ │ ├── deterministic_output/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── diagnostics/ │ │ │ │ ├── attributes/ │ │ │ │ │ ├── .cairofmtignore │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── contract.cairo │ │ │ │ ├── generic/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── contract.cairo │ │ │ │ ├── inline_macros/ │ │ │ │ │ ├── .cairofmtignore │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── contract.cairo │ │ │ │ ├── multiple/ │ │ │ │ │ ├── .cairofmtignore │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── contract.cairo │ │ │ │ ├── parameters/ │ │ │ │ │ ├── .cairofmtignore │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── contract.cairo │ │ │ │ ├── semantic/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── contract.cairo │ │ │ │ ├── syntax/ │ │ │ │ │ ├── .cairofmtignore │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── contract.cairo │ │ │ │ └── test_case_attr/ │ │ │ │ ├── .cairofmtignore │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── basic.cairo │ │ │ ├── dispatchers/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ ├── error_handler.cairo │ │ │ │ │ ├── failable.cairo │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test.cairo │ │ │ ├── duplicated_test_names/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ ├── tests_a.cairo │ │ │ │ └── tests_b.cairo │ │ │ ├── empty/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── env/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── erc20_package/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ ├── erc20.cairo │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_complex.cairo │ │ │ ├── exit_first/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── ext_function_test.cairo │ │ │ ├── features/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test.cairo │ │ │ ├── file_reading/ │ │ │ │ ├── .cairofmtignore │ │ │ │ ├── Scarb.toml │ │ │ │ ├── data/ │ │ │ │ │ ├── json/ │ │ │ │ │ │ ├── invalid.json │ │ │ │ │ │ ├── nested_valid.json │ │ │ │ │ │ ├── valid.json │ │ │ │ │ │ └── with_array.json │ │ │ │ │ ├── negative_number.txt │ │ │ │ │ ├── non_ascii.txt │ │ │ │ │ └── valid.txt │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ ├── tests/ │ │ │ │ │ └── test.cairo │ │ │ │ └── valid_file.txt │ │ │ ├── forking/ │ │ │ │ ├── .gitignore │ │ │ │ ├── .snfoundry_cache/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── http___188_34_188_184_7070_rpc_v0_10_54060_v0_59_0.json │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── fuzzing/ │ │ │ │ ├── .cairofmtignore │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ ├── exit_first_fuzz.cairo │ │ │ │ ├── exit_first_single_fail.cairo │ │ │ │ ├── generate_arg.cairo │ │ │ │ ├── generic_struct.cairo │ │ │ │ ├── incorrect_args.cairo │ │ │ │ └── multiple_attributes.cairo │ │ │ ├── hello_workspaces/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── crates/ │ │ │ │ │ ├── addition/ │ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ │ └── tests/ │ │ │ │ │ │ ├── nested/ │ │ │ │ │ │ │ └── test_nested.cairo │ │ │ │ │ │ └── nested.cairo │ │ │ │ │ └── fibonacci/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ ├── abc/ │ │ │ │ │ │ └── efg.cairo │ │ │ │ │ ├── abc.cairo │ │ │ │ │ ├── lib.cairo │ │ │ │ │ └── not_collected.cairo │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_failing.cairo │ │ │ ├── nonexistent_selector/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_contract.cairo │ │ │ ├── panic_decoding/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_panic_decoding.cairo │ │ │ ├── partitioning/ │ │ │ │ ├── .tool-versions │ │ │ │ ├── Scarb.toml │ │ │ │ ├── crates/ │ │ │ │ │ ├── package_a/ │ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ │ └── tests/ │ │ │ │ │ │ └── tests.cairo │ │ │ │ │ └── package_b/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── tests.cairo │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── tests.cairo │ │ │ ├── runtime_errors_package/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ ├── hello_starknet.cairo │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── with_error.cairo │ │ │ ├── should_panic_test/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── should_panic_test.cairo │ │ │ ├── simple_package/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ ├── hello_starknet.cairo │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ ├── contract.cairo │ │ │ │ ├── ext_function_test.cairo │ │ │ │ ├── test_simple.cairo │ │ │ │ └── without_prefix.cairo │ │ │ ├── simple_package_with_cheats/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── contract.cairo │ │ │ ├── steps/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── targets/ │ │ │ │ ├── custom_target/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── tests.cairo │ │ │ │ ├── custom_target_custom_names/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── tests.cairo │ │ │ │ ├── custom_target_only_integration/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── tests.cairo │ │ │ │ ├── only_integration/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── tests.cairo │ │ │ │ ├── only_lib_integration/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ ├── lib.cairo │ │ │ │ │ └── tests.cairo │ │ │ │ ├── only_unit/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ ├── unit_and_integration/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ └── tests.cairo │ │ │ │ ├── unit_and_lib_integration/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ ├── lib.cairo │ │ │ │ │ └── tests.cairo │ │ │ │ └── with_features/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── tests.cairo │ │ │ ├── test_case/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ ├── exit_first.cairo │ │ │ │ ├── multiple_attributes.cairo │ │ │ │ ├── single_attribute.cairo │ │ │ │ └── with_deploy.cairo │ │ │ ├── trace/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ └── test_trace.cairo │ │ │ ├── trace_resources/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ ├── empty.cairo │ │ │ │ │ ├── lib.cairo │ │ │ │ │ ├── trace_dummy.cairo │ │ │ │ │ ├── trace_info_checker.cairo │ │ │ │ │ └── trace_info_proxy.cairo │ │ │ │ └── tests/ │ │ │ │ ├── lib.cairo │ │ │ │ ├── test_call.cairo │ │ │ │ ├── test_deploy.cairo │ │ │ │ ├── test_failed_call.cairo │ │ │ │ ├── test_failed_lib_call.cairo │ │ │ │ ├── test_l1_handler.cairo │ │ │ │ └── test_lib_call.cairo │ │ │ ├── virtual_workspace/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── dummy_name/ │ │ │ │ │ ├── fibonacci_virtual/ │ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ │ └── tests/ │ │ │ │ │ │ ├── abc/ │ │ │ │ │ │ │ └── efg.cairo │ │ │ │ │ │ ├── abc.cairo │ │ │ │ │ │ ├── lib.cairo │ │ │ │ │ │ └── not_collected.cairo │ │ │ │ │ └── subtraction/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ ├── nested/ │ │ │ │ │ │ └── test_nested.cairo │ │ │ │ │ └── nested.cairo │ │ │ │ └── not_collected.cairo │ │ │ └── wasm_oracles/ │ │ │ ├── Scarb.toml │ │ │ ├── build-fixtures.sh │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ ├── tests/ │ │ │ │ └── test.cairo │ │ │ ├── wasm_oracle/ │ │ │ │ ├── Cargo.toml │ │ │ │ └── src/ │ │ │ │ └── lib.rs │ │ │ └── wasm_oracle.wasm │ │ ├── e2e/ │ │ │ ├── backtrace.rs │ │ │ ├── build_profile.rs │ │ │ ├── build_trace_data.rs │ │ │ ├── clean.rs │ │ │ ├── code_quality.rs │ │ │ ├── collection.rs │ │ │ ├── color.rs │ │ │ ├── common/ │ │ │ │ ├── mod.rs │ │ │ │ ├── output.rs │ │ │ │ └── runner.rs │ │ │ ├── completions.rs │ │ │ ├── components.rs │ │ │ ├── contract_artifacts.rs │ │ │ ├── coverage.rs │ │ │ ├── debugger.rs │ │ │ ├── debugging.rs │ │ │ ├── docs_snippets_validation.rs │ │ │ ├── env.rs │ │ │ ├── features.rs │ │ │ ├── fork_warning.rs │ │ │ ├── forking.rs │ │ │ ├── fuzzing.rs │ │ │ ├── gas_report.rs │ │ │ ├── io_operations.rs │ │ │ ├── mod.rs │ │ │ ├── new.rs │ │ │ ├── optimize_inlining.rs │ │ │ ├── oracles.rs │ │ │ ├── package_warnings.rs │ │ │ ├── partitioning.rs │ │ │ ├── plugin_diagnostics.rs │ │ │ ├── plugin_versions.rs │ │ │ ├── profiles.rs │ │ │ ├── requirements.rs │ │ │ ├── running.rs │ │ │ ├── snapshots/ │ │ │ │ ├── backtrace/ │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace@2.15.2.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace@2.16.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace@2.16.1.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace@2.17.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic@2.15.2.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic@2.16.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic@2.16.1.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic@2.17.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_inlines@2.15.2.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_inlines@2.16.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_inlines@2.16.1.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_inlines@2.17.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_optimizations@2.15.2.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_optimizations@2.16.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_optimizations@2.16.1.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_panic_without_optimizations@2.17.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_without_inlines@2.15.2.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_without_inlines@2.16.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_without_inlines@2.16.1.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_backtrace_without_inlines@2.17.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_handled_error_not_display@2.15.2.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_handled_error_not_display@2.16.0.snap │ │ │ │ │ ├── main__e2e__backtrace__snap_test_handled_error_not_display@2.16.1.snap │ │ │ │ │ └── main__e2e__backtrace__snap_test_handled_error_not_display@2.17.0.snap │ │ │ │ ├── gas_report/ │ │ │ │ │ ├── main__e2e__gas_report__snap_basic@2.15.2.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_basic@2.16.0.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_basic@2.16.1.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_basic@2.17.0.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_fork@2.15.2.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_fork@2.16.0.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_fork@2.16.1.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_fork@2.17.0.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_multiple_contracts_and_constructor@2.15.2.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_multiple_contracts_and_constructor@2.16.0.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_multiple_contracts_and_constructor@2.16.1.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_multiple_contracts_and_constructor@2.17.0.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_recursive_calls@2.15.2.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_recursive_calls@2.16.0.snap │ │ │ │ │ ├── main__e2e__gas_report__snap_recursive_calls@2.16.1.snap │ │ │ │ │ └── main__e2e__gas_report__snap_recursive_calls@2.17.0.snap │ │ │ │ ├── main__e2e__optimize_inlining__optimize_inlining_dry_run.snap │ │ │ │ ├── main__e2e__optimize_inlining__optimize_inlining_updates_manifest.snap │ │ │ │ └── optimize_inlining/ │ │ │ │ ├── main__e2e__optimize_inlining__snap_optimize_inlining_dry_run@2.15.2.snap │ │ │ │ ├── main__e2e__optimize_inlining__snap_optimize_inlining_dry_run@2.16.0.snap │ │ │ │ ├── main__e2e__optimize_inlining__snap_optimize_inlining_dry_run@2.16.1.snap │ │ │ │ ├── main__e2e__optimize_inlining__snap_optimize_inlining_dry_run@2.17.0.snap │ │ │ │ ├── main__e2e__optimize_inlining__snap_optimize_inlining_updates_manifest@2.15.2.snap │ │ │ │ ├── main__e2e__optimize_inlining__snap_optimize_inlining_updates_manifest@2.16.0.snap │ │ │ │ ├── main__e2e__optimize_inlining__snap_optimize_inlining_updates_manifest@2.16.1.snap │ │ │ │ └── main__e2e__optimize_inlining__snap_optimize_inlining_updates_manifest@2.17.0.snap │ │ │ ├── steps.rs │ │ │ ├── templates.rs │ │ │ ├── test_case.rs │ │ │ ├── trace_print.rs │ │ │ ├── trace_resources.rs │ │ │ └── workspaces.rs │ │ ├── integration/ │ │ │ ├── available_gas.rs │ │ │ ├── builtins.rs │ │ │ ├── cheat_block_hash.rs │ │ │ ├── cheat_block_number.rs │ │ │ ├── cheat_block_timestamp.rs │ │ │ ├── cheat_caller_address.rs │ │ │ ├── cheat_execution_info.rs │ │ │ ├── cheat_fork.rs │ │ │ ├── cheat_sequencer_address.rs │ │ │ ├── config.rs │ │ │ ├── declare.rs │ │ │ ├── deploy.rs │ │ │ ├── deploy_at.rs │ │ │ ├── dict.rs │ │ │ ├── dispatchers.rs │ │ │ ├── env.rs │ │ │ ├── fuzzing.rs │ │ │ ├── gas.rs │ │ │ ├── generate_random_felt.rs │ │ │ ├── get_available_gas.rs │ │ │ ├── get_class_hash.rs │ │ │ ├── get_current_vm_step.rs │ │ │ ├── interact_with_state.rs │ │ │ ├── l1_handler_executor.rs │ │ │ ├── message_to_l1.rs │ │ │ ├── meta_tx_v0.rs │ │ │ ├── mock_call.rs │ │ │ ├── mod.rs │ │ │ ├── precalculate_address.rs │ │ │ ├── pure_cairo.rs │ │ │ ├── replace_bytecode.rs │ │ │ ├── resources.rs │ │ │ ├── reverts.rs │ │ │ ├── runtime.rs │ │ │ ├── set_balance.rs │ │ │ ├── setup_fork.rs │ │ │ ├── should_panic.rs │ │ │ ├── signing.rs │ │ │ ├── spy_events.rs │ │ │ ├── store_load.rs │ │ │ ├── syscalls.rs │ │ │ ├── test_state.rs │ │ │ ├── too_many_events.rs │ │ │ └── trace.rs │ │ ├── main.rs │ │ └── utils/ │ │ ├── mod.rs │ │ ├── runner.rs │ │ └── running_tests.rs │ ├── forge-runner/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── backtrace/ │ │ │ ├── data.rs │ │ │ ├── display.rs │ │ │ └── mod.rs │ │ ├── build_trace_data.rs │ │ ├── coverage_api.rs │ │ ├── debugging/ │ │ │ ├── args.rs │ │ │ ├── component.rs │ │ │ ├── mod.rs │ │ │ └── trace_verbosity.rs │ │ ├── expected_result.rs │ │ ├── filtering.rs │ │ ├── forge_config.rs │ │ ├── gas/ │ │ │ ├── report.rs │ │ │ ├── resources.rs │ │ │ ├── stats.rs │ │ │ └── utils.rs │ │ ├── gas.rs │ │ ├── lib.rs │ │ ├── messages.rs │ │ ├── package_tests/ │ │ │ ├── raw.rs │ │ │ ├── with_config.rs │ │ │ └── with_config_resolved.rs │ │ ├── package_tests.rs │ │ ├── partition.rs │ │ ├── printing.rs │ │ ├── profiler_api.rs │ │ ├── running/ │ │ │ ├── config_run.rs │ │ │ ├── execution.rs │ │ │ ├── hints.rs │ │ │ ├── setup.rs │ │ │ ├── syscall_handler.rs │ │ │ └── target.rs │ │ ├── running.rs │ │ ├── scarb.rs │ │ ├── test_case_summary.rs │ │ ├── test_target_summary.rs │ │ └── tests_summary.rs │ ├── foundry-ui/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── components/ │ │ │ ├── error.rs │ │ │ ├── labeled.rs │ │ │ ├── mod.rs │ │ │ ├── tagged.rs │ │ │ └── warning.rs │ │ ├── lib.rs │ │ ├── message.rs │ │ ├── output.rs │ │ └── styling.rs │ ├── native-api/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── runtime/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ ├── starknet/ │ │ │ ├── constants.rs │ │ │ ├── context.rs │ │ │ ├── mod.rs │ │ │ └── state.rs │ │ └── vm.rs │ ├── scarb-api/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── artifacts/ │ │ │ │ ├── deserialized.rs │ │ │ │ └── representation.rs │ │ │ ├── artifacts.rs │ │ │ ├── command.rs │ │ │ ├── lib.rs │ │ │ ├── manifest.rs │ │ │ ├── metadata.rs │ │ │ └── version.rs │ │ └── tests/ │ │ └── data/ │ │ ├── basic_package/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ └── empty_lib/ │ │ ├── Scarb.toml │ │ └── src/ │ │ └── lib.cairo │ ├── shared/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── auto_completions.rs │ │ ├── command.rs │ │ ├── consts.rs │ │ ├── lib.rs │ │ ├── rpc.rs │ │ ├── spinner.rs │ │ ├── test_utils/ │ │ │ ├── mod.rs │ │ │ ├── node_url.rs │ │ │ └── output_assert.rs │ │ ├── utils.rs │ │ └── vm.rs │ ├── sncast/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── src/ │ │ │ ├── helpers/ │ │ │ │ ├── account.rs │ │ │ │ ├── artifacts.rs │ │ │ │ ├── block_explorer.rs │ │ │ │ ├── braavos.rs │ │ │ │ ├── command.rs │ │ │ │ ├── config.rs │ │ │ │ ├── configuration.rs │ │ │ │ ├── constants.rs │ │ │ │ ├── devnet/ │ │ │ │ │ ├── detection/ │ │ │ │ │ │ ├── direct.rs │ │ │ │ │ │ ├── docker.rs │ │ │ │ │ │ └── flag_parsing.rs │ │ │ │ │ ├── detection.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── provider.rs │ │ │ │ ├── fee.rs │ │ │ │ ├── interactive.rs │ │ │ │ ├── ledger/ │ │ │ │ │ ├── account.rs │ │ │ │ │ ├── emulator_transport.rs │ │ │ │ │ ├── hd_path.rs │ │ │ │ │ ├── key_locator.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── output_format.rs │ │ │ │ ├── proof.rs │ │ │ │ ├── rpc.rs │ │ │ │ ├── scarb_utils.rs │ │ │ │ ├── signer.rs │ │ │ │ └── token.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ ├── response/ │ │ │ │ ├── account/ │ │ │ │ │ ├── create.rs │ │ │ │ │ ├── delete.rs │ │ │ │ │ ├── deploy.rs │ │ │ │ │ ├── import.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── balance.rs │ │ │ │ ├── call.rs │ │ │ │ ├── cast_message.rs │ │ │ │ ├── class_hash_at.rs │ │ │ │ ├── completions.rs │ │ │ │ ├── declare.rs │ │ │ │ ├── deploy.rs │ │ │ │ ├── errors.rs │ │ │ │ ├── explorer_link.rs │ │ │ │ ├── invoke.rs │ │ │ │ ├── ledger.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── multicall/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── new.rs │ │ │ │ │ └── run.rs │ │ │ │ ├── nonce.rs │ │ │ │ ├── script/ │ │ │ │ │ ├── init.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── run.rs │ │ │ │ ├── show_config.rs │ │ │ │ ├── transaction.rs │ │ │ │ ├── transformed_call.rs │ │ │ │ ├── tx_status.rs │ │ │ │ ├── ui.rs │ │ │ │ ├── utils/ │ │ │ │ │ ├── class_hash.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── selector.rs │ │ │ │ │ └── serialize.rs │ │ │ │ └── verify.rs │ │ │ ├── starknet_commands/ │ │ │ │ ├── account/ │ │ │ │ │ ├── create.rs │ │ │ │ │ ├── delete.rs │ │ │ │ │ ├── deploy.rs │ │ │ │ │ ├── import.rs │ │ │ │ │ ├── list.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── call.rs │ │ │ │ ├── declare.rs │ │ │ │ ├── declare_from.rs │ │ │ │ ├── deploy.rs │ │ │ │ ├── get/ │ │ │ │ │ ├── balance.rs │ │ │ │ │ ├── class_hash_at.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── nonce.rs │ │ │ │ │ ├── transaction.rs │ │ │ │ │ └── tx_status.rs │ │ │ │ ├── invoke.rs │ │ │ │ ├── ledger/ │ │ │ │ │ ├── app_version.rs │ │ │ │ │ ├── get_public_key.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── sign_hash.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── multicall/ │ │ │ │ │ ├── contract_registry.rs │ │ │ │ │ ├── deploy.rs │ │ │ │ │ ├── execute.rs │ │ │ │ │ ├── invoke.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── new.rs │ │ │ │ │ └── run.rs │ │ │ │ ├── script/ │ │ │ │ │ ├── init.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── run/ │ │ │ │ │ │ └── script_runtime.rs │ │ │ │ │ └── run.rs │ │ │ │ ├── show_config.rs │ │ │ │ ├── utils/ │ │ │ │ │ ├── class_hash.rs │ │ │ │ │ ├── felt_or_id.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── selector.rs │ │ │ │ │ └── serialize.rs │ │ │ │ └── verify/ │ │ │ │ ├── explorer.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── voyager.rs │ │ │ │ └── walnut.rs │ │ │ └── state/ │ │ │ ├── hashing.rs │ │ │ ├── mod.rs │ │ │ └── state_file.rs │ │ └── tests/ │ │ ├── code_quality.rs │ │ ├── data/ │ │ │ ├── accounts/ │ │ │ │ ├── accounts.json │ │ │ │ ├── faulty_accounts.json │ │ │ │ ├── faulty_accounts_invalid_felt.json │ │ │ │ └── invalid_format.json │ │ │ ├── contracts/ │ │ │ │ ├── build_fails/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ ├── constructor_with_params/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ ├── contract_with_constructor_params/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ ├── map/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ ├── lib.cairo │ │ │ │ │ ├── test_helpers.cairo │ │ │ │ │ └── tests.cairo │ │ │ │ ├── multiple_packages/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── crates/ │ │ │ │ │ │ ├── package1/ │ │ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ │ └── package2/ │ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ │ └── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ ├── no_casm/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ ├── no_sierra/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── virtual_workspace/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── crates/ │ │ │ │ ├── cast_addition/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── cast_fibonacci/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── files/ │ │ │ │ ├── correct_snfoundry.toml │ │ │ │ ├── data_transformer_contract_abi.json │ │ │ │ ├── data_transformer_contract_abi_missing_function.json │ │ │ │ ├── data_transformer_contract_abi_missing_type.json │ │ │ │ ├── invalid_snfoundry.toml │ │ │ │ ├── pre_0.34.0_state_with_tx.json │ │ │ │ ├── state_corrupt_missing_field.json │ │ │ │ ├── state_no_txs.json │ │ │ │ ├── state_with_tx.json │ │ │ │ ├── state_with_txs.json │ │ │ │ └── state_wrong_version.json │ │ │ ├── keystore/ │ │ │ │ ├── my_account.json │ │ │ │ ├── my_account_braavos_invalid_multisig.json │ │ │ │ ├── my_account_braavos_multiple_signers.json │ │ │ │ ├── my_account_braavos_undeployed_happy_case.json │ │ │ │ ├── my_account_invalid.json │ │ │ │ ├── my_account_oz_undeployed_happy_case.json │ │ │ │ ├── my_account_ready_undeployed_happy_case.json │ │ │ │ ├── my_account_undeployed.json │ │ │ │ ├── my_account_undeployed_happy_case_other_args.json │ │ │ │ ├── my_key.json │ │ │ │ ├── my_key_invalid.json │ │ │ │ ├── predeployed_account.json │ │ │ │ └── predeployed_key.json │ │ │ ├── ledger-app/ │ │ │ │ └── nanox#strk#0.25.13.elf │ │ │ ├── multicall_configs/ │ │ │ │ ├── deploy_invalid.toml │ │ │ │ ├── deploy_invoke.toml │ │ │ │ ├── deploy_invoke_calldata_ids.toml │ │ │ │ ├── deploy_invoke_numeric_inputs.toml │ │ │ │ ├── deploy_invoke_numeric_overflow.toml │ │ │ │ ├── deploy_succ_invoke_fail.toml │ │ │ │ ├── invoke_invalid.toml │ │ │ │ └── invoke_ledger.toml │ │ │ └── scripts/ │ │ │ ├── call/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── invalid_address.cairo │ │ │ │ ├── invalid_calldata.cairo │ │ │ │ ├── invalid_entry_point.cairo │ │ │ │ └── lib.cairo │ │ │ ├── declare/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── fee_settings.cairo │ │ │ │ ├── insufficient_account_balance.cairo │ │ │ │ ├── lib.cairo │ │ │ │ ├── no_contract.cairo │ │ │ │ ├── same_contract_twice.cairo │ │ │ │ ├── time_out.cairo │ │ │ │ ├── with_invalid_max_fee.cairo │ │ │ │ └── with_invalid_nonce.cairo │ │ │ ├── deploy/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── fee_settings.cairo │ │ │ │ ├── invalid_calldata.cairo │ │ │ │ ├── invalid_class_hash.cairo │ │ │ │ ├── invalid_nonce.cairo │ │ │ │ ├── lib.cairo │ │ │ │ ├── same_class_hash_and_salt.cairo │ │ │ │ └── with_calldata.cairo │ │ │ ├── invoke/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── contract_does_not_exist.cairo │ │ │ │ ├── lib.cairo │ │ │ │ ├── max_fee_too_low.cairo │ │ │ │ ├── wrong_calldata.cairo │ │ │ │ └── wrong_function_name.cairo │ │ │ ├── map_script/ │ │ │ │ ├── contracts/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── scripts/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── display_debug_traits_for_subcommand_responses.cairo │ │ │ │ ├── lib.cairo │ │ │ │ └── map_script.cairo │ │ │ ├── misc/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── call_fail.cairo │ │ │ │ ├── call_happy.cairo │ │ │ │ ├── lib.cairo │ │ │ │ └── using_starknet_syscall.cairo │ │ │ ├── missing_field/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── lib.cairo │ │ │ │ └── missing_field.cairo │ │ │ ├── old_sncast_std/ │ │ │ │ └── scripts/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── lib.cairo │ │ │ │ └── map_script.cairo │ │ │ ├── packages/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── crates/ │ │ │ │ └── scripts/ │ │ │ │ ├── script1/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── script2/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ └── lib.cairo │ │ │ ├── state_file/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── rerun_failed_tx_alpha-sepolia_state.json │ │ │ │ └── src/ │ │ │ │ ├── all_tx_fail.cairo │ │ │ │ ├── lib.cairo │ │ │ │ └── rerun_failed_tx.cairo │ │ │ ├── state_script/ │ │ │ │ ├── contracts/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ └── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── scripts/ │ │ │ │ ├── Scarb.toml │ │ │ │ └── src/ │ │ │ │ ├── lib.cairo │ │ │ │ └── state_script.cairo │ │ │ └── tx_status/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ ├── incorrect_transaction_hash.cairo │ │ │ ├── lib.cairo │ │ │ ├── status_reverted.cairo │ │ │ └── status_succeeded.cairo │ │ ├── docs_snippets/ │ │ │ ├── ledger.rs │ │ │ ├── mod.rs │ │ │ └── validation.rs │ │ ├── e2e/ │ │ │ ├── account/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── deploy.rs │ │ │ │ ├── helpers.rs │ │ │ │ ├── import.rs │ │ │ │ ├── list.rs │ │ │ │ └── mod.rs │ │ │ ├── balance.rs │ │ │ ├── call.rs │ │ │ ├── class_hash.rs │ │ │ ├── class_hash_at.rs │ │ │ ├── completions.rs │ │ │ ├── declare.rs │ │ │ ├── declare_from.rs │ │ │ ├── deploy.rs │ │ │ ├── devnet_accounts.rs │ │ │ ├── fee.rs │ │ │ ├── invoke.rs │ │ │ ├── ledger/ │ │ │ │ ├── account.rs │ │ │ │ ├── basic.rs │ │ │ │ ├── mod.rs │ │ │ │ └── network.rs │ │ │ ├── main_tests.rs │ │ │ ├── mod.rs │ │ │ ├── multicall/ │ │ │ │ ├── execute.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── new.rs │ │ │ │ └── run.rs │ │ │ ├── nonce.rs │ │ │ ├── proof.rs │ │ │ ├── script/ │ │ │ │ ├── call.rs │ │ │ │ ├── declare.rs │ │ │ │ ├── deploy.rs │ │ │ │ ├── general.rs │ │ │ │ ├── init.rs │ │ │ │ ├── invoke.rs │ │ │ │ ├── mod.rs │ │ │ │ └── tx_status.rs │ │ │ ├── selector.rs │ │ │ ├── serialize.rs │ │ │ ├── show_config.rs │ │ │ ├── transaction.rs │ │ │ ├── tx_status.rs │ │ │ └── verify/ │ │ │ ├── mod.rs │ │ │ ├── voyager.rs │ │ │ └── walnut.rs │ │ ├── helpers/ │ │ │ ├── constants.rs │ │ │ ├── devnet.rs │ │ │ ├── devnet_detection.rs │ │ │ ├── devnet_provider.rs │ │ │ ├── env.rs │ │ │ ├── fixtures.rs │ │ │ ├── mod.rs │ │ │ ├── runner.rs │ │ │ └── shell.rs │ │ ├── integration/ │ │ │ ├── fee.rs │ │ │ ├── lib_tests.rs │ │ │ ├── mod.rs │ │ │ └── wait_for_tx.rs │ │ ├── main.rs │ │ └── shell/ │ │ ├── call.sh │ │ ├── call_unsigned.sh │ │ ├── deploy.sh │ │ ├── invoke.sh │ │ └── serialize.sh │ ├── snforge-scarb-plugin/ │ │ ├── Cargo.toml │ │ ├── Scarb.toml │ │ ├── clippy.toml │ │ ├── src/ │ │ │ ├── args/ │ │ │ │ ├── named.rs │ │ │ │ └── unnamed.rs │ │ │ ├── args.rs │ │ │ ├── asserts.rs │ │ │ ├── attributes/ │ │ │ │ ├── available_gas.rs │ │ │ │ ├── disable_predeployed_contracts.rs │ │ │ │ ├── fork/ │ │ │ │ │ └── block_id.rs │ │ │ │ ├── fork.rs │ │ │ │ ├── fuzzer/ │ │ │ │ │ └── wrapper.rs │ │ │ │ ├── fuzzer.rs │ │ │ │ ├── ignore.rs │ │ │ │ ├── internal_config_statement.rs │ │ │ │ ├── should_panic/ │ │ │ │ │ └── expected.rs │ │ │ │ ├── should_panic.rs │ │ │ │ ├── test.rs │ │ │ │ ├── test_case/ │ │ │ │ │ └── name.rs │ │ │ │ └── test_case.rs │ │ │ ├── attributes.rs │ │ │ ├── cairo_expression.rs │ │ │ ├── common.rs │ │ │ ├── config_statement.rs │ │ │ ├── external_inputs.rs │ │ │ ├── lib.rs │ │ │ ├── parse.rs │ │ │ ├── types.rs │ │ │ └── utils.rs │ │ └── tests/ │ │ └── integration/ │ │ ├── main.rs │ │ ├── multiple_attributes.rs │ │ ├── single_attributes/ │ │ │ ├── available_gas.rs │ │ │ ├── disable_predeployed_contracts.rs │ │ │ ├── fork.rs │ │ │ ├── fuzzer.rs │ │ │ ├── ignore.rs │ │ │ ├── internal_config_statement.rs │ │ │ ├── should_panic.rs │ │ │ ├── test.rs │ │ │ └── test_case.rs │ │ ├── single_attributes.rs │ │ └── utils.rs │ ├── testing/ │ │ └── packages_validation/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── universal-sierra-compiler-api/ │ ├── Cargo.toml │ └── src/ │ ├── command.rs │ ├── compile.rs │ ├── lib.rs │ └── representation.rs ├── design_documents/ │ ├── accessing_emitted_events.md │ ├── cairo_deployment_scripts.md │ ├── contract_verification.md │ ├── loading_data_from_files.md │ ├── parametrizing_tests_with_fixed_values.md │ ├── prepare_cheatcode.md │ ├── sncast_interface_overhaul.md │ ├── stark_curve_signatures.md │ ├── state_forking/ │ │ ├── multi-forking.md │ │ └── state_forking.md │ ├── store_load_cheatcodes.md │ ├── template.md │ ├── test_design.md │ └── transactional_testing/ │ └── transactional_testing.md ├── docs/ │ ├── .gitignore │ ├── README.md │ ├── book.toml │ ├── codeSnippets.js │ ├── count.js │ ├── example_workflows/ │ │ ├── basic_workflow.yml │ │ └── partitioned_workflow.yml │ ├── listings/ │ │ ├── basic_example/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ ├── basic_example.cairo │ │ │ └── lib.cairo │ │ ├── call/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── cheatcodes_reference/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ ├── l1_handler_example.cairo │ │ │ │ ├── lib.cairo │ │ │ │ └── mock_call_example.cairo │ │ │ └── tests/ │ │ │ ├── test_l1_handler.cairo │ │ │ └── test_mock_call.cairo │ │ ├── declare/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── deploy/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── deployment_with_constructor_args/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ ├── test_with_deploy_for_test.cairo │ │ │ └── test_with_serialization.cairo │ │ ├── detailed_resources_example/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── test_contract.cairo │ │ ├── direct_storage_access/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ ├── complex_structures.cairo │ │ │ │ ├── felts_only.cairo │ │ │ │ ├── lib.cairo │ │ │ │ └── using_enums.cairo │ │ │ └── tests/ │ │ │ ├── complex_structures.cairo │ │ │ ├── felts_only/ │ │ │ │ ├── field.cairo │ │ │ │ └── map_entry.cairo │ │ │ ├── felts_only.cairo │ │ │ ├── lib.cairo │ │ │ ├── storage_address.cairo │ │ │ ├── using_enums.cairo │ │ │ └── using_storage_address_from_base.cairo │ │ ├── error_handling/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ ├── error_handling.cairo │ │ │ └── lib.cairo │ │ ├── failing_example/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── lib.cairo │ │ ├── first_test/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── fork_testing/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ ├── explicit/ │ │ │ │ ├── block_hash.cairo │ │ │ │ ├── block_number.cairo │ │ │ │ └── block_tag.cairo │ │ │ ├── explicit.cairo │ │ │ ├── lib.cairo │ │ │ ├── name.cairo │ │ │ └── overridden_name.cairo │ │ ├── full_example/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ ├── full_example.cairo │ │ │ └── lib.cairo │ │ ├── fuzz_testing/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ ├── basic_example.cairo │ │ │ ├── lib.cairo │ │ │ └── with_parameters.cairo │ │ ├── get_nonce/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── hello_sncast/ │ │ │ ├── Scarb.toml │ │ │ ├── accounts.json │ │ │ ├── snfoundry.toml │ │ │ └── src/ │ │ │ ├── constructor_contract.cairo │ │ │ ├── data_transformer_contract.cairo │ │ │ ├── hello_sncast.cairo │ │ │ └── lib.cairo │ │ ├── hello_snforge/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── test_contract.cairo │ │ ├── hello_starknet/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── test_contract.cairo │ │ ├── hello_workspaces_docs/ │ │ │ ├── Scarb.toml │ │ │ ├── crates/ │ │ │ │ ├── addition_docs/ │ │ │ │ │ ├── Scarb.toml │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── lib.cairo │ │ │ │ │ └── tests/ │ │ │ │ │ ├── nested/ │ │ │ │ │ │ └── test_nested.cairo │ │ │ │ │ └── nested.cairo │ │ │ │ └── fibonacci_docs/ │ │ │ │ ├── Scarb.toml │ │ │ │ ├── src/ │ │ │ │ │ └── lib.cairo │ │ │ │ └── tests/ │ │ │ │ ├── abc/ │ │ │ │ │ └── efg.cairo │ │ │ │ ├── abc.cairo │ │ │ │ ├── lib.cairo │ │ │ │ └── not_collected.cairo │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── test_failing.cairo │ │ ├── ignoring_example/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── invoke/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── map3/ │ │ │ ├── Scarb.toml │ │ │ ├── snfoundry.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── panicking_test/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── parametrized_testing_advanced/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── example.cairo │ │ ├── parametrized_testing_basic/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── example.cairo │ │ ├── parametrized_testing_fuzzer/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── example.cairo │ │ ├── should_panic_example/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── snforge_library_reference/ │ │ │ ├── Scarb.toml │ │ │ ├── data/ │ │ │ │ ├── hello_starknet.txt │ │ │ │ └── user.json │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ ├── test_fs_file_trait.cairo │ │ │ ├── test_fs_parse_json.cairo │ │ │ ├── test_fs_read_json.cairo │ │ │ └── test_fs_read_txt.cairo │ │ ├── testing_contract_internals/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ ├── contract.cairo │ │ │ │ ├── lib.cairo │ │ │ │ ├── spying_for_events.cairo │ │ │ │ ├── using_interact_with_state.cairo │ │ │ │ └── using_library_calls.cairo │ │ │ └── tests/ │ │ │ ├── interact_with_state.cairo │ │ │ ├── lib.cairo │ │ │ ├── mocking_the_context_info.cairo │ │ │ ├── spying_for_events/ │ │ │ │ ├── syscall_tests.cairo │ │ │ │ └── tests.cairo │ │ │ ├── spying_for_events.cairo │ │ │ └── using_library_calls.cairo │ │ ├── testing_events/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ ├── contract.cairo │ │ │ │ ├── lib.cairo │ │ │ │ ├── syscall.cairo │ │ │ │ └── syscall_dummy.cairo │ │ │ └── tests/ │ │ │ ├── assert_base.cairo │ │ │ ├── assert_emitted.cairo │ │ │ ├── assert_manually.cairo │ │ │ ├── filter.cairo │ │ │ └── syscall.cairo │ │ ├── testing_messages_to_l1/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ ├── detailed.cairo │ │ │ ├── lib.cairo │ │ │ └── simple.cairo │ │ ├── testing_reference/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── tests.cairo │ │ ├── testing_smart_contracts_handling_errors/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ ├── handle_panic.cairo │ │ │ └── panic.cairo │ │ ├── testing_smart_contracts_safe_dispatcher/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── safe_dispatcher.cairo │ │ ├── testing_smart_contracts_writing_tests/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── simple_contract.cairo │ │ ├── tests_partitioning/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── example.cairo │ │ ├── tx_status/ │ │ │ ├── Scarb.toml │ │ │ └── src/ │ │ │ └── lib.cairo │ │ ├── using_cheatcodes/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── lib.cairo │ │ ├── using_cheatcodes_cancelling_cheat/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── lib.cairo │ │ ├── using_cheatcodes_cheat_address/ │ │ │ ├── Scarb.toml │ │ │ ├── src/ │ │ │ │ └── lib.cairo │ │ │ └── tests/ │ │ │ └── lib.cairo │ │ └── using_cheatcodes_others/ │ │ ├── Scarb.toml │ │ ├── src/ │ │ │ └── lib.cairo │ │ └── tests/ │ │ ├── caller_address/ │ │ │ ├── proper_use_global.cairo │ │ │ └── span.cairo │ │ ├── caller_address.cairo │ │ ├── cheat_constructor.cairo │ │ ├── lib.cairo │ │ ├── set_balance_custom_token.cairo │ │ └── set_balance_strk.cairo │ ├── src/ │ │ ├── README.md │ │ ├── SUMMARY.md │ │ ├── appendix/ │ │ │ ├── 0-56-0-migration-guide.md │ │ │ ├── cheatcodes/ │ │ │ │ ├── account_contract_address.md │ │ │ │ ├── account_deployment_data.md │ │ │ │ ├── block_hash.md │ │ │ │ ├── block_number.md │ │ │ │ ├── block_timestamp.md │ │ │ │ ├── caller_address.md │ │ │ │ ├── chain_id.md │ │ │ │ ├── cheat_span.md │ │ │ │ ├── fee_data_availability_mode.md │ │ │ │ ├── generate_arg.md │ │ │ │ ├── generate_random_felt.md │ │ │ │ ├── get_class_hash.md │ │ │ │ ├── global.md │ │ │ │ ├── interact_with_state.md │ │ │ │ ├── l1_handler.md │ │ │ │ ├── load.md │ │ │ │ ├── max_fee.md │ │ │ │ ├── mock_call.md │ │ │ │ ├── nonce.md │ │ │ │ ├── nonce_data_availability_mode.md │ │ │ │ ├── paymaster_data.md │ │ │ │ ├── proof_facts.md │ │ │ │ ├── replace_bytecode.md │ │ │ │ ├── resource_bounds.md │ │ │ │ ├── sequencer_address.md │ │ │ │ ├── set_balance.md │ │ │ │ ├── signature.md │ │ │ │ ├── spy_events.md │ │ │ │ ├── spy_messages_to_l1.md │ │ │ │ ├── store.md │ │ │ │ ├── tip.md │ │ │ │ ├── token.md │ │ │ │ ├── transaction_hash.md │ │ │ │ └── transaction_version.md │ │ │ ├── cheatcodes.md │ │ │ ├── inlining-optimizer.md │ │ │ ├── scarb-toml.md │ │ │ ├── sncast/ │ │ │ │ ├── account/ │ │ │ │ │ ├── account.md │ │ │ │ │ ├── create.md │ │ │ │ │ ├── delete.md │ │ │ │ │ ├── deploy.md │ │ │ │ │ ├── import.md │ │ │ │ │ └── list.md │ │ │ │ ├── balance.md │ │ │ │ ├── call.md │ │ │ │ ├── common.md │ │ │ │ ├── completions.md │ │ │ │ ├── declare.md │ │ │ │ ├── declare_from.md │ │ │ │ ├── deploy.md │ │ │ │ ├── get/ │ │ │ │ │ ├── balance.md │ │ │ │ │ ├── class_hash_at.md │ │ │ │ │ ├── get.md │ │ │ │ │ ├── nonce.md │ │ │ │ │ ├── tx-status.md │ │ │ │ │ └── tx.md │ │ │ │ ├── invoke.md │ │ │ │ ├── ledger/ │ │ │ │ │ ├── app-version.md │ │ │ │ │ ├── get-public-key.md │ │ │ │ │ ├── ledger.md │ │ │ │ │ └── sign-hash.md │ │ │ │ ├── multicall/ │ │ │ │ │ ├── execute/ │ │ │ │ │ │ ├── deploy.md │ │ │ │ │ │ └── invoke.md │ │ │ │ │ ├── execute.md │ │ │ │ │ ├── multicall.md │ │ │ │ │ ├── new.md │ │ │ │ │ └── run.md │ │ │ │ ├── script/ │ │ │ │ │ ├── init.md │ │ │ │ │ ├── run.md │ │ │ │ │ └── script.md │ │ │ │ ├── show_config.md │ │ │ │ ├── tx-status.md │ │ │ │ ├── utils/ │ │ │ │ │ ├── class_hash.md │ │ │ │ │ ├── selector.md │ │ │ │ │ ├── serialize.md │ │ │ │ │ └── utils.md │ │ │ │ └── verify.md │ │ │ ├── sncast-library/ │ │ │ │ ├── call.md │ │ │ │ ├── declare.md │ │ │ │ ├── deploy.md │ │ │ │ ├── errors.md │ │ │ │ ├── fee_settings_trait.md │ │ │ │ ├── get_nonce.md │ │ │ │ ├── invoke.md │ │ │ │ └── tx_status.md │ │ │ ├── sncast-library.md │ │ │ ├── sncast.md │ │ │ ├── snforge/ │ │ │ │ ├── check-requirements.md │ │ │ │ ├── clean-cache.md │ │ │ │ ├── clean.md │ │ │ │ ├── completions.md │ │ │ │ ├── new.md │ │ │ │ ├── optimize-inlining.md │ │ │ │ └── test.md │ │ │ ├── snforge-library/ │ │ │ │ ├── byte_array.md │ │ │ │ ├── contract_class.md │ │ │ │ ├── declare.md │ │ │ │ ├── env.md │ │ │ │ ├── fs/ │ │ │ │ │ ├── file.md │ │ │ │ │ ├── file_format_rules.md │ │ │ │ │ ├── file_parser.md │ │ │ │ │ ├── read_json.md │ │ │ │ │ └── read_txt.md │ │ │ │ ├── fs.md │ │ │ │ ├── fuzzable.md │ │ │ │ ├── get_call_trace.md │ │ │ │ ├── signature.md │ │ │ │ ├── testing/ │ │ │ │ │ └── get_current_vm_step.md │ │ │ │ └── testing.md │ │ │ ├── snforge-library.md │ │ │ ├── snforge.md │ │ │ ├── snfoundry-toml.md │ │ │ └── starknet-foundry-github-action.md │ │ ├── development/ │ │ │ ├── environment-setup.md │ │ │ ├── shell-snippets.md │ │ │ └── snapshot-tests.md │ │ ├── getting-started/ │ │ │ ├── blake-hash-support.md │ │ │ ├── first-steps.md │ │ │ ├── installation.md │ │ │ └── scarb.md │ │ ├── projects/ │ │ │ └── configuration.md │ │ ├── snforge-advanced-features/ │ │ │ ├── debugging.md │ │ │ ├── fork-testing.md │ │ │ ├── fuzz-testing.md │ │ │ ├── oracles.md │ │ │ ├── parametrized-testing.md │ │ │ ├── profiling.md │ │ │ ├── storage-cheatcodes.md │ │ │ └── tests-partitioning.md │ │ ├── starknet/ │ │ │ ├── 101.md │ │ │ ├── account-balance.md │ │ │ ├── account-import.md │ │ │ ├── account.md │ │ │ ├── block_explorer.md │ │ │ ├── call.md │ │ │ ├── calldata-transformation.md │ │ │ ├── declare.md │ │ │ ├── deploy.md │ │ │ ├── developer.md │ │ │ ├── eip-2645-hd-paths.md │ │ │ ├── integration_with_devnet.md │ │ │ ├── invoke.md │ │ │ ├── ledger.md │ │ │ ├── multicall.md │ │ │ ├── script.md │ │ │ ├── show_config.md │ │ │ ├── sncast-overview.md │ │ │ ├── tx-status.md │ │ │ └── verify.md │ │ └── testing/ │ │ ├── contract-collection/ │ │ │ ├── new-mechanism.md │ │ │ └── old-mechanism.md │ │ ├── contracts-collection.md │ │ ├── contracts.md │ │ ├── coverage.md │ │ ├── gas-and-resource-estimation.md │ │ ├── running-tests.md │ │ ├── test-attributes.md │ │ ├── test-collection.md │ │ ├── testing-contract-internals.md │ │ ├── testing-events.md │ │ ├── testing-messages-to-l1.md │ │ ├── testing-workspaces.md │ │ ├── testing.md │ │ └── using-cheatcodes.md │ └── theme/ │ ├── head.hbs │ ├── header.hbs │ └── index.hbs ├── scripts/ │ ├── build_docs.sh │ ├── check_snapshots.sh │ ├── compareVersions.js │ ├── get_scarb_versions.sh │ ├── handle_version.sh │ ├── install.sh │ ├── package.json │ ├── package.sh │ ├── release.sh │ ├── scarbfmt.sh │ ├── smoke_test.sh │ ├── snfoundryup │ └── verify_cairo_listings.sh ├── sncast_std/ │ ├── README.md │ ├── Scarb.lock │ ├── Scarb.toml │ └── src/ │ └── lib.cairo ├── snforge_std/ │ ├── README.md │ ├── Scarb.lock │ ├── Scarb.toml │ └── src/ │ ├── byte_array.cairo │ ├── cheatcode.cairo │ ├── cheatcodes/ │ │ ├── block_hash.cairo │ │ ├── contract_class.cairo │ │ ├── erc20.cairo │ │ ├── events.cairo │ │ ├── execution_info/ │ │ │ ├── account_contract_address.cairo │ │ │ ├── account_deployment_data.cairo │ │ │ ├── block_number.cairo │ │ │ ├── block_timestamp.cairo │ │ │ ├── caller_address.cairo │ │ │ ├── chain_id.cairo │ │ │ ├── contract_address.cairo │ │ │ ├── fee_data_availability_mode.cairo │ │ │ ├── max_fee.cairo │ │ │ ├── nonce.cairo │ │ │ ├── nonce_data_availability_mode.cairo │ │ │ ├── paymaster_data.cairo │ │ │ ├── proof_facts.cairo │ │ │ ├── resource_bounds.cairo │ │ │ ├── sequencer_address.cairo │ │ │ ├── signature.cairo │ │ │ ├── tip.cairo │ │ │ ├── transaction_hash.cairo │ │ │ └── version.cairo │ │ ├── execution_info.cairo │ │ ├── generate_arg.cairo │ │ ├── generate_random_felt.cairo │ │ ├── l1_handler.cairo │ │ ├── message_to_l1.cairo │ │ └── storage.cairo │ ├── cheatcodes.cairo │ ├── config_types.cairo │ ├── env/ │ │ └── env_vars.cairo │ ├── env.cairo │ ├── fs/ │ │ └── file_operations.cairo │ ├── fs.cairo │ ├── fuzzable.cairo │ ├── lib.cairo │ ├── signature/ │ │ ├── secp256k1_curve.cairo │ │ ├── secp256r1_curve.cairo │ │ └── stark_curve.cairo │ ├── signature.cairo │ ├── testing.cairo │ └── trace.cairo └── snforge_templates/ ├── balance_contract/ │ ├── src/ │ │ └── lib.cairo │ └── tests/ │ └── test_contract.cairo ├── cairo_program/ │ └── src/ │ └── lib.cairo └── erc20_contract/ ├── src/ │ ├── lib.cairo │ ├── mock_erc20.cairo │ └── token_sender.cairo └── tests/ ├── test_erc20.cairo └── test_token_sender.cairo