Rust Crates

This repository is organized into focused Rust crates. The most important ones are listed below.

CratePurposeNotes
cliUser-facing CLI (hdp)Subcommands: dry-run, fetch-proofs, sound-run
dry_runStage 1 executionRuns Cairo VM with RPC-backed handlers
fetcherStage 2 proof collectionBuilds ProofsData from key sets
sound_runStage 3 executionOffline run with verified proofs
dry_hint_processorDry-run syscall handlersRPC reads and key collection
sound_hint_processorSound-run syscall handlersReads from memorizers
syscall_handlerShared syscall dispatchRoutes to EVM/Starknet/injected state
hintsCairo hint implementations250+ hints for VM integration
typesShared types and schemasInputs/outputs, keys, proofs
indexer_clientHerodotus Indexer API clientMMR proof requests
state_serverInjected state serverPatricia trie + proof API

If you are new to the codebase, start with cli, dry_run, fetcher, and sound_run, then follow their dependencies.