[package]
edition = "2021"
rust-version = "1.82"
name = "blvm-protocol"
version = "0.1.10"
authors = ["Bitcoin Commons Team"]
build = false
include = [
"Cargo.toml",
"src/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bitcoin Commons BLVM: Bitcoin protocol abstraction layer for multiple variants and evolution"
homepage = "https://btcdecoded.org"
documentation = "https://docs.rs/blvm-protocol"
readme = "README.md"
keywords = [
"bitcoin",
"protocol",
"blockchain",
"network",
"consensus",
]
categories = [
"cryptography::cryptocurrencies",
"network-programming",
]
license = "MIT"
repository = "https://github.com/BTCDecoded/blvm-protocol"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
benchmarking = ["blvm-consensus/benchmarking"]
bip324 = [
"dep:chacha20poly1305",
"dep:aead",
"dep:getrandom",
"dep:hkdf",
]
ctv = ["blvm-consensus/ctv"]
dandelion = []
erlay = []
parallel-verification = ["dep:rayon"]
production = [
"blvm-consensus/production",
"dep:smallvec",
"dep:lru",
"dep:rayon",
]
profile = ["blvm-consensus/profile"]
protocol-verification = ["dep:blvm-spec-lock"]
test-utils = []
utxo-commitments = [
"sparse-merkle-tree",
"dep:rand",
"dep:blvm-spec-lock",
]
utxo-proof-verification = []
[lib]
name = "blvm_protocol"
path = "src/lib.rs"
[dependencies.aead]
version = "=0.5.2"
optional = true
[dependencies.anyhow]
version = "=1.0.93"
[dependencies.bech32]
version = "=0.9"
[dependencies.bincode]
version = "=1.3.3"
[dependencies.blvm-consensus]
version = "0.1.16"
[dependencies.blvm-secp256k1]
version = ">=0.1, <1"
[dependencies.blvm-spec-lock]
version = ">=0.1, <1"
optional = true
default-features = false
[dependencies.chacha20poly1305]
version = "=0.10.1"
optional = true
[dependencies.getrandom]
version = "=0.2"
optional = true
[dependencies.hex]
version = "=0.4.3"
[dependencies.hkdf]
version = "=0.12.4"
optional = true
[dependencies.lru]
version = "=0.12"
optional = true
[dependencies.rand]
version = "=0.8.5"
optional = true
[dependencies.rayon]
version = "=1.10"
optional = true
[dependencies.ripemd]
version = "=0.1.3"
[dependencies.serde]
version = "=1.0.228"
features = ["derive"]
[dependencies.serde_bytes]
version = "=0.11.19"
[dependencies.serde_json]
version = "=1.0.108"
[dependencies.sha2]
version = "=0.10.9"
[dependencies.smallvec]
version = "=1.15.1"
features = ["serde"]
optional = true
[dependencies.sparse-merkle-tree]
version = "=0.6"
optional = true
[dependencies.thiserror]
version = "=1.0.69"
[dependencies.tracing]
version = "=0.1.41"
[dev-dependencies.blvm-primitives]
version = ">=0.1, <1"
default-features = false
[dev-dependencies.blvm-secp256k1]
version = ">=0.1, <1"
[profile.release-fast]
opt-level = 2
inherits = "release"