[][src]Struct sp_state_machine::StorageChanges

pub struct StorageChanges<Transaction, H: Hasher, N: BlockNumber> {
    pub main_storage_changes: StorageCollection,
    pub child_storage_changes: ChildStorageCollection,
    pub offchain_storage_changes: OffchainOverlayedChanges,
    pub transaction: Transaction,
    pub transaction_storage_root: H::Out,
    pub changes_trie_transaction: Option<ChangesTrieTransaction<H, N>>,
}

A storage changes structure that can be generated by the data collected in OverlayedChanges.

This contains all the changes to the storage and transactions to apply theses changes to the backend.

Fields

main_storage_changes: StorageCollection

All changes to the main storage.

A value of None means that it was deleted.

child_storage_changes: ChildStorageCollection

All changes to the child storages.

offchain_storage_changes: OffchainOverlayedChanges

Offchain state changes to write to the offchain database.

transaction: Transaction

A transaction for the backend that contains all changes from main_storage_changes and from child_storage_changes. offchain_storage_changes.

transaction_storage_root: H::Out

The storage root after applying the transaction.

changes_trie_transaction: Option<ChangesTrieTransaction<H, N>>

Contains the transaction for the backend for the changes trie.

If changes trie is disabled the value is set to None.

Implementations

impl<Transaction, H: Hasher, N: BlockNumber> StorageChanges<Transaction, H, N>[src]

pub fn into_inner(
    self
) -> (StorageCollection, ChildStorageCollection, OffchainOverlayedChanges, Transaction, H::Out, Option<ChangesTrieTransaction<H, N>>)
[src]

Deconstruct into the inner values

Trait Implementations

impl<Transaction: Default, H: Hasher, N: BlockNumber> Default for StorageChanges<Transaction, H, N>[src]

Auto Trait Implementations

impl<Transaction, H, N> RefUnwindSafe for StorageChanges<Transaction, H, N> where
    H: RefUnwindSafe,
    N: RefUnwindSafe,
    Transaction: RefUnwindSafe,
    <H as Hasher>::Out: RefUnwindSafe

impl<Transaction, H, N> Send for StorageChanges<Transaction, H, N> where
    Transaction: Send,
    <H as Hasher>::Out: Send

impl<Transaction, H, N> Sync for StorageChanges<Transaction, H, N> where
    Transaction: Sync,
    <H as Hasher>::Out: Sync

impl<Transaction, H, N> Unpin for StorageChanges<Transaction, H, N> where
    H: Unpin,
    N: Unpin,
    Transaction: Unpin,
    <H as Hasher>::Out: Unpin

impl<Transaction, H, N> UnwindSafe for StorageChanges<Transaction, H, N> where
    H: UnwindSafe,
    N: UnwindSafe,
    Transaction: UnwindSafe,
    <H as Hasher>::Out: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> InitializableFromZeroed for T where
    T: Default
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 
[src]

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]