[package]
edition = "2021"
rust-version = "1.56.1"
name = "bitcoin"
version = "0.32.9"
authors = ["Andrew Poelstra <apoelstra@wpsoftware.net>"]
build = "build.rs"
exclude = [
"tests",
"contrib",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "General purpose library for using and interoperating with Bitcoin."
documentation = "https://docs.rs/bitcoin/"
readme = "README.md"
keywords = [
"crypto",
"bitcoin",
]
categories = ["cryptography::cryptocurrencies"]
license = "CC0-1.0"
repository = "https://github.com/rust-bitcoin/rust-bitcoin/"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
arbitrary = [
"actual-arbitrary",
"units/arbitrary",
]
bitcoinconsensus-std = [
"bitcoinconsensus/std",
"std",
]
default = [
"std",
"secp-recovery",
]
rand = ["secp256k1/rand"]
rand-std = [
"secp256k1/rand-std",
"std",
]
secp-lowmemory = ["secp256k1/lowmemory"]
secp-recovery = ["secp256k1/recovery"]
serde = [
"actual-serde",
"hashes/serde",
"secp256k1/serde",
"internals/serde",
"units/serde",
]
std = [
"base58/std",
"bech32/std",
"hashes/std",
"hex/std",
"internals/std",
"io/std",
"secp256k1/std",
"units/std",
]
[lib]
name = "bitcoin"
path = "src/lib.rs"
[[example]]
name = "bip32"
path = "examples/bip32.rs"
[[example]]
name = "ecdsa-psbt"
path = "examples/ecdsa-psbt.rs"
required-features = [
"std",
"bitcoinconsensus",
]
[[example]]
name = "handshake"
path = "examples/handshake.rs"
required-features = [
"std",
"rand-std",
]
[[example]]
name = "sighash"
path = "examples/sighash.rs"
[[example]]
name = "sign-tx-segwit-v0"
path = "examples/sign-tx-segwit-v0.rs"
required-features = [
"std",
"rand-std",
]
[[example]]
name = "sign-tx-taproot"
path = "examples/sign-tx-taproot.rs"
required-features = [
"std",
"rand-std",
]
[[example]]
name = "taproot-psbt"
path = "examples/taproot-psbt.rs"
required-features = [
"std",
"rand-std",
"bitcoinconsensus",
]
[dependencies.actual-arbitrary]
version = "1.0.1"
optional = true
package = "arbitrary"
[dependencies.actual-serde]
version = "1.0.103"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
package = "serde"
[dependencies.base58]
version = "0.1.0"
default-features = false
package = "base58ck"
[dependencies.base64]
version = "0.21.3"
optional = true
[dependencies.bech32]
version = "0.11.0"
features = ["alloc"]
default-features = false
[dependencies.bitcoinconsensus]
version = "0.105.0+25.1"
optional = true
default-features = false
[dependencies.hashes]
version = "0.14.0"
features = [
"alloc",
"io",
]
default-features = false
package = "bitcoin_hashes"
[dependencies.hex]
version = "0.2.2"
features = ["alloc"]
default-features = false
package = "hex-conservative"
[dependencies.hex_lit]
version = "0.1.1"
[dependencies.internals]
version = "0.3.0"
features = ["alloc"]
package = "bitcoin-internals"
[dependencies.io]
version = "0.1.1"
features = ["alloc"]
default-features = false
package = "bitcoin-io"
[dependencies.ordered]
version = "0.2.0"
optional = true
[dependencies.secp256k1]
version = "0.29.0"
features = [
"hashes",
"alloc",
]
default-features = false
[dependencies.units]
version = "0.1.0"
features = ["alloc"]
default-features = false
package = "bitcoin-units"
[dev-dependencies.bincode]
version = "1.3.1"
[dev-dependencies.serde_json]
version = "1.0.0"
[dev-dependencies.serde_test]
version = "1.0.19"
[target."cfg(mutate)".dev-dependencies]
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = [
"cfg(bench)",
"cfg(fuzzing)",
"cfg(kani)",
"cfg(mutate)",
"cfg(rust_v_1_60)",
"cfg(rust_v_1_61)",
]