pub trait StateWriteProvider: StoreTransaction<TransactionErr = Self::Error> {
type ContractWrite<'a>: ContractStateWrite<Error = Self::Error>
where Self: 'a;
type Error: Error;
// Required methods
fn register_contract(
&mut self,
schema: &Schema,
genesis: &Genesis,
) -> Result<Self::ContractWrite<'_>, Self::Error>;
fn update_contract(
&mut self,
contract_id: ContractId,
) -> Result<Option<Self::ContractWrite<'_>>, Self::Error>;
fn upsert_witness(
&mut self,
witness_id: Txid,
witness_ord: WitnessOrd,
) -> Result<(), Self::Error>;
fn update_bundle(
&mut self,
bundle_id: BundleId,
valid: bool,
) -> Result<(), Self::Error>;
}Required Associated Types§
type ContractWrite<'a>: ContractStateWrite<Error = Self::Error> where Self: 'a
type Error: Error
Required Methods§
fn register_contract( &mut self, schema: &Schema, genesis: &Genesis, ) -> Result<Self::ContractWrite<'_>, Self::Error>
fn update_contract( &mut self, contract_id: ContractId, ) -> Result<Option<Self::ContractWrite<'_>>, Self::Error>
fn upsert_witness( &mut self, witness_id: Txid, witness_ord: WitnessOrd, ) -> Result<(), Self::Error>
fn update_bundle( &mut self, bundle_id: BundleId, valid: bool, ) -> Result<(), Self::Error>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.