reth_rpc_api/
lib.rs

1//! Reth RPC interface definitions
2//!
3//! Provides all RPC interfaces.
4//!
5//! ## Feature Flags
6//!
7//! - `client`: Enables JSON-RPC client support.
8
9#![doc(
10    html_logo_url = "https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-docs.png",
11    html_favicon_url = "https://avatars0.githubusercontent.com/u/97369466?s=256",
12    issue_tracker_base_url = "https://github.com/paradigmxyz/reth/issues/"
13)]
14#![cfg_attr(not(test), warn(unused_crate_dependencies))]
15#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
16
17mod admin;
18mod anvil;
19mod debug;
20mod engine;
21mod ganache;
22mod hardhat;
23mod mev;
24mod miner;
25mod net;
26mod otterscan;
27mod reth;
28mod rpc;
29mod trace;
30mod txpool;
31mod validation;
32mod web3;
33
34/// re-export of all server traits
35pub use servers::*;
36
37/// Aggregates all server traits.
38pub mod servers {
39    pub use crate::{
40        admin::AdminApiServer,
41        debug::{DebugApiServer, DebugExecutionWitnessApiServer},
42        engine::{EngineApiServer, EngineEthApiServer, IntoEngineApiRpcModule},
43        mev::{MevFullApiServer, MevSimApiServer},
44        miner::MinerApiServer,
45        net::NetApiServer,
46        otterscan::OtterscanServer,
47        reth::RethApiServer,
48        rpc::RpcApiServer,
49        trace::TraceApiServer,
50        txpool::TxPoolApiServer,
51        validation::BlockSubmissionValidationApiServer,
52        web3::Web3ApiServer,
53    };
54    pub use reth_rpc_eth_api::{
55        self as eth, EthApiServer, EthBundleApiServer, EthCallBundleApiServer, EthFilterApiServer,
56        EthPubSubApiServer, L2EthApiExtServer,
57    };
58}
59
60/// re-export of all client traits
61#[cfg(feature = "client")]
62pub use clients::*;
63
64/// Aggregates all client traits.
65#[cfg(feature = "client")]
66pub mod clients {
67    pub use crate::{
68        admin::AdminApiClient,
69        anvil::AnvilApiClient,
70        debug::{DebugApiClient, DebugExecutionWitnessApiClient},
71        engine::{EngineApiClient, EngineEthApiClient},
72        ganache::GanacheApiClient,
73        hardhat::HardhatApiClient,
74        mev::{MevFullApiClient, MevSimApiClient},
75        miner::MinerApiClient,
76        net::NetApiClient,
77        otterscan::OtterscanClient,
78        reth::RethApiClient,
79        rpc::RpcApiServer,
80        trace::TraceApiClient,
81        txpool::TxPoolApiClient,
82        validation::BlockSubmissionValidationApiClient,
83        web3::Web3ApiClient,
84    };
85    pub use reth_rpc_eth_api::{
86        EthApiClient, EthBundleApiClient, EthCallBundleApiClient, EthFilterApiClient,
87        L2EthApiExtServer,
88    };
89}