Skip to main content

CheckPredicates

Trait CheckPredicates 

Source
pub trait CheckPredicates: Sized {
    // Required methods
    fn check_predicates(
        self,
        params: &CheckPredicateParams,
        memory: impl Memory,
        storage: &impl PredicateStorageRequirements,
        ecal_handler: impl EcalHandler,
    ) -> Result<Self, CheckError>;
    fn check_predicates_async<'life0, 'life1, 'life2, 'async_trait, Ecal, E>(
        self,
        params: &'life0 CheckPredicateParams,
        pool: &'life1 (impl 'async_trait + VmMemoryPool),
        storage: &'life2 (impl 'async_trait + PredicateStorageProvider),
        ecal_handler: Ecal,
    ) -> Pin<Box<dyn Future<Output = Result<Self, CheckError>> + Send + 'async_trait>>
       where Ecal: 'async_trait + EcalHandler + Send + 'static,
             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§

Source

fn check_predicates( self, params: &CheckPredicateParams, memory: impl Memory, storage: &impl PredicateStorageRequirements, ecal_handler: impl EcalHandler, ) -> Result<Self, CheckError>

Performs predicates verification of the transaction.

Source

fn check_predicates_async<'life0, 'life1, 'life2, 'async_trait, Ecal, E>( self, params: &'life0 CheckPredicateParams, pool: &'life1 (impl 'async_trait + VmMemoryPool), storage: &'life2 (impl 'async_trait + PredicateStorageProvider), ecal_handler: Ecal, ) -> Pin<Box<dyn Future<Output = Result<Self, CheckError>> + Send + 'async_trait>>
where Ecal: 'async_trait + EcalHandler + Send + 'static, 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".

Implementors§