Files
nanoreth/crates/storage/db/Cargo.toml
2023-10-11 16:19:06 +00:00

114 lines
2.8 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-nippy-jar = { path = "../nippy-jar" }
reth-tracing.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"
# metrics
reth-metrics.workspace = true
metrics.workspace = true
# misc
bytes.workspace = true
page_size = "0.6.0"
thiserror.workspace = true
tempfile = { workspace = true, optional = true }
parking_lot.workspace = true
derive_more = "0.99"
eyre = "0.6.8"
paste = "1.0"
# arbitrary utils
arbitrary = { workspace = true, features = ["derive"], optional = true }
proptest = { workspace = true, optional = true }
proptest-derive = { workspace = true, optional = true }
[dev-dependencies]
# reth libs with arbitrary
reth-primitives = { workspace = true, features = ["arbitrary"] }
reth-codecs = { path = "../codecs", features = ["arbitrary"] }
reth-interfaces.workspace = true
tempfile.workspace = true
test-fuzz = "4"
pprof = { version = "0.12", features = ["flamegraph", "frame-pointer", "criterion"] }
criterion = "0.5"
iai = "0.1.1"
tokio = { workspace = true, features = ["full"] }
# 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 = { workspace = true, features = ["derive"] }
proptest.workspace = true
proptest-derive.workspace = true
serde_json.workspace = true
paste = "1.0"
assert_matches.workspace = true
[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"
required-features = ["test-utils"]
harness = false
[[bench]]
name = "criterion"
required-features = ["test-utils"]
harness = false
[[bench]]
name = "iai"
required-features = ["test-utils"]
harness = false