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