[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:crossbeam", "dep:futures", "dep:tokio", "dep:tokio-util", "dep:tower", "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-helper = { path = "../../helper", features = ["fs", "thread", "map"] } cuprate-types = { path = "../../types", features = ["blockchain"] } bitflags = { workspace = true, features = ["serde", "bytemuck"] } bytemuck = { version = "1.14.3", features = ["must_cast", "derive", "min_const_generics", "extern_crate_alloc"] } curve25519-dalek = { workspace = true } cuprate-pruning = { path = "../../pruning" } monero-serai = { workspace = true, features = ["std"] } paste = { workspace = true } # `service` feature. crossbeam = { workspace = true, features = ["std"], optional = true } futures = { workspace = true, optional = true } tokio = { workspace = true, features = ["full"], optional = true } tokio-util = { workspace = true, features = ["full"], optional = true } tower = { workspace = true, features = ["full"], optional = true } thread_local = { workspace = true } rayon = { workspace = true, optional = true } [dev-dependencies] cuprate-helper = { path = "../../helper", features = ["thread"] } cuprate-test-utils = { path = "../../test-utils" } bytemuck = { version = "1.14.3", features = ["must_cast", "derive", "min_const_generics", "extern_crate_alloc"] } tempfile = { version = "3.10.0" } pretty_assertions = { workspace = true } hex = { workspace = true } hex-literal = { workspace = true }