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: OffchainChangesCollection, pub transaction: Transaction, pub transaction_storage_root: H::Out, pub changes_trie_transaction: Option<ChangesTrieTransaction<H, N>>, pub transaction_index_changes: Vec<IndexOperation>, }
Expand description
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: StorageCollectionAll changes to the main storage.
A value of None means that it was deleted.
child_storage_changes: ChildStorageCollectionAll changes to the child storages.
offchain_storage_changes: OffchainChangesCollectionOffchain state changes to write to the offchain database.
transaction: TransactionA transaction for the backend that contains all changes from
main_storage_changes and from
child_storage_changes.
offchain_storage_changes.
transaction_storage_root: H::OutThe 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.
transaction_index_changes: Vec<IndexOperation>Changes to the transaction index,
Implementations
pub fn into_inner(
self
) -> (StorageCollection, ChildStorageCollection, OffchainChangesCollection, Transaction, H::Out, Option<ChangesTrieTransaction<H, N>>, Vec<IndexOperation>)
pub fn into_inner(
self
) -> (StorageCollection, ChildStorageCollection, OffchainChangesCollection, Transaction, H::Out, Option<ChangesTrieTransaction<H, N>>, Vec<IndexOperation>)Deconstruct into the inner values
Trait Implementations
impl<Transaction: Default, H: Hasher, N: BlockNumber> Default for StorageChanges<Transaction, H, N>
impl<Transaction: Default, H: Hasher, N: BlockNumber> Default for StorageChanges<Transaction, H, N>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
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any, Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = TShould always be Self
The counterpart to unchecked_from.
pub fn vzip(self) -> V