diff --git a/crates/engine/tree/src/tree/mod.rs b/crates/engine/tree/src/tree/mod.rs index 72dc431f7eb6..e4624a6b5a0c 100644 --- a/crates/engine/tree/src/tree/mod.rs +++ b/crates/engine/tree/src/tree/mod.rs @@ -1883,6 +1883,7 @@ where let mut trie_nodes = TrieUpdates::default(); let mut state = HashedPostState::default(); let mut prefix_sets = TriePrefixSetsMut::default(); + if let Some((historical, blocks)) = self.state.tree_state.blocks_by_hash(block.parent_hash) { diff --git a/crates/storage/provider/src/providers/consistent_view.rs b/crates/storage/provider/src/providers/consistent_view.rs index 8031992de94e..7cebfbf15707 100644 --- a/crates/storage/provider/src/providers/consistent_view.rs +++ b/crates/storage/provider/src/providers/consistent_view.rs @@ -55,7 +55,13 @@ where let block_number = provider .block_number(block_hash)? .ok_or(ProviderError::BlockHashNotFound(block_hash))?; - Ok(HashedPostState::from_reverts(provider.tx_ref(), block_number)?) + if block_number == provider.best_block_number()? && + block_number == provider.last_block_number()? + { + Ok(HashedPostState::default()) + } else { + Ok(HashedPostState::from_reverts(provider.tx_ref(), block_number + 1)?) + } } /// Creates new read-only provider and performs consistency checks on the current tip.