1use arb_payload::ArbEngineTypes;
4use arb_primitives::ArbPrimitives;
5use reth_chainspec::ChainSpec;
6use reth_node_builder::{
7 rpc::PayloadValidatorBuilder, AddOnsContext, FullNodeComponents, NodeTypes,
8};
9
10use crate::validator::ArbPayloadValidator;
11
12#[derive(Debug, Default, Clone, Copy)]
14pub struct ArbPayloadValidatorBuilder;
15
16impl<N> PayloadValidatorBuilder<N> for ArbPayloadValidatorBuilder
17where
18 N: FullNodeComponents<
19 Types: NodeTypes<
20 ChainSpec = ChainSpec,
21 Primitives = ArbPrimitives,
22 Payload = ArbEngineTypes,
23 >,
24 >,
25{
26 type Validator = ArbPayloadValidator;
27
28 async fn build(self, ctx: &AddOnsContext<'_, N>) -> eyre::Result<Self::Validator> {
29 Ok(ArbPayloadValidator::new(ctx.config.chain.clone()))
30 }
31}