Trait mithril_signer::TransactionStore
source · pub trait TransactionStore: Send + Sync {
// Required methods
fn get_highest_beacon<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<ImmutableFileNumber>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_up_to<'life0, 'async_trait>(
&'life0 self,
immutable_file_number: ImmutableFileNumber
) -> Pin<Box<dyn Future<Output = StdResult<Vec<CardanoTransaction>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn store_transactions<'life0, 'async_trait>(
&'life0 self,
transactions: Vec<CardanoTransaction>
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_block_interval_without_block_range_root<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<Range<BlockNumber>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_transactions_in_range<'life0, 'async_trait>(
&'life0 self,
range: Range<BlockNumber>
) -> Pin<Box<dyn Future<Output = StdResult<Vec<CardanoTransaction>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn store_block_range_roots<'life0, 'async_trait>(
&'life0 self,
block_ranges: Vec<(BlockRange, MKTreeNode)>
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
Cardano transactions store
Required Methods§
sourcefn get_highest_beacon<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<ImmutableFileNumber>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_highest_beacon<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<ImmutableFileNumber>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the highest known transaction beacon
sourcefn get_up_to<'life0, 'async_trait>(
&'life0 self,
immutable_file_number: ImmutableFileNumber
) -> Pin<Box<dyn Future<Output = StdResult<Vec<CardanoTransaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_up_to<'life0, 'async_trait>(
&'life0 self,
immutable_file_number: ImmutableFileNumber
) -> Pin<Box<dyn Future<Output = StdResult<Vec<CardanoTransaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get stored transactions up to the given beacon
sourcefn store_transactions<'life0, 'async_trait>(
&'life0 self,
transactions: Vec<CardanoTransaction>
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn store_transactions<'life0, 'async_trait>(
&'life0 self,
transactions: Vec<CardanoTransaction>
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Store list of transactions
sourcefn get_block_interval_without_block_range_root<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<Range<BlockNumber>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_interval_without_block_range_root<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<Range<BlockNumber>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the interval of blocks whose merkle root has yet to be computed
sourcefn get_transactions_in_range<'life0, 'async_trait>(
&'life0 self,
range: Range<BlockNumber>
) -> Pin<Box<dyn Future<Output = StdResult<Vec<CardanoTransaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transactions_in_range<'life0, 'async_trait>(
&'life0 self,
range: Range<BlockNumber>
) -> Pin<Box<dyn Future<Output = StdResult<Vec<CardanoTransaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get transactions in an interval of blocks
sourcefn store_block_range_roots<'life0, 'async_trait>(
&'life0 self,
block_ranges: Vec<(BlockRange, MKTreeNode)>
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn store_block_range_roots<'life0, 'async_trait>(
&'life0 self,
block_ranges: Vec<(BlockRange, MKTreeNode)>
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Store list of block ranges with their corresponding merkle root