Files
nanoreth/crates/storage/db/Cargo.toml
2023-06-19 17:29:15 +00:00

104 lines
2.6 KiB
TOML

[package]
name = "reth-db"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Staged syncing primitives used in reth."
[dependencies]
# reth
reth-primitives = { workspace = true }
reth-interfaces = { workspace = true }
reth-codecs = { path = "../codecs" }
reth-libmdbx = { path = "../libmdbx-rs", optional = true, features = ["return-borrowed"] }
reth-metrics = { workspace = true }
# codecs
serde = { workspace = true, default-features = false }
postcard = { version = "1.0.2", features = ["alloc"] }
heapless = "0.7.16"
parity-scale-codec = { version = "3.2.1", features = ["bytes"] }
futures = { workspace = true }
tokio-stream = { workspace = true }
rand = { workspace = true }
secp256k1 = { workspace = true, default-features = false, features = [
"alloc",
"recovery",
"rand",
], optional = true }
modular-bitfield = "0.11.2"
# misc
bytes = "1.4"
page_size = "0.4.2"
thiserror = { workspace = true }
tempfile = { version = "3.3.0", optional = true }
parking_lot = "0.12"
# arbitrary utils
arbitrary = { version = "1.1.7", features = ["derive"], optional = true }
proptest = { version = "1.0", optional = true }
proptest-derive = { version = "0.3", optional = true }
[dev-dependencies]
# reth libs with arbitrary
reth-primitives = { workspace = true, features = ["arbitrary"] }
reth-codecs = { path = "../codecs", features = ["arbitrary"] }
reth-interfaces = { workspace = true, features = ["bench"] }
tempfile = "3.3.0"
test-fuzz = "3.0.4"
pprof = { version = "0.11", features = ["flamegraph", "frame-pointer", "criterion"] }
criterion = "0.4.0"
iai = "0.1.1"
tokio = { workspace = true, features = ["full"] }
reth-db = { path = ".", features = ["test-utils", "bench"] }
# needed for test-fuzz to work properly, see https://github.com/paradigmxyz/reth/pull/177#discussion_r1021172198
secp256k1 = { workspace = true }
async-trait = { workspace = true }
arbitrary = { version = "1.1.7", features = ["derive"] }
proptest = { version = "1.0" }
proptest-derive = "0.3"
serde_json = { workspace = true }
paste = "1.0"
assert_matches = "1.5.0"
[build-dependencies]
vergen = { version = "8.0.0", features = ["git", "gitcl"] }
[features]
default = ["mdbx"]
test-utils = ["tempfile", "arbitrary"]
bench-postcard = ["bench"]
mdbx = ["reth-libmdbx"]
bench = []
arbitrary = [
"reth-primitives/arbitrary",
"reth-codecs/arbitrary",
"dep:arbitrary",
"dep:proptest",
"dep:proptest-derive",
]
[[bench]]
name = "hash_keys"
harness = false
[[bench]]
name = "criterion"
harness = false
[[bench]]
name = "iai"
harness = false