feat: NodePrimitivesProvider (#12855)

This commit is contained in:
Arsenii Kulikov
2024-11-26 16:06:55 +04:00
committed by GitHub
parent b34fb7883a
commit 26fc701814
40 changed files with 239 additions and 148 deletions

View File

@ -300,7 +300,11 @@ pub struct CustomPayloadServiceBuilder;
impl<Node, Pool> PayloadServiceBuilder<Node, Pool> for CustomPayloadServiceBuilder
where
Node: FullNodeTypes<
Types: NodeTypesWithEngine<Engine = CustomEngineTypes, ChainSpec = ChainSpec>,
Types: NodeTypesWithEngine<
Engine = CustomEngineTypes,
ChainSpec = ChainSpec,
Primitives = EthPrimitives,
>,
>,
Pool: TransactionPool + Unpin + 'static,
{

View File

@ -33,7 +33,7 @@ use reth_node_ethereum::{
node::{EthereumAddOns, EthereumPayloadBuilder},
BasicBlockExecutorProvider, EthExecutionStrategyFactory, EthereumNode,
};
use reth_primitives::TransactionSigned;
use reth_primitives::{EthPrimitives, TransactionSigned};
use reth_tracing::{RethTracer, Tracer};
use std::{convert::Infallible, sync::Arc};
@ -181,7 +181,7 @@ pub struct MyPayloadBuilder {
impl<Types, Node, Pool> PayloadServiceBuilder<Node, Pool> for MyPayloadBuilder
where
Types: NodeTypesWithEngine<ChainSpec = ChainSpec>,
Types: NodeTypesWithEngine<ChainSpec = ChainSpec, Primitives = EthPrimitives>,
Node: FullNodeTypes<Types = Types>,
Pool: TransactionPool + Unpin + 'static,
Types::Engine: PayloadTypes<

View File

@ -7,6 +7,7 @@ use reth::{
builder::{components::PoolBuilder, BuilderContext, FullNodeTypes},
chainspec::ChainSpec,
cli::Cli,
primitives::EthPrimitives,
providers::CanonStateSubscriptions,
transaction_pool::{
blobstore::InMemoryBlobStore, EthTransactionPool, TransactionValidationTaskExecutor,
@ -47,7 +48,7 @@ pub struct CustomPoolBuilder {
/// This will be used to build the transaction pool and its maintenance tasks during launch.
impl<Node> PoolBuilder<Node> for CustomPoolBuilder
where
Node: FullNodeTypes<Types: NodeTypes<ChainSpec = ChainSpec>>,
Node: FullNodeTypes<Types: NodeTypes<ChainSpec = ChainSpec, Primitives = EthPrimitives>>,
{
type Pool = EthTransactionPool<Node::Provider, InMemoryBlobStore>;