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