[][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: OffchainChangesCollection,
    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: OffchainChangesCollection

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, OffchainChangesCollection, 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
[src]

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

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

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

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

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> Same<T> for T

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>,