[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.workspace = true reth-libmdbx = { workspace = true, optional = true, features = ["return-borrowed"] } reth-nippy-jar.workspace = true 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.workspace = true paste = "1.0" rayon.workspace = true itertools.workspace = true # 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 = { workspace = true, features = ["arbitrary"] } reth-interfaces.workspace = true tempfile.workspace = true test-fuzz = "4" pprof = { workspace = true, features = ["flamegraph", "frame-pointer", "criterion"] } criterion.workspace = true 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