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
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>>>
Provided methods
fn to_delegate(self) -> IoDelegate<Self, Self::Metadata>
fn to_delegate(self) -> IoDelegate<Self, Self::Metadata>
Create an IoDelegate
, wiring rpc calls to the trait methods.