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§

source

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

source

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

source

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

source

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

source

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

source

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

Implementors§