linera-rpc 0.13.1

RPC schemas and networking library for the Linera protocol.
[package]
name = "linera-rpc"
description = "RPC schemas and networking library for the Linera protocol."
readme = "README.md"
documentation = "https://docs.rs/linera-rpc/latest/linera_rpc/"

authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
version.workspace = true

[features]
test = [
    "linera-base/test",
    "linera-chain/test",
    "linera-core/test",
    "linera-execution/test",
    "linera-storage/test",
]

metrics = [
    "prometheus",
    "linera-base/metrics",
    "linera-chain/metrics",
    "linera-core/metrics",
    "linera-execution/metrics",
    "linera-storage/metrics",
]

server = ["tokio-util", "tonic-health", "tonic-reflection"]
simple-network = ["tokio-util/net"]

web = [
    "linera-base/web",
    "linera-chain/web",
    "linera-core/web",
    "linera-execution/web",
]

web-default = ["web"]

[dependencies]
anyhow.workspace = true
async-trait.workspace = true
bincode.workspace = true
bytes.workspace = true
cfg-if.workspace = true
clap.workspace = true
dashmap.workspace = true
ed25519-dalek.workspace = true
futures.workspace = true
linera-base.workspace = true
linera-chain.workspace = true
linera-core.workspace = true
linera-execution.workspace = true
linera-storage.workspace = true
linera-version.workspace = true
prometheus = { workspace = true, optional = true }
prost.workspace = true
rand.workspace = true
serde.workspace = true
thiserror.workspace = true
tokio.workspace = true
tokio-util = { workspace = true, optional = true, features = ["codec"] }
tonic-health = { workspace = true, optional = true }
tonic-reflection = { workspace = true, optional = true }
tower.workspace = true
tracing.workspace = true

[dev-dependencies]
insta = { workspace = true, features = ["yaml"] }
linera-rpc = { path = ".", default-features = false, features = ["test"] }
proptest.workspace = true
serde-reflection.workspace = true
test-strategy.workspace = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tonic = { workspace = true, features = ["tls", "tls-webpki-roots", "prost", "codegen", "transport"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
tonic = { workspace = true, features = ["codegen", "prost"] }
tonic-web-wasm-client.workspace = true

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test.workspace = true

[build-dependencies]
cfg_aliases.workspace = true
rcgen.workspace = true
tonic-build = { workspace = true, features = ["prost"] }

[package.metadata.cargo-machete]
ignored = ["prost"]