[package] name = "reth" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true description = """ Reth node implementation """ [package.metadata.cargo-udeps.ignore] normal = [ # Used for diagrams in docs "aquamarine", ] [dependencies] # reth reth-config = { path = "../../crates/config" } reth-primitives = { workspace = true, features = ["arbitrary", "clap"] } reth-db = { workspace = true, features = ["mdbx", "test-utils"] } # TODO: Temporary use of the test-utils feature reth-provider = { workspace = true, features = ["test-utils"] } reth-revm = { path = "../../crates/revm" } reth-revm-inspectors = { path = "../../crates/revm/revm-inspectors" } reth-stages = { path = "../../crates/stages" } reth-interfaces = { workspace = true, features = ["test-utils", "clap"] } reth-transaction-pool.workspace = true reth-beacon-consensus = { path = "../../crates/consensus/beacon" } reth-auto-seal-consensus = { path = "../../crates/consensus/auto-seal" } reth-consensus-common = { path = "../../crates/consensus/common" } reth-blockchain-tree = { path = "../../crates/blockchain-tree" } reth-rpc-engine-api = { path = "../../crates/rpc/rpc-engine-api" } reth-rpc-builder = { path = "../../crates/rpc/rpc-builder" } reth-rpc = { path = "../../crates/rpc/rpc" } reth-rpc-types = { path = "../../crates/rpc/rpc-types" } reth-rpc-types-compat = { path = "../../crates/rpc/rpc-types-compat" } reth-rpc-api = { path = "../../crates/rpc/rpc-api", features = ["client"] } reth-network = { path = "../../crates/net/network", features = ["serde"] } reth-network-api.workspace = true reth-downloaders = { path = "../../crates/net/downloaders", features = ["test-utils"] } reth-tracing.workspace = true reth-tasks.workspace = true reth-net-nat = { path = "../../crates/net/nat" } reth-payload-builder.workspace = true reth-basic-payload-builder = { path = "../../crates/payload/basic" } reth-discv4 = { path = "../../crates/net/discv4" } reth-prune = { path = "../../crates/prune" } reth-snapshot = { path = "../../crates/snapshot", features = ["clap"] } reth-trie = { path = "../../crates/trie" } reth-nippy-jar = { path = "../../crates/storage/nippy-jar" } # crypto alloy-rlp.workspace = true secp256k1 = { workspace = true, features = ["global-context", "rand-std", "recovery"] } # tracing tracing.workspace = true # io fdlimit = "0.2.1" serde.workspace = true serde_json.workspace = true shellexpand = "3.0.0" dirs-next = "2.0.0" confy.workspace = true toml = { workspace = true, features = ["display"] } # metrics metrics-exporter-prometheus = "0.12.1" metrics-util = "0.15.0" metrics-process = "1.0.9" reth-metrics.workspace = true metrics.workspace = true # test vectors generation proptest.workspace = true rand.workspace = true # tui comfy-table = "7.0" crossterm = "0.27.0" tui = "0.19.0" human_bytes = "0.4.1" # async tokio = { workspace = true, features = ["sync", "macros", "time", "rt-multi-thread"] } futures.workspace = true pin-project.workspace = true # http/rpc hyper = "0.14.25" # misc aquamarine.workspace = true eyre.workspace = true clap = { workspace = true, features = ["derive"] } tempfile.workspace = true backon = "0.4" thiserror.workspace = true pretty_assertions = "1.3.0" humantime = "2.1.0" const-str = "0.5.6" boyer-moore-magiclen = "0.2.16" itertools.workspace = true [target.'cfg(not(windows))'.dependencies] jemallocator = { version = "0.5.0", optional = true } jemalloc-ctl = { version = "0.5.0", optional = true } [features] default = ["jemalloc"] jemalloc = ["dep:jemallocator", "dep:jemalloc-ctl"] jemalloc-prof = ["jemalloc", "jemallocator?/profiling"] min-error-logs = ["tracing/release_max_level_error"] min-warn-logs = ["tracing/release_max_level_warn"] min-info-logs = ["tracing/release_max_level_info"] min-debug-logs = ["tracing/release_max_level_debug"] min-trace-logs = ["tracing/release_max_level_trace"] [build-dependencies] vergen = { version = "8.0.0", features = ["build", "cargo", "git", "gitcl"] }