[package]
name = "fuel-core-p2p"
version = { workspace = true }
authors = { workspace = true }
categories = ["cryptography::cryptocurrencies", "network-programming"]
edition = { workspace = true }
homepage = { workspace = true }
keywords = ["blockchain", "cryptocurrencies", "fuel-core-p2p", "networking"]
license = { workspace = true }
repository = { workspace = true }
description = "Fuel client networking"
[dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true }
fuel-core-chain-config = { workspace = true }
fuel-core-metrics = { workspace = true }
fuel-core-services = { workspace = true }
fuel-core-storage = { workspace = true }
fuel-core-types = { workspace = true, features = ["serde"] }
futures = { workspace = true }
hex = "0.4"
ip_network = "0.4"
libp2p = { version = "0.53.2", default-features = false, features = [
"dns",
"gossipsub",
"identify",
"kad",
"macros",
"mdns",
"noise",
"request-response",
"secp256k1",
"tcp",
"tokio",
"yamux",
"websocket",
] }
libp2p-mplex = "0.41.0"
postcard = { workspace = true, features = ["use-std"] }
prometheus-client = { workspace = true }
quick-protobuf = "0.8.1"
quick-protobuf-codec = "0.3.0"
rand = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_with = { workspace = true }
sha2 = "0.10"
thiserror = "1.0.47"
tokio = { workspace = true, features = ["sync"] }
tracing = { workspace = true }
void = "1"
[dev-dependencies]
ctor = "0.1"
fuel-core-p2p = { path = ".", features = ["test-helpers"] }
fuel-core-trace = { path = "../../trace" }
fuel-core-types = { path = "../../types", features = ["serde", "test-helpers"] }
rand = { workspace = true }
tokio = { workspace = true, features = ["full", "test-util"] }
tracing-attributes = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
[dev-dependencies.libp2p-swarm-test]
version = "0.3.0"
[features]
test-helpers = ["fuel-core-types/test-helpers"]