Trait solana_rpc::rpc::rpc_full::Full[][src]

pub trait Full: Sized + Send + Sync + 'static {
    type Metadata: Metadata;
Show 42 methods fn get_account_info(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        config: Option<RpcAccountInfoConfig>
    ) -> Result<RpcResponse<Option<UiAccount>>>;
fn get_multiple_accounts(
        &self,
        meta: Self::Metadata,
        pubkey_strs: Vec<String>,
        config: Option<RpcAccountInfoConfig>
    ) -> Result<RpcResponse<Vec<Option<UiAccount>>>>;
fn get_program_accounts(
        &self,
        meta: Self::Metadata,
        program_id_str: String,
        config: Option<RpcProgramAccountsConfig>
    ) -> Result<OptionalContext<Vec<RpcKeyedAccount>>>;
fn get_minimum_balance_for_rent_exemption(
        &self,
        meta: Self::Metadata,
        data_len: usize,
        commitment: Option<CommitmentConfig>
    ) -> Result<u64>;
fn get_inflation_reward(
        &self,
        meta: Self::Metadata,
        address_strs: Vec<String>,
        config: Option<RpcEpochConfig>
    ) -> BoxFuture<Result<Vec<Option<RpcInflationReward>>>>;
fn get_inflation_governor(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcInflationGovernor>;
fn get_inflation_rate(
        &self,
        meta: Self::Metadata
    ) -> Result<RpcInflationRate>;
fn get_epoch_schedule(&self, meta: Self::Metadata) -> Result<EpochSchedule>;
fn get_cluster_nodes(
        &self,
        meta: Self::Metadata
    ) -> Result<Vec<RpcContactInfo>>;
fn get_recent_performance_samples(
        &self,
        meta: Self::Metadata,
        limit: Option<usize>
    ) -> Result<Vec<RpcPerfSample>>;
fn get_block_commitment(
        &self,
        meta: Self::Metadata,
        block: Slot
    ) -> Result<RpcBlockCommitment<BlockCommitmentArray>>;
fn get_genesis_hash(&self, meta: Self::Metadata) -> Result<String>;
fn get_recent_blockhash(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<RpcBlockhashFeeCalculator>>;
fn get_fees(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<RpcFees>>;
fn get_fee_calculator_for_blockhash(
        &self,
        meta: Self::Metadata,
        blockhash: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<Option<RpcFeeCalculator>>>;
fn get_fee_rate_governor(
        &self,
        meta: Self::Metadata
    ) -> Result<RpcResponse<RpcFeeRateGovernor>>;
fn get_signature_statuses(
        &self,
        meta: Self::Metadata,
        signature_strs: Vec<String>,
        config: Option<RpcSignatureStatusConfig>
    ) -> BoxFuture<Result<RpcResponse<Vec<Option<TransactionStatus>>>>>;
fn get_max_retransmit_slot(&self, meta: Self::Metadata) -> Result<Slot>;
fn get_max_shred_insert_slot(&self, meta: Self::Metadata) -> Result<Slot>;
fn get_largest_accounts(
        &self,
        meta: Self::Metadata,
        config: Option<RpcLargestAccountsConfig>
    ) -> Result<RpcResponse<Vec<RpcAccountBalance>>>;
fn get_supply(
        &self,
        meta: Self::Metadata,
        config: Option<RpcSupplyConfig>
    ) -> Result<RpcResponse<RpcSupply>>;
fn request_airdrop(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        lamports: u64,
        config: Option<RpcRequestAirdropConfig>
    ) -> Result<String>;
fn send_transaction(
        &self,
        meta: Self::Metadata,
        data: String,
        config: Option<RpcSendTransactionConfig>
    ) -> Result<String>;
fn simulate_transaction(
        &self,
        meta: Self::Metadata,
        data: String,
        config: Option<RpcSimulateTransactionConfig>
    ) -> Result<RpcResponse<RpcSimulateTransactionResult>>;
fn get_slot_leader(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<String>;
fn get_slot_leaders(
        &self,
        meta: Self::Metadata,
        start_slot: Slot,
        limit: u64
    ) -> Result<Vec<String>>;
fn minimum_ledger_slot(&self, meta: Self::Metadata) -> Result<Slot>;
fn get_block(
        &self,
        meta: Self::Metadata,
        slot: Slot,
        config: Option<RpcEncodingConfigWrapper<RpcBlockConfig>>
    ) -> BoxFuture<Result<Option<UiConfirmedBlock>>>;
fn get_block_time(
        &self,
        meta: Self::Metadata,
        slot: Slot
    ) -> BoxFuture<Result<Option<UnixTimestamp>>>;
fn get_blocks(
        &self,
        meta: Self::Metadata,
        start_slot: Slot,
        config: Option<RpcBlocksConfigWrapper>,
        commitment: Option<CommitmentConfig>
    ) -> BoxFuture<Result<Vec<Slot>>>;
fn get_blocks_with_limit(
        &self,
        meta: Self::Metadata,
        start_slot: Slot,
        limit: usize,
        commitment: Option<CommitmentConfig>
    ) -> BoxFuture<Result<Vec<Slot>>>;
fn get_transaction(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        config: Option<RpcEncodingConfigWrapper<RpcTransactionConfig>>
    ) -> BoxFuture<Result<Option<EncodedConfirmedTransaction>>>;
fn get_signatures_for_address(
        &self,
        meta: Self::Metadata,
        address: String,
        config: Option<RpcSignaturesForAddressConfig>
    ) -> BoxFuture<Result<Vec<RpcConfirmedTransactionStatusWithSignature>>>;
fn get_first_available_block(
        &self,
        meta: Self::Metadata
    ) -> BoxFuture<Result<Slot>>;
fn get_stake_activation(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        config: Option<RpcEpochConfig>
    ) -> Result<RpcStakeActivation>;
fn get_block_production(
        &self,
        meta: Self::Metadata,
        config: Option<RpcBlockProductionConfig>
    ) -> Result<RpcResponse<RpcBlockProduction>>;
fn get_token_account_balance(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<UiTokenAmount>>;
fn get_token_supply(
        &self,
        meta: Self::Metadata,
        mint_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<UiTokenAmount>>;
fn get_token_largest_accounts(
        &self,
        meta: Self::Metadata,
        mint_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<Vec<RpcTokenAccountBalance>>>;
fn get_token_accounts_by_owner(
        &self,
        meta: Self::Metadata,
        owner_str: String,
        token_account_filter: RpcTokenAccountsFilter,
        config: Option<RpcAccountInfoConfig>
    ) -> Result<RpcResponse<Vec<RpcKeyedAccount>>>;
fn get_token_accounts_by_delegate(
        &self,
        meta: Self::Metadata,
        delegate_str: String,
        token_account_filter: RpcTokenAccountsFilter,
        config: Option<RpcAccountInfoConfig>
    ) -> Result<RpcResponse<Vec<RpcKeyedAccount>>>; fn to_delegate(self) -> IoDelegate<Self, Self::Metadata> { ... }
}

Associated Types

Required methods

Provided methods

Create an IoDelegate, wiring rpc calls to the trait methods.

Implementors