mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: add Block AT to BlockReader (#12837)
This commit is contained in:
@ -4,7 +4,7 @@ use crate::{
|
||||
engine::{DownloadRequest, EngineApiEvent, FromEngine},
|
||||
persistence::PersistenceHandle,
|
||||
};
|
||||
use alloy_consensus::Header;
|
||||
use alloy_consensus::{BlockHeader, Header};
|
||||
use alloy_eips::BlockNumHash;
|
||||
use alloy_primitives::{
|
||||
map::{HashMap, HashSet},
|
||||
@ -536,7 +536,12 @@ impl<P: Debug, E: Debug, T: EngineTypes + Debug, Spec: Debug> std::fmt::Debug
|
||||
|
||||
impl<P, E, T, Spec> EngineApiTreeHandler<P, E, T, Spec>
|
||||
where
|
||||
P: DatabaseProviderFactory + BlockReader + StateProviderFactory + StateReader + Clone + 'static,
|
||||
P: DatabaseProviderFactory
|
||||
+ BlockReader<Block = reth_primitives::Block>
|
||||
+ StateProviderFactory
|
||||
+ StateReader
|
||||
+ Clone
|
||||
+ 'static,
|
||||
<P as DatabaseProviderFactory>::Provider: BlockReader,
|
||||
E: BlockExecutorProvider,
|
||||
T: EngineTypes,
|
||||
@ -1539,8 +1544,8 @@ where
|
||||
.ok_or_else(|| ProviderError::HeaderNotFound(hash.into()))?;
|
||||
let execution_output = self
|
||||
.provider
|
||||
.get_state(block.number)?
|
||||
.ok_or_else(|| ProviderError::StateForNumberNotFound(block.number))?;
|
||||
.get_state(block.number())?
|
||||
.ok_or_else(|| ProviderError::StateForNumberNotFound(block.number()))?;
|
||||
let hashed_state = execution_output.hash_state_slow();
|
||||
|
||||
Ok(Some(ExecutedBlock {
|
||||
|
||||
@ -109,7 +109,7 @@ impl<S, Engine, Provider, Evm, Spec> Stream for EngineReorg<S, Engine, Provider,
|
||||
where
|
||||
S: Stream<Item = BeaconEngineMessage<Engine>>,
|
||||
Engine: EngineTypes,
|
||||
Provider: BlockReader + StateProviderFactory,
|
||||
Provider: BlockReader<Block = reth_primitives::Block> + StateProviderFactory,
|
||||
Evm: ConfigureEvm<Header = Header>,
|
||||
Spec: EthereumHardforks,
|
||||
{
|
||||
@ -256,7 +256,7 @@ fn create_reorg_head<Provider, Evm, Spec>(
|
||||
next_sidecar: ExecutionPayloadSidecar,
|
||||
) -> RethResult<(ExecutionPayload, ExecutionPayloadSidecar)>
|
||||
where
|
||||
Provider: BlockReader + StateProviderFactory,
|
||||
Provider: BlockReader<Block = reth_primitives::Block> + StateProviderFactory,
|
||||
Evm: ConfigureEvm<Header = Header>,
|
||||
Spec: EthereumHardforks,
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user