[package]
name         = "tsoracle-client"
version      = "0.2.4"
edition.workspace      = true
rust-version.workspace = true
license.workspace      = true
repository.workspace   = true
homepage.workspace     = true
readme.workspace       = true
description  = "gRPC client driver for the timestamp oracle."
documentation = "https://docs.rs/tsoracle-client"
keywords      = ["tsoracle", "grpc", "client", "timestamp", "oracle"]
categories    = ["network-programming", "database", "api-bindings"]

[features]
default    = ["tls-rustls", "tracing"]
metrics    = ["dep:metrics"]
tls-rustls = ["tonic/tls-aws-lc"]
tls-native = ["tonic/tls-native-roots"]
tracing    = ["dep:tracing"]
bt         = ["tsoracle-core/bt"]

[package.metadata.docs.rs]
features       = ["tls-rustls", "tracing", "metrics"]
rustdoc-args   = ["--cfg", "docsrs"]

[dependencies]
futures        = { workspace = true }
metrics        = { workspace = true, optional = true }
parking_lot    = { workspace = true }
prost          = { workspace = true }
rand           = { workspace = true, features = ["thread_rng"] }
thiserror      = { workspace = true }
tokio          = { workspace = true }
tonic          = { workspace = true }
tracing        = { workspace = true, optional = true }
tsoracle-core  = { path = "../tsoracle-core", version = "0.2.3" }
tsoracle-proto = { path = "../tsoracle-proto", version = "0.2.1" }

[dev-dependencies]
metrics-util       = { workspace = true }
proptest           = { workspace = true }
tokio              = { workspace = true, features = ["test-util"] }
tracing-subscriber = { workspace = true }
