pub trait CheckPredicates: Sized {
// Required methods
fn check_predicates(
self,
params: &CheckPredicateParams,
memory: impl Memory,
storage: &impl PredicateStorageRequirements,
) -> Result<Self, CheckError>;
fn check_predicates_async<'life0, 'life1, 'life2, 'async_trait, E>(
self,
params: &'life0 CheckPredicateParams,
pool: &'life1 (impl 'async_trait + VmMemoryPool),
storage: &'life2 (impl 'async_trait + PredicateStorageProvider),
) -> Pin<Box<dyn Future<Output = Result<Self, CheckError>> + Send + 'async_trait>>
where E: 'async_trait + ParallelExecutor,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}
Expand description
Provides predicate verification functionality for the transaction.
Required Methods§
Sourcefn check_predicates(
self,
params: &CheckPredicateParams,
memory: impl Memory,
storage: &impl PredicateStorageRequirements,
) -> Result<Self, CheckError>
fn check_predicates( self, params: &CheckPredicateParams, memory: impl Memory, storage: &impl PredicateStorageRequirements, ) -> Result<Self, CheckError>
Performs predicates verification of the transaction.
Sourcefn check_predicates_async<'life0, 'life1, 'life2, 'async_trait, E>(
self,
params: &'life0 CheckPredicateParams,
pool: &'life1 (impl 'async_trait + VmMemoryPool),
storage: &'life2 (impl 'async_trait + PredicateStorageProvider),
) -> Pin<Box<dyn Future<Output = Result<Self, CheckError>> + Send + 'async_trait>>where
E: 'async_trait + ParallelExecutor,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn check_predicates_async<'life0, 'life1, 'life2, 'async_trait, E>(
self,
params: &'life0 CheckPredicateParams,
pool: &'life1 (impl 'async_trait + VmMemoryPool),
storage: &'life2 (impl 'async_trait + PredicateStorageProvider),
) -> Pin<Box<dyn Future<Output = Result<Self, CheckError>> + Send + 'async_trait>>where
E: 'async_trait + ParallelExecutor,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Performs predicates verification of the transaction in parallel.
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.