[package]
name = "pocx_aggregator"
version = "1.0.2"
license = "MIT"
authors = ["Proof of Capacity Consortium"]
description = "High-performance mining aggregator for PoCX protocol"
homepage = "https://bitcoin-pocx.org/"
repository = "https://github.com/PoC-Consortium/pocx"
documentation = "https://github.com/PoC-Consortium/pocx/wiki"
keywords = ["poc", "cryptocurrency", "mining", "aggregator"]
categories = ["cryptography", "network-programming"]
readme = "README.md"
edition = "2021"
rust-version = "1.91.0"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lib]
name = "pocx_aggregator"
path = "src/lib.rs"

[[bin]]
name = "pocx_aggregator"
path = "src/main.rs"

[dependencies]
# Protocol - workspace crate
pocx_protocol = { version = "1.0.2", path = "../pocx_protocol" }

# Async runtime
tokio = { workspace = true }
futures = { workspace = true }

# Web framework
axum = { workspace = true }

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }

# Logging
log = { workspace = true }
env_logger = "0.11"

# Error handling
thiserror = { workspace = true }

# CLI
clap = { workspace = true }

# Database
diesel = { workspace = true }
diesel_migrations = { workspace = true }
libsqlite3-sys = { workspace = true }

# Utilities
chrono = { workspace = true }
url = { workspace = true }
base64 = { workspace = true }
num-bigint = "0.4"
num-traits = "0.2"
bytesize = "2.1"

[dev-dependencies]
tempfile = { workspace = true }
mockito = { workspace = true }
