diff --git a/mev-rs/src/blinded_block_relayer/api/client.rs b/mev-rs/src/blinded_block_relayer/api/client.rs index e868c1e9..64e76b8d 100644 --- a/mev-rs/src/blinded_block_relayer/api/client.rs +++ b/mev-rs/src/blinded_block_relayer/api/client.rs @@ -27,6 +27,7 @@ impl BlindedBlockRelayer for Client { async fn submit_bid( &self, signed_submission: &SignedBidSubmission, + with_cancellations: bool, ) -> Result { let response = self.api.http_post("/relay/v1/builder/blocks", signed_submission).await?; let receipt: ApiResult = response.json().await.map_err(ApiError::from)?; diff --git a/mev-rs/src/blinded_block_relayer/api/server.rs b/mev-rs/src/blinded_block_relayer/api/server.rs index a0153cab..f90c101f 100644 --- a/mev-rs/src/blinded_block_relayer/api/server.rs +++ b/mev-rs/src/blinded_block_relayer/api/server.rs @@ -4,7 +4,7 @@ use crate::{ types::{ProposerSchedule, SignedBidReceipt, SignedBidSubmission}, }; use axum::{ - extract::{Json, State}, + extract::{Json, Query, State}, routing::{get, post, IntoMakeService}, Router, }; @@ -24,10 +24,11 @@ async fn handle_get_proposal_schedule( async fn handle_submit_bid( State(relayer): State, + Query(with_cancellations): Query, Json(signed_bid_submission): Json, ) -> Result, Error> { tracing::info!("handling bid submission"); - Ok(Json(relayer.submit_bid(&signed_bid_submission).await?)) + Ok(Json(relayer.submit_bid(&signed_bid_submission, with_cancellations).await?)) } pub struct Server { diff --git a/mev-rs/src/blinded_block_relayer/mod.rs b/mev-rs/src/blinded_block_relayer/mod.rs index e85271b1..e5d1db46 100644 --- a/mev-rs/src/blinded_block_relayer/mod.rs +++ b/mev-rs/src/blinded_block_relayer/mod.rs @@ -18,5 +18,6 @@ pub trait BlindedBlockRelayer { async fn submit_bid( &self, signed_submission: &SignedBidSubmission, + with_cancellations: bool, ) -> Result; }