[package]
name = "bitcoin-serai"
version = "0.3.0"
description = "A Bitcoin library for FROST-signing transactions"
license = "MIT"
repository = "https://github.com/serai-dex/serai/tree/develop/coins/bitcoin"
authors = ["Luke Parker <lukeparker5132@gmail.com>", "Vrx <vrx00@proton.me>"]
edition = "2021"

[dependencies]
std-shims = { version = "0.1.1", path = "../../common/std-shims", default-features = false }

thiserror = { version = "1", optional = true }

zeroize = { version = "^1.5", default-features = false }
rand_core = { version = "0.6", default-features = false }

sha2 = { version = "0.10", default-features = false }

secp256k1 = { version = "0.27", default-features = false }
bitcoin = { version = "0.30", default-features = false, features = ["no-std"] }

k256 = { version = "^0.13.1", default-features = false, features = ["arithmetic", "bits"] }

transcript = { package = "flexible-transcript", path = "../../crypto/transcript", version = "0.3", features = ["recommended"], optional = true }
frost = { package = "modular-frost", path = "../../crypto/frost", version = "0.8", features = ["secp256k1"], optional = true }

hex = { version = "0.4", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
reqwest = { version = "0.11", features = ["json"], optional = true }

[dev-dependencies]
frost = { package = "modular-frost", path = "../../crypto/frost", features = ["tests"] }

tokio = { version = "1", features = ["full"] }

[features]
std = [
  "std-shims/std",

  "thiserror",

  "zeroize/std",
  "rand_core/std",

  "sha2/std",

  "secp256k1/std",
  "bitcoin/std",
  "bitcoin/serde",

  "k256/std",

  "transcript",
  "frost",

  "hex",
  "serde",
  "serde_json",
  "reqwest"
]
hazmat = []
default = ["std"]