Cargo Features
[dependencies]
cairo-vm = { version = "2.0.0-rc2", default-features = false, features = ["std", "cairo-1-hints", "mod_builtin", "cairo-0-secp-hints", "test_utils", "extensive_hints", "clap"] }
- default = std
-
The
std
feature is set by default whenevercairo-vm
is added without
somewhere in the dependency tree.default-features = false - std default test_utils?
-
Enables zip ^0.6.6, std of anyhow and bincode, std of serde_json, starknet-crypto, starknet-types-core, and thiserror-no-std and num-prime
only for std
- cairo-1-hints
-
Enables cairo-lang-starknet and cairo-lang-starknet-classes
cairo-lang-starknet:
Dependencies for cairo-1-hints feature
and ark-ff ^0.4.2, ark-std ^0.4.0, and cairo-lang-casm
ark-ff:
TODO: check these dependencies for wasm compatibility
Affects
hint_processor::cairo_1_hint_processor
… - tracer mod_builtin
- cairo-0-secp-hints
-
Affects
secp::cairo0_hints
… - test_utils = std
-
Note that these features are not retro-compatible with the cairo Python VM.
This feature will reference every test-oriented featureEnables arbitrary and std of starknet-types-core and arbitrary
Enable arbitrary when fuzzing
Affects
cairo_run::cairo_run_fuzzed_program
,hint_code::SKIP_NEXT_INSTRUCTION
,hint_code::PRINT_FELT
,hint_code::PRINT_ARR
,hint_code::PRINT_DICT
,builtin_hint_processor::print
,builtin_hint_processor::skip_next_instruction
,vm::hooks
… - extensive_hints
-
Allows extending the set of hints for the current vm run from within a hint.
For a usage example checkout vm/src/tests/run_deprecated_contract_class_simplified.rsAffects
hint_processor_definition::HintProcessorLogic.execute_hint_extensive
,program::HintsCollection.hints_ranges
,program::HintRange
…