[package]
name = "chainfire-api"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
description = "gRPC API layer for Chainfire distributed KVS"

[features]
default = ["custom-raft"]
custom-raft = []

[dependencies]
chainfire-types = { workspace = true }
chainfire-storage = { workspace = true }
chainfire-raft = { workspace = true, default-features = false, features = ["custom-raft"] }
chainfire-watch = { workspace = true }

# gRPC
tonic = { workspace = true }
prost = { workspace = true }
prost-types = { workspace = true }

# Async
tokio = { workspace = true }
tokio-stream = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }

# Serialization
bincode = { workspace = true }

# Utilities
tracing = { workspace = true }

[build-dependencies]
tonic-build = { workspace = true }

[dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }

[lints]
workspace = true
