[package]
name = "synor-consensus"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Consensus rules and UTXO management for Synor blockchain"

[dependencies]
synor-types = { path = "../synor-types" }
synor-crypto = { path = "../synor-crypto" }
synor-dag = { path = "../synor-dag" }

# Data structures
smallvec = { workspace = true }
hashbrown = "0.14"
parking_lot = "0.12"
indexmap = "2.0"

# Serialization
serde = { workspace = true }
borsh = { workspace = true }

# Error handling
thiserror = { workspace = true }

# Logging
tracing = { workspace = true }

[dev-dependencies]
criterion = { workspace = true }
proptest = { workspace = true }
rand = { workspace = true }

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