StorageChangeSetReader

Trait StorageChangeSetReader 

Source
pub trait StorageChangeSetReader: Send {
    // Required methods
    fn storage_changeset(
        &self,
        block_number: u64,
    ) -> Result<Vec<(BlockNumberAddress, StorageEntry)>, ProviderError>;
    fn get_storage_before_block(
        &self,
        block_number: u64,
        address: Address,
        storage_key: FixedBytes<32>,
    ) -> Result<Option<StorageEntry>, ProviderError>;
    fn storage_changesets_range(
        &self,
        range: RangeInclusive<u64>,
    ) -> Result<Vec<(BlockNumberAddress, StorageEntry)>, ProviderError>;
    fn storage_changeset_count(&self) -> Result<usize, ProviderError>;

    // Provided method
    fn storage_block_changeset(
        &self,
        block_number: u64,
    ) -> Result<Vec<StorageBeforeTx>, ProviderError> { ... }
}
Available on crate feature storage-api only.
Expand description

Storage ChangeSet reader

Required Methods§

Source

fn storage_changeset( &self, block_number: u64, ) -> Result<Vec<(BlockNumberAddress, StorageEntry)>, ProviderError>

Iterate over storage changesets and return the storage state from before this block.

Source

fn get_storage_before_block( &self, block_number: u64, address: Address, storage_key: FixedBytes<32>, ) -> Result<Option<StorageEntry>, ProviderError>

Search the block’s changesets for the given address and storage key, and return the result.

Returns None if the storage slot was not changed in this block.

Source

fn storage_changesets_range( &self, range: RangeInclusive<u64>, ) -> Result<Vec<(BlockNumberAddress, StorageEntry)>, ProviderError>

Get all storage changesets in a range of blocks.

NOTE: Get inclusive range of blocks.

Source

fn storage_changeset_count(&self) -> Result<usize, ProviderError>

Get the total count of all storage changes.

Provided Methods§

Source

fn storage_block_changeset( &self, block_number: u64, ) -> Result<Vec<StorageBeforeTx>, ProviderError>

Get storage changesets for a block as static-file rows.

Default implementation uses storage_changeset and maps to StorageBeforeTx.

Implementations on Foreign Types§

Source§

impl<'a, T> StorageChangeSetReader for &'a T

Source§

impl<T> StorageChangeSetReader for Box<T>

Implementors§

Source§

impl<C, N> StorageChangeSetReader for NoopProvider<C, N>
where C: Send + Sync, N: NodePrimitives,

Available on crate feature db-api only.
Source§

impl<N> StorageChangeSetReader for BlockchainProvider<N>

Source§

impl<N> StorageChangeSetReader for StaticFileProvider<N>
where N: NodePrimitives,

Source§

impl<T, ChainSpec> StorageChangeSetReader for MockEthProvider<T, ChainSpec>
where T: NodePrimitives, ChainSpec: Send + Sync,

Source§

impl<TX, N> StorageChangeSetReader for DatabaseProvider<TX, N>
where TX: DbTx, N: NodeTypes,