[package]
name         = "tsoracle"
version      = "2.0.3"
edition.workspace      = true
rust-version.workspace = true
license.workspace      = true
repository.workspace   = true
description  = "Standalone timestamp oracle server"
readme       = "README.md"
publish      = true

[[bin]]
name = "tsoracle"
path = "src/main.rs"

[features]
default    = ["file", "openraft", "paxos"]
file       = ["tsoracle-standalone/file"]
openraft   = ["tsoracle-standalone/openraft"]
paxos      = ["tsoracle-standalone/paxos"]
reflection = ["tsoracle-server/reflection"]
bt         = ["tsoracle-server/bt"]

[dependencies]
anyhow                = "1"
humantime             = "2"
clap                  = { workspace = true }
tokio                 = { workspace = true, features = ["signal"] }
tracing               = { workspace = true }
tracing-subscriber    = { workspace = true }
tonic                 = { workspace = true, features = ["tls-aws-lc"] }
tsoracle-core         = { path = "../tsoracle-core", version = "2.2.0" }
tsoracle-server       = { path = "../tsoracle-server", version = "3.1.0" }
tsoracle-standalone   = { path = "../tsoracle-standalone", version = "1.1.3", default-features = false }

[dev-dependencies]
tsoracle-client    = { path = "../tsoracle-client" }
tsoracle-consensus = { path = "../tsoracle-consensus" }
tsoracle-driver-file = { path = "../tsoracle-driver-file" }
async-trait        = { workspace = true }
futures            = { workspace = true }
parking_lot        = { workspace = true }
rcgen              = { workspace = true }
tokio-stream       = { workspace = true }
tempfile           = { workspace = true }
tokio              = { workspace = true, features = ["process"] }
