[package]
authors = ["MaidSafe Developers <dev@maidsafe.net>"]
description = "Safe Networking Infrastructure"
documentation = "https://docs.rs/sn_node"
edition = "2021"
homepage = "https://maidsafe.net"
license = "GPL-3.0"
name = "sn_networking"
readme = "README.md"
repository = "https://github.com/maidsafe/safe_network"
version = "0.16.6"
[features]
default = ["libp2p/quic"]
local-discovery = ["libp2p/mdns"]
upnp = ["libp2p/upnp"]
websockets = ["libp2p/tcp"]
open-metrics = ["libp2p/metrics", "prometheus-client", "hyper", "sysinfo"]
encrypt-records = []
[dependencies]
lazy_static = "~1.4.0"
libp2p = { version = "0.53", features = [
"tokio",
"dns",
"kad",
"macros",
"request-response",
"cbor",
"identify",
"dcutr",
"tcp",
"relay",
"noise",
"tcp",
"yamux",
"websocket",
] }
async-trait = "0.1"
bytes = { version = "1.0.1", features = ["serde"] }
futures = "~0.3.13"
hex = "~0.4.3"
hyper = { version = "0.14", features = [
"server",
"tcp",
"http1",
], optional = true }
itertools = "~0.12.1"
custom_debug = "~0.6.1"
prometheus-client = { version = "0.22", optional = true }
rand = { version = "~0.8.5", features = ["small_rng"] }
rayon = "1.8.0"
rmp-serde = "1.1.1"
serde = { version = "1.0.133", features = ["derive", "rc"] }
sn_build_info = { path="../sn_build_info", version = "0.1.8" }
sn_protocol = { path = "../sn_protocol", version = "0.17.4" }
sn_transfers = { path = "../sn_transfers", version = "0.18.7" }
sn_registers = { path = "../sn_registers", version = "0.3.14" }
sysinfo = { version = "0.30.8", default-features = false, optional = true }
thiserror = "1.0.23"
tiny-keccak = { version = "~2.0.2", features = ["sha3"] }
tokio = { version = "1.32.0", features = [
"io-util",
"macros",
"rt",
"sync",
"time",
] }
tracing = { version = "~0.1.26" }
xor_name = "5.0.0"
backoff = { version = "0.4.0", features = ["tokio"] }
aes-gcm-siv = "0.11.1"
walkdir = "~2.5.0"
strum = { version = "0.26.2", features = ["derive"] }
[dev-dependencies]
bls = { package = "blsttc", version = "8.0.1" }
libp2p-identity = { version = "0.2.7", features = ["rand"] }
quickcheck = "1.0.3"
eyre = "0.6.8"
uuid = { version = "1.5.0", features = ["v4"] }
[lints]
workspace = true
[lib]
crate-type = ["cdylib", "rlib"]
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2.12", features = ["js"] }
libp2p = { version = "0.53", features = [
"tokio",
"dns",
"kad",
"tcp",
"macros",
"request-response",
"cbor",
"identify",
"noise",
"yamux",
"websocket-websys",
"wasm-bindgen",
] }
wasmtimer = "0.2.0"
wasm-bindgen-futures = "0.4.40"