Struct sp_state_machine::StorageChanges[][src]

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

impl<Transaction, H, N> Sync for StorageChanges<Transaction, H, N> where
    Transaction: 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> From<T> for T[src]

impl<T> Instrument for T[src]

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

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

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

Get a reference to the inner from the outer.

pub 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> Pointable for T[src]

type Init = T

The type for initializers.

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]