[package]
edition = "2018"
name = "bitcoin"
version = "0.31.3"
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]
bitcoinconsensus-std = [
"bitcoinconsensus/std",
"std",
]
default = [
"std",
"secp-recovery",
]
no-std = [
"core2",
"hashes/alloc",
"hashes/core2",
"bech32/alloc",
"secp256k1/alloc",
"hex/alloc",
"hex/core2",
]
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",
]
std = [
"secp256k1/std",
"hashes/std",
"bech32/std",
"internals/std",
"hex/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 = "taproot-psbt"
path = "examples/taproot-psbt.rs"
required-features = [
"std",
"rand-std",
"bitcoinconsensus",
]
[dependencies.actual-serde]
version = "1.0.103"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
package = "serde"
[dependencies.base64]
version = "0.21.3"
optional = true
[dependencies.bech32]
version = "0.10.0-beta"
default-features = false
[dependencies.bitcoinconsensus]
version = "0.20.2-0.5.0"
optional = true
default-features = false
[dependencies.core2]
version = "0.3.2"
features = ["alloc"]
optional = true
default-features = false
[dependencies.hashes]
version = "0.13.0"
default-features = false
package = "bitcoin_hashes"
[dependencies.hex]
version = "0.1.1"
default-features = false
package = "hex-conservative"
[dependencies.hex_lit]
version = "0.1.1"
[dependencies.internals]
version = "0.2.0"
package = "bitcoin-internals"
[dependencies.secp256k1]
version = "0.28.0"
features = ["hashes"]
default-features = false
[dev-dependencies.bincode]
version = "1.3.1"
[dev-dependencies.serde_derive]
version = "1.0.103"
[dev-dependencies.serde_json]
version = "1.0.0"
[dev-dependencies.serde_test]
version = "1.0.19"
[target."cfg(mutate)".dev-dependencies]
[lints.clippy]
legacy_numeric_constants = "allow"
manual_range_contains = "allow"
needless_question_mark = "allow"
precedence = "allow"
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = [
"cfg(bench)",
"cfg(fuzzing)",
"cfg(kani)",
"cfg(rust_v_1_53)",
"cfg(rust_v_1_60)",
"cfg(mutate)",
]