[package]
name = "chia-consensus"
version.workspace = true
edition = "2024"
license = "Apache-2.0"
description = "Utility functions and types used by the Chia blockchain full node"
authors = ["Richard Kiss <him@richardkiss.com>", "Arvid Norberg <arvid@chia.net>"]
homepage = "https://github.com/Chia-Network/chia_rs"
repository = "https://github.com/Chia-Network/chia_rs"

[lints]
workspace = true

[features]
py-bindings = [
    "dep:pyo3",
    "dep:chia_py_streamable_macro",
    "chia-traits/py-bindings",
    "chia-protocol/py-bindings"
]

[dependencies]
bitflags = { workspace = true }
clvmr = { workspace = true }
hex = { workspace = true }
pyo3 = { workspace = true, optional = true }
chia_streamable_macro = { workspace = true }
chia_py_streamable_macro = { workspace = true, optional = true }
clvm-utils = { workspace = true }
chia-sha2 = { workspace = true }
chia-traits = { workspace = true }
clvm-traits = { workspace = true }
chia-protocol = { workspace = true }
chia-puzzle-types = { workspace = true }
chia-puzzles = { workspace = true }
chia-bls = { workspace = true }
hex-literal = { workspace = true }
thiserror = { workspace = true }

[dev-dependencies]
num-traits = { workspace = true }
rstest = { workspace = true }
text-diff = { workspace = true }
criterion = { workspace = true }
rand = { workspace = true, features = [ "small_rng" ] }
blocking-threadpool = { workspace = true }

[lib]
bench = false

[[bench]]
name = "run-generator"
harness = false

[[bench]]
name = "tree-hash"
harness = false

[[bench]]
name = "merkle-set"
harness = false
