[package]
name = "bitcoin_hashes"
version = "0.14.0"
authors = ["Andrew Poelstra <apoelstra@wpsoftware.net>"]
license = "CC0-1.0"
repository = "https://github.com/rust-bitcoin/rust-bitcoin"
documentation = "https://docs.rs/bitcoin_hashes/"
description = "Hash functions used by the rust-bitcoin eccosystem"
categories = ["algorithms"]
keywords = [ "crypto", "bitcoin", "hash", "digest" ]
readme = "README.md"
edition = "2021"
rust-version = "1.56.1"
exclude = ["tests", "contrib"]

[features]
default = ["std"]
std = ["alloc", "hex/std", "bitcoin-io/std"]
alloc = ["hex/alloc"]
# If you want I/O you must enable either "std" or "io".
io = ["bitcoin-io"]
# Smaller (but slower) implementation of sha256, sha512 and ripemd160
small-hash = []

[dependencies]
hex = { package = "hex-conservative", version = "0.2.0", default-features = false }

bitcoin-io = { version = "0.1.1", default-features = false, optional = true }
schemars = { version = "0.8.3", default-features = false, optional = true }
serde = { version = "1.0", default-features = false, optional = true }

[dev-dependencies]
serde_test = "1.0"
serde_json = "1.0"

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

[lints.rust]
unexpected_cfgs = { level = "deny", check-cfg = ['cfg(bench)', 'cfg(hashes_fuzz)', 'cfg(rust_v_1_64)' ] }
