[package]
name = "blockchain-zc-parser"
version = "0.1.0"
edition = "2021"
rust-version = "1.88"
description = "Zero-copy, allocation-free parser for Bitcoin/blockchain binary data"
license = "Apache-2.0"
repository = "https://github.com/cppNexus/blockchain-zc-parser"
homepage = "https://github.com/cppNexus/blockchain-zc-parser"
documentation = "https://docs.rs/blockchain-zc-parser"
keywords = ["blockchain", "bitcoin", "parser", "zero-copy", "no-alloc"]
categories = ["parser-implementations", "cryptography::cryptocurrencies"]
readme = "README.md"
include = [
  "src/**",
  "examples/**",
  "benches/**",
  "tests/**",
  "Cargo.toml",
  "README.md",
  "LICENSE-APACHE",
]

[dependencies]
sha2 = { version = "0.10", default-features = false }
thiserror = { version = "2", default-features = false }

[dev-dependencies]
criterion = { version = "0.8.2", features = ["html_reports"] }
hex-literal = "1.1.0"

[[bench]]
name = "parser_bench"
harness = false

[features]
default = ["std"]
std = []
serde = ["std", "dep:serde"]

[dependencies.serde]
version = "1"
optional = true
default-features = false
features = ["derive"]

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

[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"

[profile.bench]
inherits = "release"
debug = true
