[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" default-run = "reth" [lints] workspace = true [dependencies] # reth reth-chainspec.workspace = true reth-config.workspace = true reth-primitives.workspace = true reth-fs-util.workspace = true reth-db = { workspace = true, features = ["mdbx"] } reth-db-api.workspace = true reth-exex.workspace = true reth-provider = { workspace = true } reth-evm.workspace = true reth-revm.workspace = true reth-stages.workspace = true reth-execution-types.workspace = true reth-errors.workspace = true reth-transaction-pool.workspace = true reth-beacon-consensus.workspace = true reth-cli-runner.workspace = true reth-consensus-common.workspace = true reth-blockchain-tree.workspace = true reth-rpc-builder.workspace = true reth-rpc.workspace = true reth-rpc-types.workspace = true reth-rpc-types-compat.workspace = true reth-rpc-api = { workspace = true, features = ["client"] } reth-network = { workspace = true, features = ["serde"] } reth-network-p2p.workspace = true reth-net-banlist.workspace = true reth-network-api.workspace = true reth-downloaders.workspace = true reth-tracing.workspace = true reth-tasks.workspace = true reth-ethereum-payload-builder.workspace = true reth-payload-builder.workspace = true reth-payload-primitives.workspace = true reth-payload-validator.workspace = true reth-basic-payload-builder.workspace = true reth-discv4.workspace = true reth-discv5.workspace = true reth-static-file.workspace = true reth-static-file-types = { workspace = true, features = ["clap"] } reth-trie = { workspace = true, features = ["metrics"] } reth-nippy-jar.workspace = true reth-node-api.workspace = true reth-node-ethereum.workspace = true reth-node-optimism = { workspace = true, optional = true, features = [ "optimism", ] } reth-node-core.workspace = true reth-db-common.workspace = true reth-node-builder.workspace = true reth-node-events.workspace = true reth-consensus.workspace = true reth-optimism-primitives.workspace = true reth-prune-types.workspace = true reth-engine-util.workspace = true reth-prune.workspace = true # crypto alloy-rlp.workspace = true # tracing tracing.workspace = true # io fdlimit.workspace = true serde.workspace = true serde_json.workspace = true confy.workspace = true toml = { workspace = true, features = ["display"] } # metrics metrics-process.workspace = true # test vectors generation proptest.workspace = true arbitrary.workspace = true proptest-arbitrary-interop.workspace = true rand.workspace = true # tui comfy-table = "7.1" crossterm = "0.27.0" ratatui = { version = "0.27", default-features = false, features = [ "crossterm", ] } human_bytes = "0.4.1" # async tokio = { workspace = true, features = [ "sync", "macros", "time", "rt-multi-thread", ] } futures.workspace = true # misc aquamarine.workspace = true eyre.workspace = true clap = { workspace = true, features = ["derive", "env"] } tempfile.workspace = true backon.workspace = true similar-asserts.workspace = true itertools.workspace = true rayon.workspace = true ahash = "0.8" # p2p discv5.workspace = true [target.'cfg(unix)'.dependencies] tikv-jemallocator = { version = "0.5.0", optional = true } libc = "0.2" [dev-dependencies] jsonrpsee.workspace = true assert_matches = "1.5.0" [features] default = ["jemalloc"] asm-keccak = ["reth-primitives/asm-keccak"] jemalloc = ["dep:tikv-jemallocator", "reth-node-core/jemalloc"] jemalloc-prof = ["jemalloc", "tikv-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"] optimism = [ "reth-primitives/optimism", "reth-rpc/optimism", "reth-provider/optimism", "reth-beacon-consensus/optimism", "reth-blockchain-tree/optimism", "dep:reth-node-optimism", "reth-node-core/optimism", ] # no-op feature flag for switching between the `optimism` and default functionality in CI matrices ethereum = [] [[bin]] name = "reth" path = "src/main.rs" [[bin]] name = "op-reth" path = "src/optimism.rs" required-features = ["optimism"]