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