Trait TypedContract

Source
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§

Source

fn instance_id(params: &Self::Parameters) -> ContractInstanceId

Source

fn verify( &self, parameters: Self::Parameters, related: RelatedContractsContainer, ) -> Result<ValidateResult, ContractError>

Source

fn merge( &mut self, parameters: &Self::Parameters, update: TypedUpdateData<Self>, related: &RelatedContractsContainer, ) -> MergeResult

Source

fn summarize( &self, parameters: Self::Parameters, ) -> Result<Self::Summary, ContractError>

Source

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.

Implementors§