[package]
name = "network_helpers_sv2"
version = "3.0.0"
authors = ["The Stratum V2 Developers"]
edition = "2018"
description = "Networking utils for SV2 roles"
documentation = "https://docs.rs/network_helpers_sv2"
homepage = "https://stratumprotocol.org"
repository = "https://github.com/stratum-mining/stratum"
license = "MIT OR Apache-2.0"
keywords = ["stratum", "mining", "bitcoin", "protocol"]


# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
async-std = { version = "1.8.0", optional = true }
async-channel = { version = "1.8.0", optional = true }
tokio = { version = "1", features = ["full"] }
binary_sv2 = { path = "../../../protocols/v2/binary-sv2", version = "^2.0.0", optional = true }
codec_sv2 = { path = "../../../protocols/v2/codec-sv2", version = "^2.0.0", features=["noise_sv2"], optional = true }
const_sv2 = {path = "../../../protocols/v2/const-sv2", version = "^4.0.0"}
sv1_api = { path = "../../../protocols/v1/", version = "^1.0.0", optional = true }
tracing = { version = "0.1" }
futures = "0.3.28"
tokio-util = { version = "0.7.10", default-features = false, features = ["codec"], optional = true }
serde_json = { version = "1.0.138", default-features = false, optional = true }

[features]
default = ["async-channel", "binary_sv2", "codec_sv2"]
with_buffer_pool = ["codec_sv2/with_buffer_pool"]
sv1 = ["sv1_api", "tokio-util", "serde_json"]

[package.metadata.docs.rs]
features = ["with_buffer_pool", "sv1"]