reth_rpc_api/
validation.rs1use alloy_rpc_types_beacon::relay::{
4 BuilderBlockValidationRequest, BuilderBlockValidationRequestV2,
5 BuilderBlockValidationRequestV3, BuilderBlockValidationRequestV4,
6 BuilderBlockValidationRequestV5,
7};
8use jsonrpsee::proc_macros::rpc;
9
10#[cfg_attr(not(feature = "client"), rpc(server, namespace = "flashbots"))]
12#[cfg_attr(feature = "client", rpc(server, client, namespace = "flashbots"))]
13pub trait BlockSubmissionValidationApi {
14 #[method(name = "validateBuilderSubmissionV1")]
16 async fn validate_builder_submission_v1(
17 &self,
18 request: BuilderBlockValidationRequest,
19 ) -> jsonrpsee::core::RpcResult<()>;
20
21 #[method(name = "validateBuilderSubmissionV2")]
23 async fn validate_builder_submission_v2(
24 &self,
25 request: BuilderBlockValidationRequestV2,
26 ) -> jsonrpsee::core::RpcResult<()>;
27
28 #[method(name = "validateBuilderSubmissionV3")]
30 async fn validate_builder_submission_v3(
31 &self,
32 request: BuilderBlockValidationRequestV3,
33 ) -> jsonrpsee::core::RpcResult<()>;
34
35 #[method(name = "validateBuilderSubmissionV4")]
37 async fn validate_builder_submission_v4(
38 &self,
39 request: BuilderBlockValidationRequestV4,
40 ) -> jsonrpsee::core::RpcResult<()>;
41
42 #[method(name = "validateBuilderSubmissionV5")]
44 async fn validate_builder_submission_v5(
45 &self,
46 request: BuilderBlockValidationRequestV5,
47 ) -> jsonrpsee::core::RpcResult<()>;
48}