[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" # optional deps 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