feat: Integrate new EvmEnvProvider in RPC (#1550)

This commit is contained in:
Chirag Baghasingh
2023-02-25 15:23:41 +05:30
committed by GitHub
parent 305e992eed
commit 41748e818f
12 changed files with 59 additions and 37 deletions

View File

@ -7,7 +7,7 @@ use reth_primitives::{
BlockHash, BlockId, BlockNumber, ChainSpec, Hardfork, Header, SealedBlock, TransactionSigned,
H64, U256,
};
use reth_provider::{BlockProvider, HeaderProvider, StateProviderFactory};
use reth_provider::{BlockProvider, EvmEnvProvider, HeaderProvider, StateProviderFactory};
use reth_revm::database::{State, SubState};
use reth_rlp::Decodable;
use reth_rpc_types::engine::{
@ -45,7 +45,9 @@ pub struct EngineApi<Client> {
// remote_store: HashMap<H64, ExecutionPayload>,
}
impl<Client: HeaderProvider + BlockProvider + StateProviderFactory> EngineApi<Client> {
impl<Client: HeaderProvider + BlockProvider + StateProviderFactory + EvmEnvProvider>
EngineApi<Client>
{
/// Create new instance of [EngineApi].
pub fn new(
client: Client,
@ -409,7 +411,7 @@ impl<Client: HeaderProvider + BlockProvider + StateProviderFactory> EngineApi<Cl
impl<Client> Future for EngineApi<Client>
where
Client: HeaderProvider + BlockProvider + StateProviderFactory + Unpin,
Client: HeaderProvider + BlockProvider + StateProviderFactory + EvmEnvProvider + Unpin,
{
type Output = ();