[package]
name = "jsonrpsee-core"
description = "Utilities for jsonrpsee"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
documentation.workspace = true
homepage.workspace = true
keywords.workspace = true
readme.workspace = true
publish = true
[dependencies]
async-trait = "0.1"
jsonrpsee-types = { workspace = true }
thiserror = "1"
serde = { version = "1.0", default-features = false, features = ["derive"] }
serde_json = { version = "1", features = ["raw_value"] }
tracing = "0.1.34"
futures-util = { version = "0.3.14", default-features = false, optional = true }
http = { version = "1.1", default-features = false, optional = true }
bytes = { version = "1.6", optional = true }
http-body = { version = "1", optional = true }
http-body-util = { version = "0.1.1", optional = true }
rustc-hash = { version = "2", optional = true }
rand = { version = "0.8", optional = true }
parking_lot = { version = "0.12", optional = true }
tokio = { version = "1.23.1", optional = true }
futures-timer = { version = "3", optional = true }
tokio-stream = { version = "0.1", optional = true }
pin-project = { version = "1", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-futures = { version = "0.4.19", optional = true }
[features]
default = []
http-helpers = ["bytes", "futures-util", "http-body", "http-body-util", "http"]
server = ["futures-util/alloc", "rustc-hash/std", "parking_lot", "rand", "tokio/rt", "tokio/sync", "tokio/macros", "tokio/time", "http"]
client = ["futures-util/sink", "tokio/sync"]
async-client = [
"client",
"futures-util/alloc",
"rustc-hash",
"tokio/macros",
"tokio/rt",
"tokio/time",
"futures-timer",
"tokio-stream",
"pin-project",
]
async-wasm-client = [
"client",
"futures-util/alloc",
"wasm-bindgen-futures",
"rustc-hash/std",
"futures-timer/wasm-bindgen",
"tokio/macros",
"tokio/time",
"pin-project",
]
[dev-dependencies]
serde_json = "1.0"
tokio = { version = "1.23.1", features = ["macros", "rt"] }
jsonrpsee = { path = "../jsonrpsee", features = ["server", "macros"] }
http-body-util = "0.1.1"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.playground]
all-features = true