[package] name = "cuprate-blockchain" version = "0.0.0" edition = "2021" description = "Cuprate's blockchain database" license = "MIT" authors = ["hinto-janai"] repository = "https://github.com/Cuprate/cuprate/tree/main/storage/cuprate-blockchain" keywords = ["cuprate", "blockchain", "database"] [features] default = ["heed", "service"] # default = ["redb", "service"] # default = ["redb-memory", "service"] heed = ["cuprate-database/heed"] redb = ["cuprate-database/redb"] redb-memory = ["cuprate-database/redb-memory"] service = ["dep:thread_local", "dep:rayon"] [dependencies] # FIXME: # We only need the `thread` feature if `service` is enabled. # Figure out how to enable features of an already pulled in dependency conditionally. cuprate-database = { path = "../database" } cuprate-database-service = { path = "../service" } cuprate-helper = { path = "../../helper", features = ["fs", "thread", "map"] } cuprate-types = { path = "../../types", features = ["blockchain"] } cuprate-pruning = { path = "../../pruning" } bitflags = { workspace = true, features = ["std", "serde", "bytemuck"] } bytemuck = { workspace = true, features = ["must_cast", "derive", "min_const_generics", "extern_crate_alloc"] } curve25519-dalek = { workspace = true } rand = { workspace = true } monero-serai = { workspace = true, features = ["std"] } serde = { workspace = true, optional = true } # `service` feature. tower = { workspace = true } thread_local = { workspace = true, optional = true } rayon = { workspace = true, optional = true } [dev-dependencies] cuprate-helper = { path = "../../helper", features = ["thread", "cast"] } cuprate-test-utils = { path = "../../test-utils" } tokio = { workspace = true, features = ["full"] } tempfile = { workspace = true } pretty_assertions = { workspace = true } proptest = { workspace = true } hex = { workspace = true } hex-literal = { workspace = true } [lints] workspace = true