Trait solana_core::rpc::RpcSol[][src]

pub trait RpcSol: Sized + Send + Sync + 'static {
    type Metadata: Metadata;
    fn confirm_transaction(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<bool>>;
fn get_signature_status(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Option<Result<()>>>;
fn get_signature_confirmation(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Option<RpcSignatureConfirmation>>;
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<Vec<RpcKeyedAccount>>;
fn get_minimum_balance_for_rent_exemption(
        &self,
        meta: Self::Metadata,
        data_len: usize,
        commitment: Option<CommitmentConfig>
    ) -> Result<u64>;
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_balance(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<u64>>;
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_epoch_info(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<EpochInfo>;
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_health(&self, meta: Self::Metadata) -> Result<String>;
fn get_leader_schedule(
        &self,
        meta: Self::Metadata,
        slot: Option<Slot>,
        commitment: Option<CommitmentConfig>
    ) -> Result<Option<RpcLeaderSchedule>>;
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_snapshot_slot(&self, meta: Self::Metadata) -> Result<Slot>;
fn get_signature_statuses(
        &self,
        meta: Self::Metadata,
        signature_strs: Vec<String>,
        config: Option<RpcSignatureStatusConfig>
    ) -> Result<RpcResponse<Vec<Option<TransactionStatus>>>>;
fn get_slot(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<Slot>;
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_transaction_count(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<u64>;
fn get_total_supply(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<u64>;
fn get_largest_accounts(
        &self,
        meta: Self::Metadata,
        config: Option<RpcLargestAccountsConfig>
    ) -> Result<RpcResponse<Vec<RpcAccountBalance>>>;
fn get_supply(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcResponse<RpcSupply>>;
fn request_airdrop(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        lamports: u64,
        commitment: Option<CommitmentConfig>
    ) -> 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 minimum_ledger_slot(&self, meta: Self::Metadata) -> Result<Slot>;
fn get_vote_accounts(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcVoteAccountStatus>;
fn validator_exit(&self, meta: Self::Metadata) -> Result<bool>;
fn get_identity(&self, meta: Self::Metadata) -> Result<RpcIdentity>;
fn get_version(&self, meta: Self::Metadata) -> Result<RpcVersionInfo>;
fn set_log_filter(
        &self,
        _meta: Self::Metadata,
        filter: String
    ) -> Result<()>;
fn get_confirmed_block(
        &self,
        meta: Self::Metadata,
        slot: Slot,
        encoding: Option<UiTransactionEncoding>
    ) -> Result<Option<EncodedConfirmedBlock>>;
fn get_block_time(
        &self,
        meta: Self::Metadata,
        slot: Slot
    ) -> Result<Option<UnixTimestamp>>;
fn get_confirmed_blocks(
        &self,
        meta: Self::Metadata,
        start_slot: Slot,
        end_slot: Option<Slot>
    ) -> Result<Vec<Slot>>;
fn get_confirmed_blocks_with_limit(
        &self,
        meta: Self::Metadata,
        start_slot: Slot,
        limit: usize
    ) -> Result<Vec<Slot>>;
fn get_confirmed_transaction(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        encoding: Option<UiTransactionEncoding>
    ) -> Result<Option<EncodedConfirmedTransaction>>;
fn get_confirmed_signatures_for_address(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        start_slot: Slot,
        end_slot: Slot
    ) -> Result<Vec<String>>;
fn get_confirmed_signatures_for_address2(
        &self,
        meta: Self::Metadata,
        address: String,
        config: Option<RpcGetConfirmedSignaturesForAddress2Config>
    ) -> Result<Vec<RpcConfirmedTransactionStatusWithSignature>>;
fn get_first_available_block(&self, meta: Self::Metadata) -> Result<Slot>;
fn get_stake_activation(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        config: Option<RpcStakeConfig>
    ) -> Result<RpcStakeActivation>;
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 get_velas_accounts_by_operational_key(
        &self,
        meta: Self::Metadata,
        pubkey_str: String
    ) -> Result<RpcResponse<Vec<String>>>;
fn get_velas_accounts_by_owner_key(
        &self,
        meta: Self::Metadata,
        pubkey_str: String
    ) -> Result<RpcResponse<Vec<String>>>; fn to_delegate(self) -> IoDelegate<Self, Self::Metadata> { ... } }

Associated Types

type Metadata: Metadata[src]

Loading content...

Required methods

fn confirm_transaction(
    &self,
    meta: Self::Metadata,
    signature_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<bool>>
[src]

fn get_signature_status(
    &self,
    meta: Self::Metadata,
    signature_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<Option<Result<()>>>
[src]

fn get_signature_confirmation(
    &self,
    meta: Self::Metadata,
    signature_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<Option<RpcSignatureConfirmation>>
[src]

fn get_account_info(
    &self,
    meta: Self::Metadata,
    pubkey_str: String,
    config: Option<RpcAccountInfoConfig>
) -> Result<RpcResponse<Option<UiAccount>>>
[src]

fn get_multiple_accounts(
    &self,
    meta: Self::Metadata,
    pubkey_strs: Vec<String>,
    config: Option<RpcAccountInfoConfig>
) -> Result<RpcResponse<Vec<Option<UiAccount>>>>
[src]

fn get_program_accounts(
    &self,
    meta: Self::Metadata,
    program_id_str: String,
    config: Option<RpcProgramAccountsConfig>
) -> Result<Vec<RpcKeyedAccount>>
[src]

fn get_minimum_balance_for_rent_exemption(
    &self,
    meta: Self::Metadata,
    data_len: usize,
    commitment: Option<CommitmentConfig>
) -> Result<u64>
[src]

fn get_inflation_governor(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<RpcInflationGovernor>
[src]

fn get_inflation_rate(&self, meta: Self::Metadata) -> Result<RpcInflationRate>[src]

fn get_epoch_schedule(&self, meta: Self::Metadata) -> Result<EpochSchedule>[src]

fn get_balance(
    &self,
    meta: Self::Metadata,
    pubkey_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<u64>>
[src]

fn get_cluster_nodes(&self, meta: Self::Metadata) -> Result<Vec<RpcContactInfo>>[src]

fn get_recent_performance_samples(
    &self,
    meta: Self::Metadata,
    limit: Option<usize>
) -> Result<Vec<RpcPerfSample>>
[src]

fn get_epoch_info(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<EpochInfo>
[src]

fn get_block_commitment(
    &self,
    meta: Self::Metadata,
    block: Slot
) -> Result<RpcBlockCommitment<BlockCommitmentArray>>
[src]

fn get_genesis_hash(&self, meta: Self::Metadata) -> Result<String>[src]

fn get_health(&self, meta: Self::Metadata) -> Result<String>[src]

fn get_leader_schedule(
    &self,
    meta: Self::Metadata,
    slot: Option<Slot>,
    commitment: Option<CommitmentConfig>
) -> Result<Option<RpcLeaderSchedule>>
[src]

fn get_recent_blockhash(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<RpcBlockhashFeeCalculator>>
[src]

fn get_fees(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<RpcFees>>
[src]

fn get_fee_calculator_for_blockhash(
    &self,
    meta: Self::Metadata,
    blockhash: String,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<Option<RpcFeeCalculator>>>
[src]

fn get_fee_rate_governor(
    &self,
    meta: Self::Metadata
) -> Result<RpcResponse<RpcFeeRateGovernor>>
[src]

fn get_snapshot_slot(&self, meta: Self::Metadata) -> Result<Slot>[src]

fn get_signature_statuses(
    &self,
    meta: Self::Metadata,
    signature_strs: Vec<String>,
    config: Option<RpcSignatureStatusConfig>
) -> Result<RpcResponse<Vec<Option<TransactionStatus>>>>
[src]

fn get_slot(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<Slot>
[src]

fn get_max_retransmit_slot(&self, meta: Self::Metadata) -> Result<Slot>[src]

fn get_max_shred_insert_slot(&self, meta: Self::Metadata) -> Result<Slot>[src]

fn get_transaction_count(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<u64>
[src]

fn get_total_supply(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<u64>
[src]

fn get_largest_accounts(
    &self,
    meta: Self::Metadata,
    config: Option<RpcLargestAccountsConfig>
) -> Result<RpcResponse<Vec<RpcAccountBalance>>>
[src]

fn get_supply(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<RpcSupply>>
[src]

fn request_airdrop(
    &self,
    meta: Self::Metadata,
    pubkey_str: String,
    lamports: u64,
    commitment: Option<CommitmentConfig>
) -> Result<String>
[src]

fn send_transaction(
    &self,
    meta: Self::Metadata,
    data: String,
    config: Option<RpcSendTransactionConfig>
) -> Result<String>
[src]

fn simulate_transaction(
    &self,
    meta: Self::Metadata,
    data: String,
    config: Option<RpcSimulateTransactionConfig>
) -> Result<RpcResponse<RpcSimulateTransactionResult>>
[src]

fn get_slot_leader(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<String>
[src]

fn minimum_ledger_slot(&self, meta: Self::Metadata) -> Result<Slot>[src]

fn get_vote_accounts(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<RpcVoteAccountStatus>
[src]

fn validator_exit(&self, meta: Self::Metadata) -> Result<bool>[src]

fn get_identity(&self, meta: Self::Metadata) -> Result<RpcIdentity>[src]

fn get_version(&self, meta: Self::Metadata) -> Result<RpcVersionInfo>[src]

fn set_log_filter(&self, _meta: Self::Metadata, filter: String) -> Result<()>[src]

fn get_confirmed_block(
    &self,
    meta: Self::Metadata,
    slot: Slot,
    encoding: Option<UiTransactionEncoding>
) -> Result<Option<EncodedConfirmedBlock>>
[src]

fn get_block_time(
    &self,
    meta: Self::Metadata,
    slot: Slot
) -> Result<Option<UnixTimestamp>>
[src]

fn get_confirmed_blocks(
    &self,
    meta: Self::Metadata,
    start_slot: Slot,
    end_slot: Option<Slot>
) -> Result<Vec<Slot>>
[src]

fn get_confirmed_blocks_with_limit(
    &self,
    meta: Self::Metadata,
    start_slot: Slot,
    limit: usize
) -> Result<Vec<Slot>>
[src]

fn get_confirmed_transaction(
    &self,
    meta: Self::Metadata,
    signature_str: String,
    encoding: Option<UiTransactionEncoding>
) -> Result<Option<EncodedConfirmedTransaction>>
[src]

fn get_confirmed_signatures_for_address(
    &self,
    meta: Self::Metadata,
    pubkey_str: String,
    start_slot: Slot,
    end_slot: Slot
) -> Result<Vec<String>>
[src]

fn get_confirmed_signatures_for_address2(
    &self,
    meta: Self::Metadata,
    address: String,
    config: Option<RpcGetConfirmedSignaturesForAddress2Config>
) -> Result<Vec<RpcConfirmedTransactionStatusWithSignature>>
[src]

fn get_first_available_block(&self, meta: Self::Metadata) -> Result<Slot>[src]

fn get_stake_activation(
    &self,
    meta: Self::Metadata,
    pubkey_str: String,
    config: Option<RpcStakeConfig>
) -> Result<RpcStakeActivation>
[src]

fn get_token_account_balance(
    &self,
    meta: Self::Metadata,
    pubkey_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<UiTokenAmount>>
[src]

fn get_token_supply(
    &self,
    meta: Self::Metadata,
    mint_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<UiTokenAmount>>
[src]

fn get_token_largest_accounts(
    &self,
    meta: Self::Metadata,
    mint_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<RpcResponse<Vec<RpcTokenAccountBalance>>>
[src]

fn get_token_accounts_by_owner(
    &self,
    meta: Self::Metadata,
    owner_str: String,
    token_account_filter: RpcTokenAccountsFilter,
    config: Option<RpcAccountInfoConfig>
) -> Result<RpcResponse<Vec<RpcKeyedAccount>>>
[src]

fn get_token_accounts_by_delegate(
    &self,
    meta: Self::Metadata,
    delegate_str: String,
    token_account_filter: RpcTokenAccountsFilter,
    config: Option<RpcAccountInfoConfig>
) -> Result<RpcResponse<Vec<RpcKeyedAccount>>>
[src]

fn get_velas_accounts_by_operational_key(
    &self,
    meta: Self::Metadata,
    pubkey_str: String
) -> Result<RpcResponse<Vec<String>>>
[src]

fn get_velas_accounts_by_owner_key(
    &self,
    meta: Self::Metadata,
    pubkey_str: String
) -> Result<RpcResponse<Vec<String>>>
[src]

Loading content...

Provided methods

fn to_delegate(self) -> IoDelegate<Self, Self::Metadata>[src]

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

Loading content...

Implementors

impl RpcSol for RpcSolImpl[src]

type Metadata = JsonRpcRequestProcessor

Loading content...