Files
nanoreth/crates/net/network/Cargo.toml
2024-06-17 16:09:09 +00:00

106 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"
[lints]
workspace = true
[dependencies]
# reth
reth-chainspec.workspace = true
reth-primitives.workspace = true
reth-net-common.workspace = true
reth-network-api.workspace = true
reth-network-p2p.workspace = true
reth-discv4.workspace = true
reth-discv5.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
reth-consensus.workspace = true
reth-network-peers.workspace = true
# ethereum
enr = { workspace = true, features = ["serde", "rust-secp256k1"] }
alloy-rlp.workspace = true
discv5.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.workspace = true
aquamarine.workspace = true
tracing.workspace = true
fnv = "1.0"
thiserror.workspace = true
parking_lot.workspace = true
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-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-network-p2p = { 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 deps for testing against nodes
alloy-node-bindings.workspace = true
alloy-provider= { workspace = true, features = ["admin-api"] }
# 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:tempfile", "reth-transaction-pool/test-utils"]
geth-tests = []
[[bench]]
name = "bench"
required-features = ["test-utils"]
harness = false