Trait sc_client_api::backend::BlockImportOperation [−][src]
pub trait BlockImportOperation<Block: BlockT> { type State: StateBackend<HashFor<Block>>;}Show methods
fn state(&self) -> Result<Option<&Self::State>>; fn set_block_data(
&mut self,
header: Block::Header,
body: Option<Vec<Block::Extrinsic>>,
indexed_body: Option<Vec<Vec<u8>>>,
justifications: Option<Justifications>,
state: NewBlockState
) -> Result<()>; fn update_cache(&mut self, cache: HashMap<Id, Vec<u8>>); fn update_db_storage(
&mut self,
update: TransactionForSB<Self::State, Block>
) -> Result<()>; fn set_genesis_state(
&mut self,
storage: Storage,
commit: bool
) -> Result<Block::Hash>; fn reset_storage(&mut self, storage: Storage) -> Result<Block::Hash>; fn update_storage(
&mut self,
update: StorageCollection,
child_update: ChildStorageCollection
) -> Result<()>; fn update_changes_trie(
&mut self,
update: ChangesTrieTransaction<HashFor<Block>, NumberFor<Block>>
) -> Result<()>; fn insert_aux<I>(&mut self, ops: I) -> Result<()>
where
I: IntoIterator<Item = (Vec<u8>, Option<Vec<u8>>)>; fn mark_finalized(
&mut self,
id: BlockId<Block>,
justification: Option<Justification>
) -> Result<()>; fn mark_head(&mut self, id: BlockId<Block>) -> Result<()>; fn update_transaction_index(
&mut self,
index: Vec<IndexOperation>
) -> Result<()>; fn update_offchain_storage(
&mut self,
_offchain_update: OffchainChangesCollection
) -> Result<()> { ... }
Expand description
Block insertion operation.
Keeps hold if the inserted block state and data.
Associated Types
type State: StateBackend<HashFor<Block>>
type State: StateBackend<HashFor<Block>>
Associated state backend type.
Required methods
Returns pending state.
Returns None for backends with locally-unavailable state data.
fn set_block_data(
&mut self,
header: Block::Header,
body: Option<Vec<Block::Extrinsic>>,
indexed_body: Option<Vec<Vec<u8>>>,
justifications: Option<Justifications>,
state: NewBlockState
) -> Result<()>
fn set_block_data(
&mut self,
header: Block::Header,
body: Option<Vec<Block::Extrinsic>>,
indexed_body: Option<Vec<Vec<u8>>>,
justifications: Option<Justifications>,
state: NewBlockState
) -> Result<()>
Append block data to the transaction.
fn update_db_storage(
&mut self,
update: TransactionForSB<Self::State, Block>
) -> Result<()>
fn update_db_storage(
&mut self,
update: TransactionForSB<Self::State, Block>
) -> Result<()>
Inject storage data into the database.
Set genesis state. If commit
is false
the state is saved in memory, but is not written
to the database.
fn reset_storage(&mut self, storage: Storage) -> Result<Block::Hash>
fn reset_storage(&mut self, storage: Storage) -> Result<Block::Hash>
Inject storage data into the database replacing any existing data.
fn update_storage(
&mut self,
update: StorageCollection,
child_update: ChildStorageCollection
) -> Result<()>
fn update_storage(
&mut self,
update: StorageCollection,
child_update: ChildStorageCollection
) -> Result<()>
Set storage changes.
fn update_changes_trie(
&mut self,
update: ChangesTrieTransaction<HashFor<Block>, NumberFor<Block>>
) -> Result<()>
fn update_changes_trie(
&mut self,
update: ChangesTrieTransaction<HashFor<Block>, NumberFor<Block>>
) -> Result<()>
Inject changes trie data into the database.
Insert auxiliary keys.
Values are None
if should be deleted.
fn mark_finalized(
&mut self,
id: BlockId<Block>,
justification: Option<Justification>
) -> Result<()>
fn mark_finalized(
&mut self,
id: BlockId<Block>,
justification: Option<Justification>
) -> Result<()>
Mark a block as finalized.
Mark a block as new head. If both block import and set head are specified, set head overrides block import’s best block rule.
fn update_transaction_index(&mut self, index: Vec<IndexOperation>) -> Result<()>
fn update_transaction_index(&mut self, index: Vec<IndexOperation>) -> Result<()>
Add a transaction index operation.
Provided methods
fn update_offchain_storage(
&mut self,
_offchain_update: OffchainChangesCollection
) -> Result<()>
fn update_offchain_storage(
&mut self,
_offchain_update: OffchainChangesCollection
) -> Result<()>
Write offchain storage changes to the database.
Implementors
impl<Block: BlockT> BlockImportOperation<Block> for BlockImportOperation<Block> where
Block::Hash: Ord,