Files
nanoreth/crates/net/network/Cargo.toml

114 lines
3.4 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"
[lints]
workspace = true
[dependencies]
# reth
reth-interfaces.workspace = true
reth-primitives.workspace = true
reth-net-common.workspace = true
reth-network-api.workspace = true
reth-discv4.workspace = true
reth-dns-discovery.workspace = true
reth-eth-wire.workspace = true
reth-ecies.workspace = true
reth-tasks.workspace = true
reth-transaction-pool.workspace = true
reth-provider.workspace = true
reth-rpc-types.workspace = true
reth-tokio-util.workspace = true
# ethereum
enr = { workspace = true, features = ["rust-secp256k1"], optional = 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 = { workspace = true, 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
linked_hash_set = "0.1"
linked-hash-map = "0.5.6"
rand.workspace = true
secp256k1 = { workspace = true, features = ["global-context", "rand-std", "recovery"] }
derive_more.workspace = true
schnellru.workspace = true
itertools.workspace = true
tempfile = { workspace = true, optional = true }
smallvec.workspace = true
[dev-dependencies]
# reth
reth-discv4 = { workspace = true, 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 = { workspace = true, features = ["test-utils"] }
reth-provider = { workspace = true, features = ["test-utils"] }
reth-tracing.workspace = true
reth-transaction-pool = { workspace = true, features = ["test-utils"] }
alloy-node-bindings.workspace = true
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
## Benchmarks
pprof = { workspace = true, features = ["criterion", "flamegraph"] }
criterion = { workspace = true, features = ["async_tokio", "html_reports"] }
[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", "reth-transaction-pool/test-utils"]
geth-tests = []
optimism = [
"reth-primitives/optimism",
"reth-transaction-pool/optimism",
"reth-provider/optimism",
"reth-network-api/optimism",
"reth-rpc-types/optimism",
]
[[bench]]
name = "bench"
required-features = ["test-utils"]
harness = false