[package]
name = "reth-network-p2p"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "traits and commonly used types for p2p and network communication"

[lints]
workspace = true

[dependencies]
reth-primitives.workspace = true
reth-eth-wire-types.workspace = true
reth-consensus.workspace = true
reth-network-peers.workspace = true
reth-storage-errors.workspace = true

# io
serde = { workspace = true, optional = true }

# async
futures.workspace = true
tokio = { workspace = true, features = ["sync"] }

# misc
auto_impl.workspace = true
thiserror.workspace = true
tracing.workspace = true

parking_lot = { workspace = true, optional = true }

[dev-dependencies]
reth-consensus = { workspace = true, features = ["test-utils"] }

parking_lot.workspace = true
tokio = { workspace = true, features = ["full"] }

[features]
test-utils = ["reth-consensus/test-utils", "parking_lot"]
serde = ["dep:serde"]
