Cargo Features

Cairo-vm has no features set by default.

[dependencies]
cairo-vm = { version = "3.2.0", features = ["cairo-1-hints", "mod_builtin", "cairo-0-secp-hints", "cairo-0-data-availability-hints", "test_utils", "extensive_hints", "clap"] }
cairo-1-hints

Enables ark-ff ^0.4.2, ark-std ^0.4.0, cairo-lang-casm, and cairo-lang-starknet-classes

cairo-lang-starknet-classes:

Dependencies for cairo-1-hints feature

Affects hint_processor::cairo_1_hint_processor

tracer mod_builtin
cairo-0-secp-hints

Affects secp::cairo0_hints

cairo-0-data-availability-hints

Affects builtin_hint_processor::kzg_da

test_utils

Note that these features are not retro-compatible with the cairo Python VM.
This feature will reference every test-oriented feature

Enables arbitrary and std of starknet-types-core ^0.2.4 and arbitrary

Enable arbitrary when fuzzing

Affects cairo_run::cairo_run_fuzzed_program, builtin_hint_processor::print, builtin_hint_processor::simulated_builtins, 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.rs

Affects hint_processor_definition::HintProcessorLogic.execute_hint_extensive, program::HintsCollection.hints_ranges, program::HintRange

Features from optional dependencies

clap implicit feature

Enables clap

Used to derive clap traits for CLIs