Skip to main content

AccountExtractor

Trait AccountExtractor 

Source
pub trait AccountExtractor {
    type Error: Debug + Send + Sync;

    // Required method
    fn get_accounts_at_block<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        block: &'life1 Block,
        requests: &'life2 [StorageSnapshotRequest],
    ) -> Pin<Box<dyn Future<Output = Result<HashMap<Bytes, AccountDelta>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

Trait for getting multiple account states from chain data.

Required Associated Types§

Required Methods§

Source

fn get_accounts_at_block<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, block: &'life1 Block, requests: &'life2 [StorageSnapshotRequest], ) -> Pin<Box<dyn Future<Output = Result<HashMap<Bytes, AccountDelta>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Get the account states at the end of the given block (after all transactions in the block have been applied).

§Arguments
  • block: The block at which to retrieve the account states.
  • requests: A slice of StorageSnapshotRequest objects, each containing an address and optional slots. Note: If the slots field is None, the function will return the entire account state. That could be a lot of data, so use with caution.

returns: Result<HashMap<Bytes, AccountDelta, RandomState>, Self::Error> A result containing a HashMap where the keys are Bytes (addresses) and the values are AccountDelta objects.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§