[package]
name        = "cuprate-rpc-interface"
version     = "0.0.0"
edition     = "2021"
description = "Cuprate's RPC interface library"
license     = "MIT"
authors     = ["hinto-janai"]
repository  = "https://github.com/Cuprate/cuprate/tree/main/rpc/cuprate-rpc-interface"
keywords    = ["cuprate", "rpc", "interface"]

[features]
default  = ["dummy", "serde"]
dummy    = ["dep:cuprate-helper", "dep:futures"]

[dependencies]
cuprate-epee-encoding = { workspace = true, default-features = false }
cuprate-json-rpc      = { workspace = true, default-features = false }
cuprate-rpc-types     = { workspace = true, features = ["serde", "epee", "from"], default-features = false }
cuprate-helper        = { workspace = true, features = ["asynch"], default-features = false, optional = true }

anyhow     = { workspace = true }
axum       = { version = "0.7.5", features = ["json"], default-features = false }
serde      = { workspace = true, optional = true }
tower      = { workspace = true, features = ["util"] }
paste      = { workspace = true }
futures    = { workspace = true, optional = true }

[dev-dependencies]
cuprate-test-utils = { workspace = true }

axum       = { version = "0.7.5", features = ["json", "tokio", "http2"] }
serde_json = { workspace = true, features = ["std"] }
tokio      = { workspace = true, features = ["full"] }
ureq       = { version = "2.10.1", features = ["json"] }

[lints]
workspace = true