[package]
edition = "2024"
name = "richat-shared"
version = "8.0.0"
authors = [
"Lamports Dev",
"Triton One",
]
build = "build.rs"
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Richat Shared code"
homepage = "https://lamports.dev"
readme = false
keywords = ["solana"]
license = "Apache-2.0"
repository = "https://github.com/lamports-dev/richat"
resolver = "2"
[features]
config = [
"dep:affinity-linux",
"dep:base64",
"dep:bs58",
"dep:human-size",
"dep:json5",
"dep:rcgen",
"dep:regex",
"dep:rustls",
"dep:rustls-pemfile",
"dep:serde",
"dep:serde_yaml",
"dep:solana-clock",
"dep:solana-pubkey",
"dep:solana-signature",
"dep:thiserror",
"dep:tokio",
"dep:toml",
"five8",
]
default = [
"config",
"five8",
"jsonrpc",
"tracing",
"transports",
"version",
]
five8 = [
"dep:five8",
"dep:solana-pubkey",
"dep:solana-signature",
]
jsonrpc = [
"dep:anyhow",
"dep:futures",
"dep:http-body-util",
"dep:hyper",
"dep:jsonrpc-core",
"dep:jsonrpsee-types",
"dep:metrics",
"dep:richat-metrics",
"dep:quanta",
"dep:serde",
"dep:serde_json",
"dep:solana-rpc-client-api",
]
tracing = [
"dep:serde",
"dep:thiserror",
"dep:tracing",
"dep:tracing-subscriber",
]
transports = [
"dep:anyhow",
"dep:futures",
"dep:humantime-serde",
"dep:prost",
"dep:protoc-bin-vendored",
"dep:quinn",
"dep:richat-proto",
"dep:socket2",
"dep:tonic",
"dep:tonic-build",
"dep:tracing",
"config",
"version",
]
version = [
"dep:hostname",
"dep:serde",
"dep:serde_json",
]
[lib]
name = "richat_shared"
path = "src/lib.rs"
[dependencies.affinity-linux]
version = "1.0.0"
optional = true
[dependencies.anyhow]
version = "1.0.62"
optional = true
[dependencies.base64]
version = "0.22.1"
optional = true
[dependencies.bs58]
version = "0.5.1"
optional = true
[dependencies.five8]
version = "1.0.0"
optional = true
[dependencies.futures]
version = "0.3.31"
optional = true
[dependencies.hostname]
version = "0.4.0"
optional = true
[dependencies.http-body-util]
version = "0.1.2"
optional = true
[dependencies.human-size]
version = "0.4.3"
optional = true
[dependencies.humantime-serde]
version = "1.1.1"
optional = true
[dependencies.hyper]
version = "1.4.1"
optional = true
[dependencies.json5]
version = "0.4.1"
optional = true
[dependencies.jsonrpc-core]
version = "18.0.0"
optional = true
[dependencies.jsonrpsee-types]
version = "0.26.0"
optional = true
[dependencies.metrics]
version = "0.24.1"
optional = true
[dependencies.prost]
version = "0.14.1"
optional = true
[dependencies.quanta]
version = "0.12.5"
optional = true
[dependencies.quinn]
version = "0.11.6"
optional = true
[dependencies.rcgen]
version = "0.14.0"
optional = true
[dependencies.regex]
version = "1.11.1"
optional = true
[dependencies.richat-metrics]
version = "1.0.1"
optional = true
[dependencies.richat-proto]
version = "8.0.0"
optional = true
[dependencies.rustls]
version = "0.23.20"
features = [
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2.2.0"
optional = true
[dependencies.serde]
version = "1.0.145"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.86"
optional = true
[dependencies.serde_yaml]
version = "0.9.33"
optional = true
[dependencies.socket2]
version = "0.6.0"
optional = true
[dependencies.solana-clock]
version = "3.0.0"
optional = true
[dependencies.solana-pubkey]
version = "3.0.0"
optional = true
[dependencies.solana-rpc-client-api]
version = "~3.1.0"
optional = true
[dependencies.solana-signature]
version = "3.1.0"
optional = true
[dependencies.thiserror]
version = "2.0.7"
optional = true
[dependencies.tokio]
version = "1.42.0"
features = [
"rt-multi-thread",
"macros",
"fs",
]
optional = true
[dependencies.tokio-util]
version = "0.7.16"
[dependencies.toml]
version = "0.9.11"
optional = true
[dependencies.tonic]
version = "0.14.1"
features = [
"tls-native-roots",
"gzip",
"zstd",
]
optional = true
[dependencies.tonic-prost]
version = "0.14.1"
[dependencies.tracing]
version = "0.1.41"
optional = true
[dependencies.tracing-subscriber]
version = "0.3.19"
features = [
"ansi",
"env-filter",
"json",
]
optional = true
[build-dependencies.anyhow]
version = "1.0.62"
optional = true
[build-dependencies.protoc-bin-vendored]
version = "3.2.0"
optional = true
[build-dependencies.tonic-build]
version = "0.14.1"
optional = true
[lints.clippy]
clone_on_ref_ptr = "deny"
missing_const_for_fn = "deny"
trivially_copy_pass_by_ref = "deny"