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.