[package]
description = "Substrate network protocol"
name = "sc-network"
version = "2.0.0"
license = "GPL-3.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"

[dependencies]
bytes = "0.4.12"
derive_more = "0.99.2"
either = "1.5.3"
log = "0.4.8"
parking_lot = "0.9.0"
bitflags = "1.2.0"
fnv = "1.0.6"
futures = "0.1.29"
futures03 = { package = "futures", version = "0.3.1", features = ["compat"] }
futures-timer = "0.4.0"
linked-hash-map = "0.5.2"
linked_hash_set = "0.1.3"
lru = "0.4.0"
rustc-hex = "2.0.1"
rand = "0.7.2"
libp2p = { version = "0.13.0", default-features = false, features = ["libp2p-websocket"] }
fork-tree = { path = "../../utils/fork-tree" }
consensus = { package = "sp-consensus", path = "../../primitives/consensus/common" }
client = { package = "sc-client", path = "../" }
client-api = { package = "sc-client-api", path = "../api" }
sp-blockchain = { path = "../../primitives/blockchain" }
sp-runtime = { path = "../../primitives/sr-primitives" }
sp-arithmetic = { path = "../../primitives/sr-arithmetic" }
primitives = { package = "sp-core", path = "../../primitives/core" }
block-builder = { package = "sc-block-builder", path = "../block-builder" }
codec = { package = "parity-scale-codec", version = "1.0.0", features = ["derive"] }
peerset = { package = "sc-peerset", path = "../peerset" }
serde = { version = "1.0.101", features = ["derive"] }
serde_json = "1.0.41"
slog = { version = "2.5.2", features = ["nested-values"] }
slog_derive = "0.2.0"
smallvec = "0.6.10"
tokio-io = "0.1.12"
tokio = { version = "0.1.22", optional = true }
unsigned-varint = { version = "0.2.2", features = ["codec"] }
keyring = { package = "sp-keyring", path = "../../primitives/keyring", optional = true }
test_client = { package = "substrate-test-client", path = "../../test/utils/client", optional = true }
test-client = { package = "substrate-test-runtime-client", path = "../../test/utils/runtime/client", optional = true }
erased-serde = "0.3.9"
void = "1.0.2"
zeroize = "1.0.0"
babe-primitives = { package = "sp-consensus-babe", path = "../../primitives/consensus/babe" }

[dev-dependencies]
env_logger = "0.7.0"
keyring = { package = "sp-keyring", path = "../../primitives/keyring" }
quickcheck = "0.9.0"
rand = "0.7.2"
test-client = { package = "substrate-test-runtime-client", path = "../../test/utils/runtime/client" }
test_runtime = { package = "substrate-test-runtime", path = "../../test/utils/runtime" }
tempfile = "3.1.0"
tokio = "0.1.22"

[features]
default = []
test-helpers = ["keyring", "test-client", "tokio"]
