pub trait TypedContract: EncodingAdapter {
    // Required methods
    fn instance_id(params: &Self::Parameters) -> ContractInstanceId;
    fn verify(
        &self,
        parameters: Self::Parameters,
        related: RelatedContractsContainer,
    ) -> Result<ValidateResult, ContractError>;
    fn merge(
        &mut self,
        parameters: &Self::Parameters,
        update: TypedUpdateData<Self>,
        related: &RelatedContractsContainer,
    ) -> MergeResult;
    fn summarize(
        &self,
        parameters: Self::Parameters,
    ) -> Result<Self::Summary, ContractError>;
    fn delta(
        &self,
        parameters: Self::Parameters,
        summary: Self::Summary,
    ) -> Result<Self::Delta, ContractError>;
}Required Methods§
fn instance_id(params: &Self::Parameters) -> ContractInstanceId
fn verify( &self, parameters: Self::Parameters, related: RelatedContractsContainer, ) -> Result<ValidateResult, ContractError>
fn merge( &mut self, parameters: &Self::Parameters, update: TypedUpdateData<Self>, related: &RelatedContractsContainer, ) -> MergeResult
fn summarize( &self, parameters: Self::Parameters, ) -> Result<Self::Summary, ContractError>
fn delta( &self, parameters: Self::Parameters, summary: Self::Summary, ) -> Result<Self::Delta, ContractError>
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.