sui_core::execution_cache

Trait TransactionCacheRead

Source
pub trait TransactionCacheRead: Send + Sync {
Show 13 methods // Required methods fn multi_get_transaction_blocks( &self, digests: &[TransactionDigest], ) -> Vec<Option<Arc<VerifiedTransaction>>>; fn multi_get_executed_effects_digests( &self, digests: &[TransactionDigest], ) -> Vec<Option<TransactionEffectsDigest>>; fn multi_get_effects( &self, digests: &[TransactionEffectsDigest], ) -> Vec<Option<TransactionEffects>>; fn multi_get_events( &self, digests: &[TransactionDigest], ) -> Vec<Option<TransactionEvents>>; fn notify_read_executed_effects_digests<'a>( &'a self, digests: &'a [TransactionDigest], ) -> BoxFuture<'a, Vec<TransactionEffectsDigest>>; // Provided methods fn get_transaction_block( &self, digest: &TransactionDigest, ) -> Option<Arc<VerifiedTransaction>> { ... } fn get_transactions_and_serialized_sizes( &self, digests: &[TransactionDigest], ) -> SuiResult<Vec<Option<(VerifiedTransaction, usize)>>> { ... } fn is_tx_already_executed(&self, digest: &TransactionDigest) -> bool { ... } fn multi_get_executed_effects( &self, digests: &[TransactionDigest], ) -> Vec<Option<TransactionEffects>> { ... } fn get_executed_effects( &self, digest: &TransactionDigest, ) -> Option<TransactionEffects> { ... } fn get_effects( &self, digest: &TransactionEffectsDigest, ) -> Option<TransactionEffects> { ... } fn get_events( &self, digest: &TransactionDigest, ) -> Option<TransactionEvents> { ... } fn notify_read_executed_effects<'a>( &'a self, digests: &'a [TransactionDigest], ) -> BoxFuture<'a, Vec<TransactionEffects>> { ... }
}

Required Methods§

Provided Methods§

Source

fn get_transaction_block( &self, digest: &TransactionDigest, ) -> Option<Arc<VerifiedTransaction>>

Source

fn get_transactions_and_serialized_sizes( &self, digests: &[TransactionDigest], ) -> SuiResult<Vec<Option<(VerifiedTransaction, usize)>>>

Source

fn is_tx_already_executed(&self, digest: &TransactionDigest) -> bool

Source

fn multi_get_executed_effects( &self, digests: &[TransactionDigest], ) -> Vec<Option<TransactionEffects>>

Source

fn get_executed_effects( &self, digest: &TransactionDigest, ) -> Option<TransactionEffects>

Source

fn get_effects( &self, digest: &TransactionEffectsDigest, ) -> Option<TransactionEffects>

Source

fn get_events(&self, digest: &TransactionDigest) -> Option<TransactionEvents>

Source

fn notify_read_executed_effects<'a>( &'a self, digests: &'a [TransactionDigest], ) -> BoxFuture<'a, Vec<TransactionEffects>>

Wait until the effects of the given transactions are available and return them. WARNING: If calling this on a transaction that could be reverted, you must be sure that this function cannot be called during reconfiguration. The best way to do this is to wrap your future in EpochStore::within_alive_epoch. Holding an ExecutionLockReadGuard would also prevent reconfig from happening while waiting, but this is very dangerous, as it could prevent reconfiguration from ever occurring!

Implementors§