pub trait HistoryWriter: Send + Sync {
// Required methods
fn unwind_account_history_indices<'a>(
&self,
changesets: impl Iterator<Item = &'a (BlockNumber, AccountBeforeTx)>,
) -> ProviderResult<usize>;
fn unwind_account_history_indices_range(
&self,
range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<usize>;
fn insert_account_history_index(
&self,
index_updates: impl IntoIterator<Item = (Address, impl IntoIterator<Item = u64>)>,
) -> ProviderResult<()>;
fn unwind_storage_history_indices(
&self,
changesets: impl Iterator<Item = (BlockNumberAddress, StorageEntry)>,
) -> ProviderResult<usize>;
fn unwind_storage_history_indices_range(
&self,
range: impl RangeBounds<BlockNumberAddress>,
) -> ProviderResult<usize>;
fn insert_storage_history_index(
&self,
storage_transitions: impl IntoIterator<Item = ((Address, B256), impl IntoIterator<Item = u64>)>,
) -> ProviderResult<()>;
fn update_history_indices(
&self,
range: RangeInclusive<BlockNumber>,
) -> ProviderResult<()>;
}
Expand description
History Writer
Required Methods§
Sourcefn unwind_account_history_indices<'a>(
&self,
changesets: impl Iterator<Item = &'a (BlockNumber, AccountBeforeTx)>,
) -> ProviderResult<usize>
fn unwind_account_history_indices<'a>( &self, changesets: impl Iterator<Item = &'a (BlockNumber, AccountBeforeTx)>, ) -> ProviderResult<usize>
Unwind and clear account history indices.
Returns number of changesets walked.
Sourcefn unwind_account_history_indices_range(
&self,
range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<usize>
fn unwind_account_history_indices_range( &self, range: impl RangeBounds<BlockNumber>, ) -> ProviderResult<usize>
Unwind and clear account history indices in a given block range.
Returns number of changesets walked.
Sourcefn insert_account_history_index(
&self,
index_updates: impl IntoIterator<Item = (Address, impl IntoIterator<Item = u64>)>,
) -> ProviderResult<()>
fn insert_account_history_index( &self, index_updates: impl IntoIterator<Item = (Address, impl IntoIterator<Item = u64>)>, ) -> ProviderResult<()>
Insert account change index to database. Used inside AccountHistoryIndex stage
Sourcefn unwind_storage_history_indices(
&self,
changesets: impl Iterator<Item = (BlockNumberAddress, StorageEntry)>,
) -> ProviderResult<usize>
fn unwind_storage_history_indices( &self, changesets: impl Iterator<Item = (BlockNumberAddress, StorageEntry)>, ) -> ProviderResult<usize>
Unwind and clear storage history indices.
Returns number of changesets walked.
Sourcefn unwind_storage_history_indices_range(
&self,
range: impl RangeBounds<BlockNumberAddress>,
) -> ProviderResult<usize>
fn unwind_storage_history_indices_range( &self, range: impl RangeBounds<BlockNumberAddress>, ) -> ProviderResult<usize>
Unwind and clear storage history indices in a given block range.
Returns number of changesets walked.
Sourcefn insert_storage_history_index(
&self,
storage_transitions: impl IntoIterator<Item = ((Address, B256), impl IntoIterator<Item = u64>)>,
) -> ProviderResult<()>
fn insert_storage_history_index( &self, storage_transitions: impl IntoIterator<Item = ((Address, B256), impl IntoIterator<Item = u64>)>, ) -> ProviderResult<()>
Insert storage change index to database. Used inside StorageHistoryIndex stage
Sourcefn update_history_indices(
&self,
range: RangeInclusive<BlockNumber>,
) -> ProviderResult<()>
fn update_history_indices( &self, range: RangeInclusive<BlockNumber>, ) -> ProviderResult<()>
Read account/storage changesets and update account/storage history indices.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.