refactor: unify EVM traits (#14920)

This commit is contained in:
Arsenii Kulikov
2025-03-10 12:52:55 +04:00
committed by GitHub
parent a1ca2dec4c
commit 91eb292e3e
44 changed files with 588 additions and 772 deletions

View File

@@ -8,9 +8,7 @@ use crate::{
};
use op_alloy_consensus::OpPooledTransaction;
use reth_chainspec::{EthChainSpec, Hardforks};
use reth_evm::{
execute::BasicBlockExecutorProvider, ConfigureEvm, ConfigureEvmEnv, ConfigureEvmFor,
};
use reth_evm::{execute::BasicBlockExecutorProvider, ConfigureEvm, EvmFactory, EvmFactoryFor};
use reth_network::{NetworkConfig, NetworkHandle, NetworkManager, NetworkPrimitives, PeersInfo};
use reth_node_api::{
AddOnsContext, FullNodeComponents, KeyHasherTy, NodeAddOns, NodePrimitives, PrimitivesTy, TxTy,
@@ -279,13 +277,11 @@ where
Storage = OpStorage,
Engine = OpEngineTypes,
>,
Evm: ConfigureEvmEnv<
TxEnv = op_revm::OpTransaction<TxEnv>,
NextBlockEnvCtx = OpNextBlockEnvAttributes,
>,
Evm: ConfigureEvm<NextBlockEnvCtx = OpNextBlockEnvAttributes>,
>,
OpEthApiError: FromEvmError<N::Evm>,
<<N as FullNodeComponents>::Pool as TransactionPool>::Transaction: MaybeConditionalTransaction,
<N::Pool as TransactionPool>::Transaction: MaybeConditionalTransaction,
EvmFactoryFor<N::Evm>: EvmFactory<Tx = op_revm::OpTransaction<TxEnv>>,
{
type Handle = RpcHandle<N, OpEthApi<N>>;
@@ -353,13 +349,11 @@ where
Storage = OpStorage,
Engine = OpEngineTypes,
>,
Evm: ConfigureEvm<
TxEnv = op_revm::OpTransaction<TxEnv>,
NextBlockEnvCtx = OpNextBlockEnvAttributes,
>,
Evm: ConfigureEvm<NextBlockEnvCtx = OpNextBlockEnvAttributes>,
>,
OpEthApiError: FromEvmError<N::Evm>,
<<N as FullNodeComponents>::Pool as TransactionPool>::Transaction: MaybeConditionalTransaction,
EvmFactoryFor<N::Evm>: EvmFactory<Tx = op_revm::OpTransaction<TxEnv>>,
{
type EthApi = OpEthApi<N>;
@@ -658,7 +652,7 @@ impl<Txs> OpPayloadBuilder<Txs> {
Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Node::Types>>>
+ Unpin
+ 'static,
Evm: ConfigureEvmFor<PrimitivesTy<Node::Types>>,
Evm: ConfigureEvm<Primitives = PrimitivesTy<Node::Types>>,
Txs: OpPayloadTransactions<Pool::Transaction>,
{
let payload_builder = reth_optimism_payload_builder::OpPayloadBuilder::with_builder_config(