[package] name = "papyrus_storage" version.workspace = true edition.workspace = true repository.workspace = true license-file.workspace = true description = "A storage implementation for a Starknet node." [features] testing = ["tempfile"] document_calls = ["lazy_static"] [[bin]] name = "dump_declared_classes" required-features = ["clap"] path = "src/bin/dump_declared_classes.rs" [[bin]] name = "storage_benchmark" required-features = ["clap", "statistical"] path = "src/bin/storage_benchmark.rs" [dependencies] byteorder.workspace = true cairo-lang-starknet-classes.workspace = true cairo-lang-casm = { workspace = true, features = ["parity-scale-codec"] } cairo-lang-utils.workspace = true human_bytes.workspace = true indexmap = { workspace = true, features = ["serde"] } integer-encoding.workspace = true lazy_static = { workspace = true, optional = true } libmdbx = { workspace = true, features = ["lifetimed-bytes"] } memmap2.workspace = true metrics.workspace = true num-bigint.workspace = true page_size.workspace = true papyrus_common = { path = "../papyrus_common", version = "0.4.0-rc.0" } papyrus_config = { path = "../papyrus_config", version = "0.4.0-rc.0" } papyrus_proc_macros = { path = "../papyrus_proc_macros", version = "0.4.0-rc.0" } parity-scale-codec.workspace = true primitive-types.workspace = true serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true, features = ["arbitrary_precision"] } starknet_api.workspace = true starknet-types-core = { workspace = true, features = ["papyrus-serialization"] } tempfile = { workspace = true, optional = true } thiserror.workspace = true tracing = { workspace = true, features = ["log"] } validator = { workspace = true, features = ["derive"] } zstd.workspace = true # Binaries dependencies clap = { workspace = true, optional = true } statistical = { workspace = true, optional = true } [dev-dependencies] assert_matches.workspace = true cairo-lang-casm = { workspace = true, features = [ "parity-scale-codec", "schemars", ] } camelpaste.workspace = true insta = { workspace = true, features = ["yaml"] } metrics-exporter-prometheus.workspace = true num-traits.workspace = true paste.workspace = true pretty_assertions.workspace = true prometheus-parse.workspace = true rand.workspace = true rand_chacha.workspace = true schemars = { workspace = true, features = ["preserve_order"] } simple_logger.workspace = true tempfile = { workspace = true } test-case.workspace = true test-log.workspace = true test_utils = { path = "../test_utils" } tokio = { workspace = true, features = ["full", "sync"] }