pub trait StateInitializer {
// Required methods
fn init_contract_state<S>(
&mut self,
contract_id: &ContractId,
slots: S,
) -> Result<(), StorageError>
where S: Iterator<Item = (Bytes32, Vec<u8>)>;
fn update_contract_states(
&mut self,
states: impl IntoIterator<Item = TableEntry<ContractsState>>,
) -> Result<(), StorageError>;
}
Required Methods§
sourcefn init_contract_state<S>(
&mut self,
contract_id: &ContractId,
slots: S,
) -> Result<(), StorageError>
fn init_contract_state<S>( &mut self, contract_id: &ContractId, slots: S, ) -> Result<(), StorageError>
Initialize the state of the contract from all leaves. This method is more performant than inserting state one by one.
sourcefn update_contract_states(
&mut self,
states: impl IntoIterator<Item = TableEntry<ContractsState>>,
) -> Result<(), StorageError>
fn update_contract_states( &mut self, states: impl IntoIterator<Item = TableEntry<ContractsState>>, ) -> Result<(), StorageError>
Updates the state of multiple contracts based on provided state slots.
Object Safety§
This trait is not object safe.