[package]
edition = "2024"
name = "midnight-storage"
version = "2.0.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Provides data structures and storage primitives for Midnight's ledger."
readme = false
license = "Apache-2.0"
repository = "https://github.com/midnightntwrk/midnight-ledger"
resolver = "2"
[features]
bench = [
"storage-core/bench",
"dep:pprof",
"dep:criterion",
]
parity-db = ["storage-core/parity-db"]
proptest = [
"dep:proptest",
"dep:proptest-derive",
"storage-core/proptest",
"base-crypto/proptest",
]
public-internal-structure = ["storage-core/public-internal-structure"]
sqlite = ["storage-core/sqlite"]
state-translation = [
"storage-core/state-translation",
"dep:hashbrown",
"public-internal-structure",
]
stress-test = [
"dep:serde_json",
"dep:os_pipe",
"storage-core/test-utilities",
]
[lib]
name = "midnight_storage"
path = "src/lib.rs"
[[bin]]
name = "stress"
path = "bin/stress.rs"
required-features = ["stress-test"]
[[example]]
name = "arena-transactions"
path = "examples/arena-transactions.rs"
test = true
doc = true
[[example]]
name = "state-translation"
path = "examples/state-translation.rs"
test = true
doc = true
required-features = [
"state-translation",
"parity-db",
]
[[test]]
name = "deserialize"
path = "tests/deserialize.rs"
[[test]]
name = "sp_children"
path = "tests/sp_children.rs"
[[test]]
name = "storable_clash"
path = "tests/storable_clash.rs"
[[bench]]
name = "benchmarking"
path = "benches/benchmarking.rs"
harness = false
required-features = ["bench"]
[dependencies.base-crypto]
version = "1.0.0"
package = "midnight-base-crypto"
[dependencies.criterion]
version = "^0.5.1"
optional = true
[dependencies.crypto]
version = "0.5.1"
features = ["digest"]
[dependencies.derive-where]
version = "^1.5.0"
[dependencies.hashbrown]
version = "^0.16.0"
optional = true
[dependencies.os_pipe]
version = "1.2.2"
optional = true
[dependencies.parking_lot]
version = "^0.12.4"
[dependencies.pprof]
version = "0.14"
features = [
"criterion",
"flamegraph",
]
optional = true
[dependencies.proptest]
version = "~1.6.0"
optional = true
[dependencies.proptest-derive]
version = "0.5"
optional = true
[dependencies.rand]
version = "^0.8.4"
features = ["getrandom"]
[dependencies.serde]
version = "^1.0.219"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
features = ["std"]
optional = true
[dependencies.serialize]
version = "1.0.0"
package = "midnight-serialize"
[dependencies.sha2]
version = "0.10.9"
[dependencies.storage-core]
version = "1.0.0"
package = "midnight-storage-core"
[dependencies.sysinfo]
version = "0.34.2"
[dependencies.tempfile]
version = "3.20"
[dev-dependencies.pastey]
version = "0.1.1"
[dev-dependencies.rayon]
version = "^1.10.0"