[package] authors = ["MaidSafe Developers "] 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.19.5" [features] default = [] local = ["libp2p/mdns"] upnp = ["libp2p/upnp"] # tcp is automatically enabled when compiling for wasm32 websockets = ["libp2p/tcp"] open-metrics = ["libp2p/metrics", "prometheus-client", "hyper", "sysinfo"] encrypt-records = [] loud = [] [dependencies] lazy_static = "~1.4.0" libp2p = { version = "0.54.1", features = [ "tokio", "dns", "kad", "macros", "request-response", "cbor", "identify", "quic", "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" self_encryption = "~0.30.0" serde = { version = "1.0.133", features = ["derive", "rc"] } sn_build_info = { path = "../sn_build_info", version = "0.1.19" } sn_protocol = { path = "../sn_protocol", version = "0.17.15" } sn_transfers = { path = "../sn_transfers", version = "0.20.3" } sn_registers = { path = "../sn_registers", version = "0.4.3" } sn_evm = { path = "../sn_evm", version = "0.1.4" } 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" hkdf = "0.12" sha2 = "0.10" walkdir = "~2.5.0" strum = { version = "0.26.2", features = ["derive"] } void = "1.0.2" [dev-dependencies] assert_fs = "1.0.0" bls = { package = "blsttc", version = "8.0.1" } # add rand to libp2p 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 # wasm build requirements [lib] crate-type = ["cdylib", "rlib"] [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2.12", features = ["js"] } libp2p = { version = "0.54.1", 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"