Split MevApi trait into two #11036 (#11081)

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
This commit is contained in:
0xriazaka.eth
2024-09-22 13:48:33 +01:00
committed by GitHub
parent 405fc4361a
commit f4d11f48bc
2 changed files with 17 additions and 3 deletions

View File

@ -39,7 +39,7 @@ pub mod servers {
admin::AdminApiServer,
debug::DebugApiServer,
engine::{EngineApiServer, EngineEthApiServer},
mev::MevApiServer,
mev::{MevFullApiServer, MevSimApiServer},
net::NetApiServer,
otterscan::OtterscanServer,
reth::RethApiServer,
@ -69,7 +69,7 @@ pub mod clients {
engine::{EngineApiClient, EngineEthApiClient},
ganache::GanacheApiClient,
hardhat::HardhatApiClient,
mev::MevApiClient,
mev::{MevFullApiClient, MevSimApiClient},
net::NetApiClient,
otterscan::OtterscanClient,
reth::RethApiClient,

View File

@ -6,7 +6,21 @@ use jsonrpsee::proc_macros::rpc;
/// Mev rpc interface.
#[cfg_attr(not(feature = "client"), rpc(server, namespace = "mev"))]
#[cfg_attr(feature = "client", rpc(server, client, namespace = "mev"))]
pub trait MevApi {
pub trait MevSimApi {
/// Similar to `mev_sendBundle` but instead of submitting a bundle to the relay, it returns
/// a simulation result. Only fully matched bundles can be simulated.
#[method(name = "simBundle")]
async fn sim_bundle(
&self,
bundle: SendBundleRequest,
sim_overrides: SimBundleOverrides,
) -> jsonrpsee::core::RpcResult<SimBundleResponse>;
}
/// Mev rpc interface.
#[cfg_attr(not(feature = "client"), rpc(server, namespace = "mev"))]
#[cfg_attr(feature = "client", rpc(server, client, namespace = "mev"))]
pub trait MevFullApi {
/// Submitting bundles to the relay. It takes in a bundle and provides a bundle hash as a
/// return value.
#[method(name = "sendBundle")]