mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 19:09:54 +00:00
feat: flashbots_validateBuilderSubmissionV4 (#12243)
This commit is contained in:
@ -46,7 +46,10 @@ pub mod servers {
|
||||
rpc::RpcApiServer,
|
||||
trace::TraceApiServer,
|
||||
txpool::TxPoolApiServer,
|
||||
validation::{BlockSubmissionValidationApiServer, BuilderBlockValidationRequestV3},
|
||||
validation::{
|
||||
BlockSubmissionValidationApiServer, BuilderBlockValidationRequestV3,
|
||||
BuilderBlockValidationRequestV4,
|
||||
},
|
||||
web3::Web3ApiServer,
|
||||
};
|
||||
pub use reth_rpc_eth_api::{
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
use alloy_primitives::B256;
|
||||
use alloy_rpc_types_beacon::relay::{
|
||||
BuilderBlockValidationRequest, BuilderBlockValidationRequestV2, SignedBidSubmissionV3,
|
||||
SignedBidSubmissionV4,
|
||||
};
|
||||
use jsonrpsee::proc_macros::rpc;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@ -24,6 +25,22 @@ pub struct BuilderBlockValidationRequestV3 {
|
||||
pub parent_beacon_block_root: B256,
|
||||
}
|
||||
|
||||
/// A Request to validate a [`SignedBidSubmissionV4`]
|
||||
///
|
||||
/// <https://github.com/flashbots/builder/blob/7577ac81da21e760ec6693637ce2a81fe58ac9f8/eth/block-validation/api.go#L198-L202>
|
||||
#[serde_as]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct BuilderBlockValidationRequestV4 {
|
||||
/// The request to be validated.
|
||||
#[serde(flatten)]
|
||||
pub request: SignedBidSubmissionV4,
|
||||
/// The registered gas limit for the validation request.
|
||||
#[serde_as(as = "DisplayFromStr")]
|
||||
pub registered_gas_limit: u64,
|
||||
/// The parent beacon block root for the validation request.
|
||||
pub parent_beacon_block_root: B256,
|
||||
}
|
||||
|
||||
/// Block validation rpc interface.
|
||||
#[cfg_attr(not(feature = "client"), rpc(server, namespace = "flashbots"))]
|
||||
#[cfg_attr(feature = "client", rpc(server, client, namespace = "flashbots"))]
|
||||
@ -48,4 +65,11 @@ pub trait BlockSubmissionValidationApi {
|
||||
&self,
|
||||
request: BuilderBlockValidationRequestV3,
|
||||
) -> jsonrpsee::core::RpcResult<()>;
|
||||
|
||||
/// A Request to validate a block submission.
|
||||
#[method(name = "validateBuilderSubmissionV4")]
|
||||
async fn validate_builder_submission_v4(
|
||||
&self,
|
||||
request: BuilderBlockValidationRequestV4,
|
||||
) -> jsonrpsee::core::RpcResult<()>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user