alloy_provider/ext/
mod.rs

1//! Extended APIs for the provider module.
2
3#[cfg(feature = "admin-api")]
4mod admin;
5#[cfg(feature = "admin-api")]
6pub use admin::AdminApi;
7
8#[cfg(feature = "anvil-api")]
9mod anvil;
10#[cfg(feature = "anvil-api")]
11pub use anvil::{AnvilApi, ImpersonateConfig};
12
13#[cfg(feature = "engine-api")]
14mod engine;
15#[cfg(feature = "engine-api")]
16pub use engine::EngineApi;
17
18#[cfg(feature = "engine-api")]
19mod testing;
20#[cfg(feature = "engine-api")]
21pub use testing::TestingApi;
22
23#[cfg(feature = "debug-api")]
24mod debug;
25#[cfg(feature = "debug-api")]
26pub use debug::DebugApi;
27
28#[cfg(feature = "net-api")]
29mod net;
30#[cfg(feature = "net-api")]
31pub use net::NetApi;
32
33#[cfg(feature = "trace-api")]
34mod trace;
35#[cfg(feature = "trace-api")]
36pub use trace::{TraceApi, TraceBuilder, TraceCallList, TraceParams};
37
38#[cfg(feature = "rpc-api")]
39mod rpc;
40#[cfg(feature = "rpc-api")]
41pub use rpc::RpcApi;
42
43#[cfg(feature = "txpool-api")]
44mod txpool;
45#[cfg(feature = "txpool-api")]
46pub use txpool::TxPoolApi;
47
48#[cfg(feature = "erc4337-api")]
49mod erc4337;
50#[cfg(feature = "erc4337-api")]
51pub use erc4337::Erc4337Api;
52
53#[cfg(feature = "tenderly-api")]
54mod tenderly;
55#[cfg(feature = "tenderly-api")]
56pub use tenderly::TenderlyApi;
57
58#[cfg(feature = "tenderly-admin-api")]
59mod tenderly_admin;
60#[cfg(feature = "tenderly-admin-api")]
61pub use tenderly_admin::TenderlyAdminApi;
62
63#[cfg(feature = "mev-api")]
64mod mev;
65
66#[cfg(feature = "mev-api")]
67pub use mev::{
68    sign_flashbots_payload, verify_flashbots_signature, FlashbotsSignatureError, MevApi,
69    MevBuilder, FLASHBOTS_SIGNATURE_HEADER,
70};
71
72/// Reth related apis.
73pub mod reth;
74
75#[cfg(test)]
76pub(crate) mod test {
77    #[allow(dead_code)] // dead only when all features off
78    /// Run the given function only if we are in a CI environment.
79    pub(crate) async fn async_ci_only<F, Fut>(f: F)
80    where
81        F: FnOnce() -> Fut,
82        Fut: std::future::Future<Output = ()>,
83    {
84        if ci_info::is_ci() {
85            f().await;
86        }
87    }
88}