[package]
name = "ergo-p2p"
version = "0.1.0"
license = "CC0-1.0"
authors = ["Denys Zadorozhnyi <denys@zadorozhnyi.com>"]
description = "Ergo peer-to-peer networking library"
repository.workspace = true
edition.workspace = true
exclude = [
    "proptest-regressions/*"
]

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
sigma-ser = { workspace = true }
sigma-util = { workspace = true }
ergo-chain-types = { workspace = true }
thiserror = { workspace = true }
derive_more = { workspace = true }
bounded-vec = { workspace = true }
proptest-derive = {workspace = true, optional = true }
futures = { workspace = true }
tracing = "0.1"
tracing-error = { version = "0.2.0", features = ["traced-error"] }
tokio = { workspace = true }
tokio-stream = { workspace = true }
tokio-util = { workspace = true }
tower = { version = "0.4.11", features = ["retry", "discover", "load", "load-shed", "timeout", "util", "buffer"] }
bytes = { workspace = true }
chrono = "0.4.19"
proptest = { workspace = true , optional = true }

[features]
arbitrary = ["proptest", "proptest-derive", "ergo-chain-types/arbitrary"]

[dev-dependencies]
sigma-test-util = { workspace = true }
ergo-p2p = { path = ".", features = ["arbitrary"] }
