use alloy_rpc_types_mev::{
SendBundleRequest, SendBundleResponse, SimBundleOverrides, SimBundleResponse,
};
use jsonrpsee::proc_macros::rpc;
#[cfg_attr(not(feature = "client"), rpc(server, namespace = "mev"))]
#[cfg_attr(feature = "client", rpc(server, client, namespace = "mev"))]
pub trait MevSimApi {
#[method(name = "simBundle")]
async fn sim_bundle(
&self,
bundle: SendBundleRequest,
sim_overrides: SimBundleOverrides,
) -> jsonrpsee::core::RpcResult<SimBundleResponse>;
}
#[cfg_attr(not(feature = "client"), rpc(server, namespace = "mev"))]
#[cfg_attr(feature = "client", rpc(server, client, namespace = "mev"))]
pub trait MevFullApi {
#[method(name = "sendBundle")]
async fn send_bundle(
&self,
request: SendBundleRequest,
) -> jsonrpsee::core::RpcResult<SendBundleResponse>;
#[method(name = "simBundle")]
async fn sim_bundle(
&self,
bundle: SendBundleRequest,
sim_overrides: SimBundleOverrides,
) -> jsonrpsee::core::RpcResult<SimBundleResponse>;
}