pub trait SolanaProviderTrait: Send + Sync {
Show 14 methods
    // Required methods
    fn get_balance<'life0, 'life1, 'async_trait>(
        &'life0 self,
        address: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_latest_blockhash<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Hash, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_latest_blockhash_with_commitment<'life0, 'async_trait>(
        &'life0 self,
        commitment: CommitmentConfig,
    ) -> Pin<Box<dyn Future<Output = Result<(Hash, u64), SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn send_transaction<'life0, 'life1, 'async_trait>(
        &'life0 self,
        transaction: &'life1 Transaction,
    ) -> Pin<Box<dyn Future<Output = Result<Signature, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn confirm_transaction<'life0, 'life1, 'async_trait>(
        &'life0 self,
        signature: &'life1 Signature,
    ) -> Pin<Box<dyn Future<Output = Result<bool, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_minimum_balance_for_rent_exemption<'life0, 'async_trait>(
        &'life0 self,
        data_size: usize,
    ) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn simulate_transaction<'life0, 'life1, 'async_trait>(
        &'life0 self,
        transaction: &'life1 Transaction,
    ) -> Pin<Box<dyn Future<Output = Result<RpcSimulateTransactionResult, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_account_from_str<'life0, 'life1, 'async_trait>(
        &'life0 self,
        account: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Account, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_account_from_pubkey<'life0, 'life1, 'async_trait>(
        &'life0 self,
        pubkey: &'life1 Pubkey,
    ) -> Pin<Box<dyn Future<Output = Result<Account, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_token_metadata_from_pubkey<'life0, 'life1, 'async_trait>(
        &'life0 self,
        pubkey: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<TokenMetadata, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn is_blockhash_valid<'life0, 'life1, 'async_trait>(
        &'life0 self,
        hash: &'life1 Hash,
        commitment: CommitmentConfig,
    ) -> Pin<Box<dyn Future<Output = Result<bool, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_fee_for_message<'life0, 'life1, 'async_trait>(
        &'life0 self,
        message: &'life1 Message,
    ) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_recent_prioritization_fees<'life0, 'life1, 'async_trait>(
        &'life0 self,
        addresses: &'life1 [Pubkey],
    ) -> Pin<Box<dyn Future<Output = Result<Vec<RpcPrioritizationFee>, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn calculate_total_fee<'life0, 'life1, 'async_trait>(
        &'life0 self,
        message: &'life1 Message,
    ) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}Expand description
A trait that abstracts common Solana provider operations.
Required Methods§
Sourcefn get_balance<'life0, 'life1, 'async_trait>(
    &'life0 self,
    address: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn get_balance<'life0, 'life1, 'async_trait>(
    &'life0 self,
    address: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Retrieves the balance (in lamports) for the given address.
Sourcefn get_latest_blockhash<'life0, 'async_trait>(
    &'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Hash, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
 
fn get_latest_blockhash<'life0, 'async_trait>(
    &'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Hash, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
Retrieves the latest blockhash as a 32-byte array.
fn get_latest_blockhash_with_commitment<'life0, 'async_trait>(
    &'life0 self,
    commitment: CommitmentConfig,
) -> Pin<Box<dyn Future<Output = Result<(Hash, u64), SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
Sourcefn send_transaction<'life0, 'life1, 'async_trait>(
    &'life0 self,
    transaction: &'life1 Transaction,
) -> Pin<Box<dyn Future<Output = Result<Signature, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn send_transaction<'life0, 'life1, 'async_trait>(
    &'life0 self,
    transaction: &'life1 Transaction,
) -> Pin<Box<dyn Future<Output = Result<Signature, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Sends a transaction to the Solana network.
Sourcefn confirm_transaction<'life0, 'life1, 'async_trait>(
    &'life0 self,
    signature: &'life1 Signature,
) -> Pin<Box<dyn Future<Output = Result<bool, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn confirm_transaction<'life0, 'life1, 'async_trait>(
    &'life0 self,
    signature: &'life1 Signature,
) -> Pin<Box<dyn Future<Output = Result<bool, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Confirms a transaction given its signature.
Sourcefn get_minimum_balance_for_rent_exemption<'life0, 'async_trait>(
    &'life0 self,
    data_size: usize,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
 
fn get_minimum_balance_for_rent_exemption<'life0, 'async_trait>(
    &'life0 self,
    data_size: usize,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
Retrieves the minimum balance required for rent exemption for the specified data size.
Sourcefn simulate_transaction<'life0, 'life1, 'async_trait>(
    &'life0 self,
    transaction: &'life1 Transaction,
) -> Pin<Box<dyn Future<Output = Result<RpcSimulateTransactionResult, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn simulate_transaction<'life0, 'life1, 'async_trait>(
    &'life0 self,
    transaction: &'life1 Transaction,
) -> Pin<Box<dyn Future<Output = Result<RpcSimulateTransactionResult, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Simulates a transaction and returns the simulation result.
Sourcefn get_account_from_str<'life0, 'life1, 'async_trait>(
    &'life0 self,
    account: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Account, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn get_account_from_str<'life0, 'life1, 'async_trait>(
    &'life0 self,
    account: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Account, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Retrieve an account given its string representation.
Sourcefn get_account_from_pubkey<'life0, 'life1, 'async_trait>(
    &'life0 self,
    pubkey: &'life1 Pubkey,
) -> Pin<Box<dyn Future<Output = Result<Account, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn get_account_from_pubkey<'life0, 'life1, 'async_trait>(
    &'life0 self,
    pubkey: &'life1 Pubkey,
) -> Pin<Box<dyn Future<Output = Result<Account, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Retrieve an account given its Pubkey.
Sourcefn get_token_metadata_from_pubkey<'life0, 'life1, 'async_trait>(
    &'life0 self,
    pubkey: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<TokenMetadata, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn get_token_metadata_from_pubkey<'life0, 'life1, 'async_trait>(
    &'life0 self,
    pubkey: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<TokenMetadata, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Retrieve token metadata from the provided pubkey.
Sourcefn is_blockhash_valid<'life0, 'life1, 'async_trait>(
    &'life0 self,
    hash: &'life1 Hash,
    commitment: CommitmentConfig,
) -> Pin<Box<dyn Future<Output = Result<bool, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn is_blockhash_valid<'life0, 'life1, 'async_trait>(
    &'life0 self,
    hash: &'life1 Hash,
    commitment: CommitmentConfig,
) -> Pin<Box<dyn Future<Output = Result<bool, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Check if a blockhash is valid.
Sourcefn get_fee_for_message<'life0, 'life1, 'async_trait>(
    &'life0 self,
    message: &'life1 Message,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn get_fee_for_message<'life0, 'life1, 'async_trait>(
    &'life0 self,
    message: &'life1 Message,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
get fee for message
Sourcefn get_recent_prioritization_fees<'life0, 'life1, 'async_trait>(
    &'life0 self,
    addresses: &'life1 [Pubkey],
) -> Pin<Box<dyn Future<Output = Result<Vec<RpcPrioritizationFee>, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn get_recent_prioritization_fees<'life0, 'life1, 'async_trait>(
    &'life0 self,
    addresses: &'life1 [Pubkey],
) -> Pin<Box<dyn Future<Output = Result<Vec<RpcPrioritizationFee>, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
get recent prioritization fees
Sourcefn calculate_total_fee<'life0, 'life1, 'async_trait>(
    &'life0 self,
    message: &'life1 Message,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn calculate_total_fee<'life0, 'life1, 'async_trait>(
    &'life0 self,
    message: &'life1 Message,
) -> Pin<Box<dyn Future<Output = Result<u64, SolanaProviderError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
calculate total fee