libp2p 0.57.1

Peer-to-peer networking library
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88.0"
name = "libp2p"
version = "0.57.1"
authors = ["Parity Technologies <admin@parity.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Peer-to-peer networking library"
readme = false
keywords = [
    "peer-to-peer",
    "libp2p",
    "networking",
]
categories = [
    "network-programming",
    "asynchronous",
]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
resolver = "2"

[package.metadata.docs.rs]
all-features = true

[features]
autonat = ["dep:libp2p-autonat"]
cbor = ["libp2p-request-response?/cbor"]
dcutr = [
    "dep:libp2p-dcutr",
    "libp2p-metrics?/dcutr",
]
dns = ["dep:libp2p-dns"]
ecdsa = ["libp2p-identity/ecdsa"]
ed25519 = ["libp2p-identity/ed25519"]
floodsub = ["dep:libp2p-floodsub"]
full = [
    "autonat",
    "cbor",
    "dcutr",
    "dns",
    "ecdsa",
    "ed25519",
    "floodsub",
    "gossipsub",
    "gossipsub-partial-messages",
    "identify",
    "json",
    "kad",
    "macros",
    "mdns",
    "memory-connection-limits",
    "metrics",
    "noise",
    "peer-store",
    "ping",
    "plaintext",
    "pnet",
    "quic",
    "relay",
    "rendezvous",
    "request-response",
    "rsa",
    "secp256k1",
    "serde",
    "tcp",
    "tls",
    "tokio",
    "uds",
    "webrtc-websys",
    "websocket-websys",
    "websocket",
    "webtransport-websys",
    "yamux",
    "upnp",
]
gossipsub = [
    "dep:libp2p-gossipsub",
    "libp2p-metrics?/gossipsub",
]
gossipsub-partial-messages = ["libp2p-gossipsub?/partial-messages"]
identify = [
    "dep:libp2p-identify",
    "libp2p-metrics?/identify",
]
json = ["libp2p-request-response?/json"]
kad = [
    "dep:libp2p-kad",
    "libp2p-metrics?/kad",
]
macros = ["libp2p-swarm/macros"]
mdns = ["dep:libp2p-mdns"]
memory-connection-limits = ["dep:libp2p-memory-connection-limits"]
metrics = [
    "dep:libp2p-metrics",
    "libp2p-gossipsub?/metrics",
]
noise = ["dep:libp2p-noise"]
peer-store = ["dep:libp2p-peer-store"]
ping = [
    "dep:libp2p-ping",
    "libp2p-metrics?/ping",
]
plaintext = ["dep:libp2p-plaintext"]
pnet = ["dep:libp2p-pnet"]
quic = ["dep:libp2p-quic"]
relay = [
    "dep:libp2p-relay",
    "libp2p-metrics?/relay",
]
rendezvous = ["dep:libp2p-rendezvous"]
request-response = ["dep:libp2p-request-response"]
rsa = ["libp2p-identity/rsa"]
secp256k1 = ["libp2p-identity/secp256k1"]
serde = [
    "libp2p-core/serde",
    "libp2p-kad?/serde",
    "libp2p-gossipsub?/serde",
]
tcp = ["dep:libp2p-tcp"]
tls = ["dep:libp2p-tls"]
tokio = [
    "libp2p-swarm/tokio",
    "libp2p-mdns?/tokio",
    "libp2p-tcp?/tokio",
    "libp2p-dns?/tokio",
    "libp2p-quic?/tokio",
    "libp2p-upnp?/tokio",
]
uds = ["dep:libp2p-uds"]
upnp = ["dep:libp2p-upnp"]
webrtc-websys = ["dep:libp2p-webrtc-websys"]
websocket = ["dep:libp2p-websocket"]
websocket-websys = ["dep:libp2p-websocket-websys"]
webtransport-websys = ["dep:libp2p-webtransport-websys"]
yamux = ["dep:libp2p-yamux"]

[lib]
name = "libp2p"
path = "src/lib.rs"

[dependencies.bytes]
version = "1.12"

[dependencies.either]
version = "1.16"

[dependencies.futures]
version = "0.3"

[dependencies.libp2p-allow-block-list]
version = "0.7.0"

[dependencies.libp2p-autonat]
version = "0.16.0"
optional = true

[dependencies.libp2p-connection-limits]
version = "0.7.0"

[dependencies.libp2p-core]
version = "0.44.0"

[dependencies.libp2p-dcutr]
version = "0.15.0"
optional = true

[dependencies.libp2p-floodsub]
version = "0.48.0"
optional = true

[dependencies.libp2p-gossipsub]
version = "0.50.0"
optional = true

[dependencies.libp2p-identify]
version = "0.48.0"
optional = true

[dependencies.libp2p-identity]
version = "0.3.0"
features = ["rand"]

[dependencies.libp2p-kad]
version = "0.49.0"
optional = true

[dependencies.libp2p-metrics]
version = "0.18.0"
optional = true

[dependencies.libp2p-noise]
version = "0.47.0"
optional = true

[dependencies.libp2p-peer-store]
version = "0.1.0"
optional = true

[dependencies.libp2p-ping]
version = "0.48.0"
optional = true

[dependencies.libp2p-plaintext]
version = "0.44.0"
optional = true

[dependencies.libp2p-pnet]
version = "0.27.0"
optional = true

[dependencies.libp2p-relay]
version = "0.22.0"
optional = true

[dependencies.libp2p-rendezvous]
version = "0.18.0"
optional = true

[dependencies.libp2p-request-response]
version = "0.30.0"
optional = true

[dependencies.libp2p-swarm]
version = "0.48.0"

[dependencies.libp2p-yamux]
version = "0.48.0"
optional = true

[dependencies.multiaddr]
version = "0.19"

[dependencies.pin-project]
version = "1.1"

[dependencies.rw-stream-sink]
version = "0.5.0"

[dependencies.thiserror]
version = "2"

[dev-dependencies.libp2p-mplex]
version = "0.44.0"

[dev-dependencies.libp2p-tcp]
version = "0.45.0"
features = ["tokio"]

[dev-dependencies.tokio]
version = "1.53"
features = [
    "io-util",
    "io-std",
    "macros",
    "rt",
    "rt-multi-thread",
]
default-features = false

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-dns]
version = "0.45.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-mdns]
version = "0.49.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-memory-connection-limits]
version = "0.6.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-quic]
version = "0.14.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-tcp]
version = "0.45.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-tls]
version = "0.7.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-uds]
version = "0.44.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-upnp]
version = "0.7.0"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-websocket]
version = "0.46.0"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.libp2p-webrtc-websys]
version = "0.5.0"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.libp2p-websocket-websys]
version = "0.6.0"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.libp2p-webtransport-websys]
version = "0.6.0"
optional = true

[target.'cfg(target_family="wasm")'.dependencies.futures-timer]
version = "3.0"
features = ["wasm-bindgen"]

[target.'cfg(target_family="wasm")'.dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]

[lints.clippy]
dbg_macro = "warn"
manual_let_else = "warn"
type_complexity = "allow"
unnecessary_wraps = "warn"
used_underscore_binding = "warn"

[lints.clippy.pedantic]
level = "allow"
priority = -1

[lints.rust]
unreachable_pub = "warn"