[package]
name = "cuprate-consensus"
version = "0.1.0"
edition = "2021"
description = "A crate implementing all Moneros consensus rules."
license = "MIT"
authors = ["Boog900"]
repository = "https://github.com/Cuprate/cuprate/tree/main/consensus"

[dependencies]
cuprate-helper = { path = "../helper", default-features = false, features = ["std", "asynch", "num"] }
cuprate-consensus-rules = { path = "./rules", features = ["rayon"] }
cuprate-types = { path = "../types" }

cfg-if = { workspace = true }
thiserror = { workspace = true }
tower = { workspace = true, features = ["util"] }
tracing = { workspace = true, features = ["std", "attributes"] }
futures = { workspace = true, features = ["std", "async-await"] }

randomx-rs = { workspace = true }
monero-serai = { workspace = true, features = ["std"] }

rayon = { workspace = true }
thread_local = { workspace = true }
tokio = { workspace = true, features = ["rt"] }
tokio-util = { workspace = true }

hex = { workspace = true }
rand = { workspace = true }

[dev-dependencies]
cuprate-test-utils = { path = "../test-utils" }
cuprate-consensus-rules =  {path = "./rules", features = ["proptest"]}

hex-literal = { workspace = true }
curve25519-dalek = { workspace = true }

tokio = { workspace = true, features = ["rt-multi-thread", "macros"]}
tokio-test = { workspace = true }
proptest = { workspace = true }
proptest-derive = { workspace = true }

[lints]
workspace = true