pub trait TransactionKeyValueStoreTrait {
// Required methods
fn multi_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transactions: &'life1 [TransactionDigest],
effects: &'life2 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<KVStoreTransactionData>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn multi_get_checkpoints<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
checkpoint_summaries: &'life1 [CheckpointSequenceNumber],
checkpoint_contents: &'life2 [CheckpointSequenceNumber],
checkpoint_summaries_by_digest: &'life3 [CheckpointDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<KVStoreCheckpointData>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn deprecated_get_transaction_checkpoint<'life0, 'async_trait>(
&'life0 self,
digest: TransactionDigest,
) -> Pin<Box<dyn Future<Output = SuiResult<Option<CheckpointSequenceNumber>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_object<'life0, 'async_trait>(
&'life0 self,
object_id: ObjectID,
version: SequenceNumber,
) -> Pin<Box<dyn Future<Output = SuiResult<Option<Object>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn multi_get_transaction_checkpoint<'life0, 'life1, 'async_trait>(
&'life0 self,
digests: &'life1 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<Vec<Option<CheckpointSequenceNumber>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn multi_get_events_by_tx_digests<'life0, 'life1, 'async_trait>(
&'life0 self,
digests: &'life1 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<Vec<Option<TransactionEvents>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}
Expand description
Immutable key/value store trait for storing/retrieving transactions, effects, and events. Only defines multi_get/multi_put methods to discourage single key/value operations.
Required Methods§
Sourcefn multi_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transactions: &'life1 [TransactionDigest],
effects: &'life2 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<KVStoreTransactionData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn multi_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transactions: &'life1 [TransactionDigest],
effects: &'life2 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<KVStoreTransactionData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Generic multi_get, allows implementors to get heterogenous values with a single round trip.
Sourcefn multi_get_checkpoints<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
checkpoint_summaries: &'life1 [CheckpointSequenceNumber],
checkpoint_contents: &'life2 [CheckpointSequenceNumber],
checkpoint_summaries_by_digest: &'life3 [CheckpointDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<KVStoreCheckpointData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn multi_get_checkpoints<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
checkpoint_summaries: &'life1 [CheckpointSequenceNumber],
checkpoint_contents: &'life2 [CheckpointSequenceNumber],
checkpoint_summaries_by_digest: &'life3 [CheckpointDigest],
) -> Pin<Box<dyn Future<Output = SuiResult<KVStoreCheckpointData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Generic multi_get to allow implementors to get heterogenous values with a single round trip.