From cfe6a543c405b6e41fabf70ae0cec784f9c43a14 Mon Sep 17 00:00:00 2001 From: PatStiles Date: Thu, 17 Aug 2023 19:15:56 -0400 Subject: [PATCH] feat(blinded_relay): add cancellation parameter --- mev-rs/src/blinded_block_relayer/api/client.rs | 1 + mev-rs/src/blinded_block_relayer/api/server.rs | 5 +++-- mev-rs/src/blinded_block_relayer/mod.rs | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mev-rs/src/blinded_block_relayer/api/client.rs b/mev-rs/src/blinded_block_relayer/api/client.rs index e868c1e9..ad130aa7 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, + cancellation_enabled: 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..c2db8f56 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(enable_cancellation): 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, enable_cancellation).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..bde70412 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, + enable_cancellations: bool, ) -> Result; }