[package]
edition = "2021"
name = "stratum-apps"
version = "0.2.0"
authors = ["The Stratum V2 Developers"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Complete Stratum V2 application development kit - all utilities in one crate"
homepage = "https://stratumprotocol.org"
documentation = "https://docs.rs/stratum-apps"
readme = "README.md"
keywords = [
"stratum",
"mining",
"bitcoin",
"protocol",
"sv2",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/stratum-mining/stratum"
[package.metadata.docs.rs]
features = [
"pool",
"jd_client",
"jd_server",
"translator",
"sv1",
"rpc",
]
[features]
config = []
core = ["stratum-core"]
default = [
"network",
"config",
"std",
]
jd_client = [
"network",
"config",
"with_buffer_pool",
"core",
"monitoring",
]
jd_server = ["config"]
mining_device = ["config"]
monitoring = [
"serde_json",
"axum",
"prometheus",
"utoipa",
"utoipa-swagger-ui",
]
network = [
"tokio-util",
"core",
]
pool = [
"network",
"config",
"with_buffer_pool",
"core",
"monitoring",
]
rpc = [
"serde_json",
"hex",
"base64",
"hyper",
"hyper-util",
"http-body-util",
]
std = [
"bs58/std",
"secp256k1/rand-std",
"rand/std",
"rand/std_rng",
]
sv1 = [
"stratum-core/sv1",
"stratum-core/translation",
"tokio-util",
"serde_json",
]
translator = [
"network",
"config",
"sv1",
"with_buffer_pool",
"core",
"monitoring",
]
with_buffer_pool = ["stratum-core/with_buffer_pool"]
[lib]
name = "stratum_apps"
path = "src/lib.rs"
[dependencies.async-channel]
version = "1.8.0"
[dependencies.axum]
version = "0.8.7"
optional = true
[dependencies.base64]
version = "0.21.5"
optional = true
[dependencies.bs58]
version = "0.4.0"
features = [
"check",
"alloc",
]
default-features = false
[dependencies.clap]
version = "4.5.39"
features = ["derive"]
[dependencies.dirs]
version = "6.0"
[dependencies.ext-config]
version = "0.14.0"
features = ["toml"]
package = "config"
[dependencies.futures]
version = "0.3.28"
[dependencies.generic-array]
version = "=0.14.7"
[dependencies.hex]
version = "0.4.3"
optional = true
[dependencies.http-body-util]
version = "0.1"
optional = true
[dependencies.hyper]
version = "1.1.0"
features = ["full"]
optional = true
[dependencies.hyper-util]
version = "0.1"
features = ["full"]
optional = true
[dependencies.miniscript]
version = "13.0.0"
default-features = false
[dependencies.prometheus]
version = "0.13"
optional = true
[dependencies.rand]
version = "0.8.5"
default-features = false
[dependencies.rustversion]
version = "1.0"
[dependencies.secp256k1]
version = "0.28.2"
features = [
"alloc",
"rand",
]
default-features = false
[dependencies.serde]
version = "1.0.89"
features = [
"derive",
"alloc",
]
default-features = false
[dependencies.serde_json]
version = "1.0"
features = [
"alloc",
"raw_value",
]
optional = true
default-features = false
[dependencies.shellexpand]
version = "3.1.1"
[dependencies.stratum-core]
version = "0.2.0"
optional = true
[dependencies.tokio]
version = "1.44.1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7.10"
features = ["codec"]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.utoipa]
version = "5.4.0"
features = ["axum_extras"]
optional = true
[dependencies.utoipa-swagger-ui]
version = "9.0.2"
features = ["axum"]
optional = true