Files
nanoreth/crates/net/network/Cargo.toml
2023-09-26 19:03:49 +00:00

100 lines
3.0 KiB
TOML

[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-rlp.workspace = true
reth-rlp-derive = { path = "../../rlp/rlp-derive" }
reth-tasks.workspace = true
reth-transaction-pool.workspace = true
reth-provider.workspace = true
reth-rpc-types.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 }
ethers-core = { workspace = true, default-features = false, optional = true }
tempfile = { version = "3.3", 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 = { path = "../../tracing" }
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
hex = "0.4"
serial_test.workspace = true
tempfile = "3.3"
[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:ethers-core", "dep:tempfile"]
geth-tests = []