[package]
description = "Substrate network protocol"
name = "sc-network"
version = "0.45.1"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true
documentation = "https://docs.rs/sc-network"
readme = "README.md"
[lints]
workspace = true
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
prost-build = { workspace = true }
[dependencies]
array-bytes = { workspace = true, default-features = true }
async-channel = { workspace = true }
async-trait = { workspace = true }
asynchronous-codec = { workspace = true }
bytes = { workspace = true, default-features = true }
cid = { workspace = true }
codec = { features = ["derive"], workspace = true, default-features = true }
either = { workspace = true, default-features = true }
fnv = { workspace = true }
futures = { workspace = true }
futures-timer = { workspace = true }
ip_network = { workspace = true }
libp2p = { features = ["dns", "identify", "kad", "macros", "mdns", "noise", "ping", "request-response", "tcp", "tokio", "websocket", "yamux"], workspace = true }
linked_hash_set = { workspace = true }
log = { workspace = true, default-features = true }
mockall = { workspace = true }
parking_lot = { workspace = true, default-features = true }
partial_sort = { workspace = true }
pin-project = { workspace = true }
rand = { workspace = true, default-features = true }
serde = { features = ["derive"], workspace = true, default-features = true }
serde_json = { workspace = true, default-features = true }
smallvec = { workspace = true, default-features = true }
thiserror = { workspace = true }
tokio = { features = ["macros", "sync"], workspace = true, default-features = true }
tokio-stream = { workspace = true }
unsigned-varint = { features = ["asynchronous_codec", "futures"], workspace = true }
zeroize = { workspace = true, default-features = true }
prometheus-endpoint.workspace = true
prometheus-endpoint.default-features = true
prost = { workspace = true }
sc-client-api.workspace = true
sc-client-api.default-features = true
sc-network-common.workspace = true
sc-network-common.default-features = true
sc-network-types.workspace = true
sc-network-types.default-features = true
sc-utils.workspace = true
sc-utils.default-features = true
sp-arithmetic.workspace = true
sp-arithmetic.default-features = true
sp-blockchain.workspace = true
sp-blockchain.default-features = true
sp-core.workspace = true
sp-core.default-features = true
sp-runtime.workspace = true
sp-runtime.default-features = true
wasm-timer = { workspace = true }
litep2p = { workspace = true }
once_cell = { workspace = true }
void = { workspace = true }
schnellru = { workspace = true }
[dev-dependencies]
assert_matches = { workspace = true }
mockall = { workspace = true }
multistream-select = { workspace = true }
rand = { workspace = true, default-features = true }
tempfile = { workspace = true }
tokio = { features = ["macros"], workspace = true, default-features = true }
tokio-util = { features = ["compat"], workspace = true }
tokio-test = { workspace = true }
sc-block-builder = { default-features = true, path = "../block-builder" }
sc-network-light = { default-features = true, path = "light" }
sc-network-sync = { default-features = true, path = "sync" }
sp-crypto-hashing = { default-features = true, path = "../../primitives/crypto/hashing" }
sp-consensus = { default-features = true, path = "../../primitives/consensus/common" }
sp-test-primitives = { path = "../../primitives/test-primitives" }
sp-tracing = { default-features = true, path = "../../primitives/tracing" }
substrate-test-runtime = { path = "../../test-utils/runtime" }
substrate-test-runtime-client = { path = "../../test-utils/runtime/client" }
[features]
default = []