[package]
name = "tycho-rpc"
description = "Public RPC service."
include = ["src/**/*.rs", "src/**/*.tl", "./LICENSE-*", "./README.md"]
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
license.workspace = true

[dependencies]
ahash = { workspace = true }
anyhow = { workspace = true }
arc-swap = { workspace = true }
axum = { workspace = true }
base64 = { workspace = true }
bitflags = { workspace = true }
bytes = { workspace = true }
futures-util = { workspace = true }
humantime = { workspace = true }
metrics = { workspace = true }
moka = { workspace = true }
parking_lot = { workspace = true }
prost = { workspace = true }
rand = { workspace = true }
scopeguard = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["rt"] }
tower = { workspace = true }
tower-http = { workspace = true, features = ["cors", "timeout"] }
tracing = { workspace = true }
tycho-types = { workspace = true }
tycho-vm = { workspace = true }
uuid = { workspace = true }
weedb = { workspace = true }

# local deps
tycho-block-util = { workspace = true }
tycho-core = { workspace = true }
tycho-storage = { workspace = true }
tycho-util = { workspace = true }
tycho-rpc-subscriptions = { workspace = true }

[dev-dependencies]
tycho-network = { workspace = true }
tycho-util = { workspace = true, features = ["test"] }
tycho-storage = { workspace = true, features = ["test"] }
tycho-core = { workspace = true, features = ["test"] }
http-body-util = { workspace = true }

[features]
default = ["http2"]
http2 = ["axum/http2"]
compression = ["tower-http/compression-gzip"]

[lints]
workspace = true
