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

pub trait RpcSol: Sized + Send + Sync + 'static {
    type Metadata: Metadata;
    fn confirm_transaction(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Response<bool>>;
fn get_account_info(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Response<Option<RpcAccount>>>;
fn get_program_accounts(
        &self,
        meta: Self::Metadata,
        program_id_str: String,
        commitment: Option<CommitmentConfig>
    ) -> 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(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<Inflation>;
fn get_epoch_schedule(&self, meta: Self::Metadata) -> Result<EpochSchedule>;
fn get_balance(
        &self,
        meta: Self::Metadata,
        pubkey_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Response<u64>>;
fn get_cluster_nodes(
        &self,
        meta: Self::Metadata
    ) -> Result<Vec<RpcContactInfo>>;
fn get_epoch_info(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<RpcEpochInfo>;
fn get_block_commitment(
        &self,
        meta: Self::Metadata,
        block: Slot
    ) -> Result<RpcBlockCommitment<[u64; 31]>>;
fn get_genesis_hash(&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<Response<RpcBlockhashFeeCalculator>>;
fn get_fee_calculator_for_blockhash(
        &self,
        meta: Self::Metadata,
        blockhash: String
    ) -> Result<Response<Option<RpcFeeCalculator>>>;
fn get_fee_rate_governor(
        &self,
        meta: Self::Metadata
    ) -> Result<Response<RpcFeeRateGovernor>>;
fn get_signature_status(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Option<Result<()>>>;
fn get_slot(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<u64>;
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 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
    ) -> Result<String>;
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 get_storage_turn_rate(&self, meta: Self::Metadata) -> Result<u64>;
fn get_storage_turn(&self, meta: Self::Metadata) -> Result<RpcStorageTurn>;
fn get_slots_per_segment(
        &self,
        meta: Self::Metadata,
        commitment: Option<CommitmentConfig>
    ) -> Result<u64>;
fn get_storage_pubkeys_for_slot(
        &self,
        meta: Self::Metadata,
        slot: u64
    ) -> Result<Vec<String>>;
fn validator_exit(&self, meta: Self::Metadata) -> Result<bool>;
fn get_num_blocks_since_signature_confirmation(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Option<usize>>;
fn get_signature_confirmation(
        &self,
        meta: Self::Metadata,
        signature_str: String,
        commitment: Option<CommitmentConfig>
    ) -> Result<Option<RpcSignatureConfirmation>>;
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<RpcTransactionEncoding>
    ) -> Result<Option<RpcConfirmedBlock>>;
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 to_delegate(self) -> IoDelegate<Self, Self::Metadata> { ... } }

Associated Types

Loading content...

Required methods

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

fn get_account_info(
    &self,
    meta: Self::Metadata,
    pubkey_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<Response<Option<RpcAccount>>>

fn get_program_accounts(
    &self,
    meta: Self::Metadata,
    program_id_str: String,
    commitment: Option<CommitmentConfig>
) -> 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(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<Inflation>

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

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

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

fn get_epoch_info(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<RpcEpochInfo>

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

fn get_genesis_hash(&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<Response<RpcBlockhashFeeCalculator>>

fn get_fee_calculator_for_blockhash(
    &self,
    meta: Self::Metadata,
    blockhash: String
) -> Result<Response<Option<RpcFeeCalculator>>>

fn get_fee_rate_governor(
    &self,
    meta: Self::Metadata
) -> Result<Response<RpcFeeRateGovernor>>

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

fn get_slot(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<u64>

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 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) -> Result<String>

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 get_storage_turn_rate(&self, meta: Self::Metadata) -> Result<u64>

fn get_storage_turn(&self, meta: Self::Metadata) -> Result<RpcStorageTurn>

fn get_slots_per_segment(
    &self,
    meta: Self::Metadata,
    commitment: Option<CommitmentConfig>
) -> Result<u64>

fn get_storage_pubkeys_for_slot(
    &self,
    meta: Self::Metadata,
    slot: u64
) -> Result<Vec<String>>

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

fn get_num_blocks_since_signature_confirmation(
    &self,
    meta: Self::Metadata,
    signature_str: String,
    commitment: Option<CommitmentConfig>
) -> Result<Option<usize>>

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

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<RpcTransactionEncoding>
) -> Result<Option<RpcConfirmedBlock>>

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>>

Loading content...

Provided methods

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

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

Loading content...

Implementors

impl RpcSol for RpcSolImpl[src]

type Metadata = Meta

Loading content...