Skip to main content

TrieCursorFactory

Trait TrieCursorFactory 

Source
pub trait TrieCursorFactory {
    type AccountTrieCursor<'a>: TrieCursor
       where Self: 'a;
    type StorageTrieCursor<'a>: TrieStorageCursor
       where Self: 'a;

    // Required methods
    fn account_trie_cursor(
        &self,
    ) -> Result<Self::AccountTrieCursor<'_>, DatabaseError>;
    fn storage_trie_cursor(
        &self,
        hashed_address: FixedBytes<32>,
    ) -> Result<Self::StorageTrieCursor<'_>, DatabaseError>;
}
Available on crate feature trie only.
Expand description

Factory for creating trie cursors.

Required Associated Types§

Source

type AccountTrieCursor<'a>: TrieCursor where Self: 'a

The account trie cursor type.

Source

type StorageTrieCursor<'a>: TrieStorageCursor where Self: 'a

The storage trie cursor type.

Required Methods§

Source

fn account_trie_cursor( &self, ) -> Result<Self::AccountTrieCursor<'_>, DatabaseError>

Create an account trie cursor.

Source

fn storage_trie_cursor( &self, hashed_address: FixedBytes<32>, ) -> Result<Self::StorageTrieCursor<'_>, DatabaseError>

Create a storage tries cursor.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<'b, T> TrieCursorFactory for &'b T
where T: 'b + TrieCursorFactory + ?Sized,

Implementors§

Source§

impl TrieCursorFactory for MockTrieCursorFactory

Source§

impl TrieCursorFactory for NoopTrieCursorFactory

Source§

impl<'overlay, CF, T> TrieCursorFactory for InMemoryTrieCursorFactory<CF, &'overlay T>
where CF: TrieCursorFactory + 'overlay, T: AsRef<TrieUpdatesSorted>,

Source§

impl<Provider> TrieCursorFactory for OverlayStateProvider<Provider>
where Provider: DBProvider, <Provider as DBProvider>::Tx: DbTx,

Source§

impl<TX, A> TrieCursorFactory for DatabaseTrieCursorFactory<&TX, A>
where TX: DbTx, A: TrieTableAdapter,