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 hardhat;
22mod mev;
23mod miner;
24mod net;
25mod otterscan;
26mod reth;
27mod rpc;
28mod trace;
29mod txpool;
30mod validation;
31mod web3;
32
33/// re-export of all server traits
34pub use servers::*;
35
36/// Aggregates all server traits.
37pub mod servers {
38    pub use crate::{
39        admin::AdminApiServer,
40        debug::{DebugApiServer, DebugExecutionWitnessApiServer},
41        engine::{EngineApiServer, EngineEthApiServer, IntoEngineApiRpcModule},
42        mev::{MevFullApiServer, MevSimApiServer},
43        miner::MinerApiServer,
44        net::NetApiServer,
45        otterscan::OtterscanServer,
46        reth::RethApiServer,
47        rpc::RpcApiServer,
48        trace::TraceApiServer,
49        txpool::TxPoolApiServer,
50        validation::BlockSubmissionValidationApiServer,
51        web3::Web3ApiServer,
52    };
53    pub use reth_rpc_eth_api::{
54        self as eth, EthApiServer, EthBundleApiServer, EthCallBundleApiServer, EthFilterApiServer,
55        EthPubSubApiServer, L2EthApiExtServer,
56    };
57}
58
59/// re-export of all client traits
60#[cfg(feature = "client")]
61pub use clients::*;
62
63/// Aggregates all client traits.
64#[cfg(feature = "client")]
65pub mod clients {
66    pub use crate::{
67        admin::AdminApiClient,
68        anvil::AnvilApiClient,
69        debug::{DebugApiClient, DebugExecutionWitnessApiClient},
70        engine::{EngineApiClient, EngineEthApiClient},
71        hardhat::HardhatApiClient,
72        mev::{MevFullApiClient, MevSimApiClient},
73        miner::MinerApiClient,
74        net::NetApiClient,
75        otterscan::OtterscanClient,
76        reth::RethApiClient,
77        rpc::RpcApiServer,
78        trace::TraceApiClient,
79        txpool::TxPoolApiClient,
80        validation::BlockSubmissionValidationApiClient,
81        web3::Web3ApiClient,
82    };
83    pub use reth_rpc_eth_api::{
84        EthApiClient, EthBundleApiClient, EthCallBundleApiClient, EthFilterApiClient,
85        L2EthApiExtServer,
86    };
87}