Skip to main content

celestia_rpc/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![doc = include_str!("../README.md")]
3
4use std::fmt;
5
6use jsonrpsee::core::client::Error as JsonrpseeError;
7
8pub mod blob;
9pub mod blobstream;
10pub mod client;
11pub mod das;
12mod error;
13pub mod fraud;
14mod header;
15#[cfg(feature = "p2p")]
16/// Types and client for the p2p JSON-RPC API.
17pub mod p2p;
18pub mod share;
19mod state;
20mod tx_config;
21
22pub use crate::blob::BlobClient;
23pub use crate::blob::BlobRpcServer;
24pub use crate::blob::BlobServer;
25pub use crate::blob::BlobSubscriptionRpcServer;
26pub use crate::blobstream::BlobstreamClient;
27pub use crate::blobstream::BlobstreamRpcServer;
28pub use crate::blobstream::BlobstreamServer;
29#[cfg(any(
30    not(target_arch = "wasm32"),
31    all(target_arch = "wasm32", feature = "wasm-bindgen")
32))]
33#[cfg_attr(
34    docsrs,
35    doc(cfg(any(
36        not(target_arch = "wasm32"),
37        all(target_arch = "wasm32", feature = "wasm-bindgen")
38    )))
39)]
40pub use crate::client::Client;
41pub use crate::das::DasClient;
42pub use crate::error::{Error, Result};
43pub use crate::fraud::FraudClient;
44pub use crate::fraud::FraudRpcServer;
45pub use crate::fraud::FraudServer;
46pub use crate::fraud::FraudSubscriptionRpcServer;
47pub use crate::header::HeaderClient;
48pub use crate::header::HeaderRpcServer;
49pub use crate::header::HeaderServer;
50pub use crate::header::HeaderSubscriptionRpcServer;
51#[cfg(feature = "p2p")]
52#[cfg_attr(docsrs, doc(cfg(feature = "p2p")))]
53pub use crate::p2p::P2PClient;
54pub use crate::share::ShareClient;
55pub use crate::share::ShareRpcServer;
56pub use crate::share::ShareServer;
57pub use crate::state::StateClient;
58pub use crate::state::StateServer;
59pub use crate::tx_config::{TxConfig, TxPriority};
60
61/// Re-exports of all the RPC traits.
62pub mod prelude {
63    pub use crate::BlobClient;
64    pub use crate::BlobRpcServer;
65    pub use crate::BlobServer;
66    pub use crate::BlobSubscriptionRpcServer;
67    pub use crate::BlobstreamClient;
68    pub use crate::BlobstreamRpcServer;
69    pub use crate::DasClient;
70    pub use crate::FraudClient;
71    pub use crate::FraudRpcServer;
72    pub use crate::FraudServer;
73    pub use crate::FraudSubscriptionRpcServer;
74    pub use crate::HeaderClient;
75    pub use crate::HeaderRpcServer;
76    pub use crate::HeaderServer;
77    pub use crate::HeaderSubscriptionRpcServer;
78    #[cfg(feature = "p2p")]
79    pub use crate::P2PClient;
80    pub use crate::ShareClient;
81    pub use crate::ShareRpcServer;
82    pub use crate::ShareServer;
83    pub use crate::StateClient;
84    pub use crate::StateServer;
85}
86
87// helper to map errors to jsonrpsee using Display
88fn custom_client_error<E: fmt::Display>(error: E) -> JsonrpseeError {
89    JsonrpseeError::Custom(error.to_string())
90}