[package]
name = "commonware-p2p"
edition.workspace = true
publish = true
version.workspace = true
license.workspace = true
description = "Communicate with authenticated peers over encrypted connections."
readme = "README.md"
homepage.workspace = true
repository = "https://github.com/commonwarexyz/monorepo/tree/main/p2p"
documentation = "https://docs.rs/commonware-p2p"

[lints]
workspace = true

[dependencies]
arbitrary = { workspace = true, optional = true, features = ["derive"] }
bytes.workspace = true
commonware-codec.workspace = true
commonware-cryptography.workspace = true
commonware-macros.workspace = true
commonware-runtime.workspace = true
commonware-stream.workspace = true
commonware-utils.workspace = true
either.workspace = true
futures.workspace = true
num-bigint.workspace = true
num-integer.workspace = true
num-rational.workspace = true
num-traits.workspace = true
prometheus-client.workspace = true
rand.workspace = true
rand_distr.workspace = true
thiserror.workspace = true
tracing.workspace = true

[dev-dependencies]
commonware-conformance.workspace = true
commonware-math.workspace = true
tracing-subscriber.workspace = true

[features]
arbitrary = [
	"commonware-codec/arbitrary",
	"commonware-cryptography/arbitrary",
	"commonware-utils/arbitrary",
	"dep:arbitrary",
	"num-bigint/arbitrary",
]

[lib]
bench = false
