From e683197eac7a72866e91202eadcb6708f7cc0b55 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Wed, 1 Feb 2023 17:16:25 +0100 Subject: [PATCH] docs(provider): More context about Stateprovider (#1124) --- crates/storage/provider/src/traits/state.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/crates/storage/provider/src/traits/state.rs b/crates/storage/provider/src/traits/state.rs index 586be0b36b..dd6c223fab 100644 --- a/crates/storage/provider/src/traits/state.rs +++ b/crates/storage/provider/src/traits/state.rs @@ -4,7 +4,7 @@ use auto_impl::auto_impl; use reth_interfaces::Result; use reth_primitives::{Address, BlockHash, BlockNumber, Bytes, StorageKey, StorageValue, H256}; -/// Function needed for executor. +/// An abstraction for a type that provides state data. #[auto_impl(&)] pub trait StateProvider: BlockHashProvider + AccountProvider + Send + Sync { /// Get storage. @@ -14,7 +14,8 @@ pub trait StateProvider: BlockHashProvider + AccountProvider + Send + Sync { fn bytecode_by_hash(&self, code_hash: H256) -> Result>; } -/// Light wrapper that creates StateProvider. +/// Light wrapper that returns `StateProvider` implementations that correspond to the given +/// `BlockNumber` or the latest state. pub trait StateProviderFactory: Send + Sync { /// History State provider. type HistorySP<'a>: StateProvider @@ -24,12 +25,13 @@ pub trait StateProviderFactory: Send + Sync { type LatestSP<'a>: StateProvider where Self: 'a; - /// Storage provider for latest block + + /// Storage provider for latest block. fn latest(&self) -> Result>; - /// History provider indexed by block number + /// Returns a [StateProvider] indexed by the given block number. fn history_by_block_number(&self, block: BlockNumber) -> Result>; - /// History provider indexed by block hash + /// Returns a [StateProvider] indexed by the given block hash. fn history_by_block_hash(&self, block: BlockHash) -> Result>; }