[package] name = "reth-network" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true description = """ Ethereum network support """ [package.metadata.cargo-udeps.ignore] normal = [ # Used for diagrams in docs "aquamarine", ] [dependencies] # reth reth-interfaces.workspace = true reth-primitives.workspace = true reth-net-common = { path = "../common" } reth-network-api.workspace = true reth-discv4 = { path = "../discv4" } reth-dns-discovery = { path = "../dns" } reth-eth-wire = { path = "../eth-wire" } reth-ecies = { path = "../ecies" } reth-tasks.workspace = true reth-transaction-pool.workspace = true reth-provider.workspace = true reth-rpc-types.workspace = true alloy-rlp.workspace = true # async/futures futures.workspace = true pin-project.workspace = true tokio = { workspace = true, features = ["io-util", "net", "macros", "rt-multi-thread", "time"] } tokio-stream.workspace = true tokio-util = { workspace = true, features = ["codec"] } # io serde = { workspace = true, optional = true } humantime-serde = { version = "1.1", optional = true } serde_json = { workspace = true, optional = true } # metrics reth-metrics = { workspace = true, features = ["common"] } metrics.workspace = true # misc auto_impl = "1" aquamarine.workspace = true tracing.workspace = true fnv = "1.0" thiserror.workspace = true parking_lot.workspace = true async-trait.workspace = true linked_hash_set = "0.1" linked-hash-map = "0.5.6" rand.workspace = true secp256k1 = { workspace = true, features = ["global-context", "rand-std", "recovery"] } enr = { workspace = true, features = ["rust-secp256k1"], optional = true } tempfile = { workspace = true, optional = true } [dev-dependencies] # reth reth-discv4 = { path = "../discv4", features = ["test-utils"] } reth-interfaces = { workspace = true, features = ["test-utils"] } reth-primitives = { workspace = true, features = ["test-utils"] } # we need to enable the test-utils feature in our own crate to use utils in # integration tests reth-network = { path = ".", features = ["test-utils"] } reth-provider = { workspace = true, features = ["test-utils"] } reth-tracing.workspace = true reth-transaction-pool = { workspace = true, features = ["test-utils"] } ethers-core = { workspace = true, default-features = false } ethers-providers = { workspace = true, default-features = false, features = ["ws"] } ethers-signers = { workspace = true, default-features = false } ethers-middleware = { workspace = true, default-features = false } enr = { workspace = true, features = ["serde", "rust-secp256k1"] } # misc serial_test.workspace = true tempfile.workspace = true [features] default = ["serde"] serde = ["dep:serde", "dep:humantime-serde", "secp256k1/serde", "enr?/serde", "dep:serde_json"] test-utils = ["reth-provider/test-utils", "dep:enr", "dep:tempfile"] geth-tests = []