Struct solana_client::thin_client::ThinClient[][src]

pub struct ThinClient { /* fields omitted */ }
Expand description

An object for querying and sending transactions to the network.

Implementations

impl ThinClient[src]

pub fn new(
    rpc_addr: SocketAddr,
    tpu_addr: SocketAddr,
    transactions_socket: UdpSocket
) -> Self
[src]

Create a new ThinClient that will interface with the Rpc at rpc_addr using TCP and the Tpu at tpu_addr over transactions_socket using UDP.

pub fn new_socket_with_timeout(
    rpc_addr: SocketAddr,
    tpu_addr: SocketAddr,
    transactions_socket: UdpSocket,
    timeout: Duration
) -> Self
[src]

pub fn new_from_addrs(
    rpc_addrs: Vec<SocketAddr>,
    tpu_addrs: Vec<SocketAddr>,
    transactions_socket: UdpSocket
) -> Self
[src]

pub fn retry_transfer_until_confirmed(
    &self,
    keypair: &Keypair,
    transaction: &mut Transaction,
    tries: usize,
    min_confirmed_blocks: usize
) -> TransportResult<Signature>
[src]

Retry a sending a signed Transaction to the server for processing.

pub fn retry_transfer(
    &self,
    keypair: &Keypair,
    transaction: &mut Transaction,
    tries: usize
) -> TransportResult<Signature>
[src]

Retry sending a signed Transaction with one signing Keypair to the server for processing.

pub fn send_and_confirm_transaction<T: Signers>(
    &self,
    keypairs: &T,
    transaction: &mut Transaction,
    tries: usize,
    pending_confirmations: usize
) -> TransportResult<Signature>
[src]

Retry sending a signed Transaction to the server for processing

pub fn poll_get_balance(&self, pubkey: &Pubkey) -> TransportResult<u64>[src]

pub fn poll_get_balance_with_commitment(
    &self,
    pubkey: &Pubkey,
    commitment_config: CommitmentConfig
) -> TransportResult<u64>
[src]

pub fn wait_for_balance(
    &self,
    pubkey: &Pubkey,
    expected_balance: Option<u64>
) -> Option<u64>
[src]

pub fn get_program_accounts_with_config(
    &self,
    pubkey: &Pubkey,
    config: RpcProgramAccountsConfig
) -> TransportResult<Vec<(Pubkey, Account)>>
[src]

pub fn wait_for_balance_with_commitment(
    &self,
    pubkey: &Pubkey,
    expected_balance: Option<u64>,
    commitment_config: CommitmentConfig
) -> Option<u64>
[src]

pub fn poll_for_signature_with_commitment(
    &self,
    signature: &Signature,
    commitment_config: CommitmentConfig
) -> TransportResult<()>
[src]

pub fn get_num_blocks_since_signature_confirmation(
    &mut self,
    sig: &Signature
) -> TransportResult<usize>
[src]

Trait Implementations

impl AsyncClient for ThinClient[src]

fn async_send_transaction(
    &self,
    transaction: Transaction
) -> TransportResult<Signature>
[src]

Send a signed transaction, but don’t wait to see if the server accepted it.

fn async_send_message<T: Signers>(
    &self,
    keypairs: &T,
    message: Message,
    recent_blockhash: Hash
) -> TransportResult<Signature>
[src]

Create a transaction from the given message, and send it to the server, but don’t wait for to see if the server accepted it. Read more

fn async_send_instruction(
    &self,
    keypair: &Keypair,
    instruction: Instruction,
    recent_blockhash: Hash
) -> TransportResult<Signature>
[src]

Create a transaction from a single instruction that only requires a single signer. Then send it to the server, but don’t wait for a reply. Read more

fn async_transfer(
    &self,
    lamports: u64,
    keypair: &Keypair,
    pubkey: &Pubkey,
    recent_blockhash: Hash
) -> TransportResult<Signature>
[src]

Attempt to transfer lamports from keypair to pubkey, but don’t wait to confirm.

impl Client for ThinClient[src]

fn tpu_addr(&self) -> String[src]

impl SyncClient for ThinClient[src]

fn poll_for_signature_confirmation(
    &self,
    signature: &Signature,
    min_confirmed_blocks: usize
) -> TransportResult<usize>
[src]

Poll the server until the signature has been confirmed by at least min_confirmed_blocks

fn send_and_confirm_message<T: Signers>(
    &self,
    keypairs: &T,
    message: Message
) -> TransportResult<Signature>
[src]

Create a transaction from the given message, and send it to the server, retrying as-needed. Read more

fn send_and_confirm_instruction(
    &self,
    keypair: &Keypair,
    instruction: Instruction
) -> TransportResult<Signature>
[src]

Create a transaction from a single instruction that only requires a single signer. Then send it to the server, retrying as-needed. Read more

fn transfer_and_confirm(
    &self,
    lamports: u64,
    keypair: &Keypair,
    pubkey: &Pubkey
) -> TransportResult<Signature>
[src]

Transfer lamports from keypair to pubkey, retrying until the transfer completes or produces and error. Read more

fn get_account_data(&self, pubkey: &Pubkey) -> TransportResult<Option<Vec<u8>>>[src]

Get an account or None if not found.

fn get_account(&self, pubkey: &Pubkey) -> TransportResult<Option<Account>>[src]

Get an account or None if not found.

fn get_account_with_commitment(
    &self,
    pubkey: &Pubkey,
    commitment_config: CommitmentConfig
) -> TransportResult<Option<Account>>
[src]

Get an account or None if not found. Uses explicit commitment configuration.

fn get_balance(&self, pubkey: &Pubkey) -> TransportResult<u64>[src]

Get account balance or 0 if not found.

fn get_balance_with_commitment(
    &self,
    pubkey: &Pubkey,
    commitment_config: CommitmentConfig
) -> TransportResult<u64>
[src]

Get account balance or 0 if not found. Uses explicit commitment configuration.

fn get_minimum_balance_for_rent_exemption(
    &self,
    data_len: usize
) -> TransportResult<u64>
[src]

fn get_recent_blockhash(&self) -> TransportResult<(Hash, FeeCalculator)>[src]

Get recent blockhash

fn get_recent_blockhash_with_commitment(
    &self,
    commitment_config: CommitmentConfig
) -> TransportResult<(Hash, FeeCalculator, Slot)>
[src]

Get recent blockhash. Uses explicit commitment configuration.

fn get_fee_calculator_for_blockhash(
    &self,
    blockhash: &Hash
) -> TransportResult<Option<FeeCalculator>>
[src]

Get Some(FeeCalculator) associated with blockhash if it is still in the BlockhashQueue, otherwise None` Read more

fn get_fee_rate_governor(&self) -> TransportResult<FeeRateGovernor>[src]

Get recent fee rate governor

fn get_signature_status(
    &self,
    signature: &Signature
) -> TransportResult<Option<Result<()>>>
[src]

Get signature status.

fn get_signature_status_with_commitment(
    &self,
    signature: &Signature,
    commitment_config: CommitmentConfig
) -> TransportResult<Option<Result<()>>>
[src]

Get signature status. Uses explicit commitment configuration.

fn get_slot(&self) -> TransportResult<u64>[src]

Get last known slot

fn get_slot_with_commitment(
    &self,
    commitment_config: CommitmentConfig
) -> TransportResult<u64>
[src]

Get last known slot. Uses explicit commitment configuration.

fn get_epoch_info(&self) -> TransportResult<EpochInfo>[src]

fn get_transaction_count(&self) -> TransportResult<u64>[src]

Get transaction count

fn get_transaction_count_with_commitment(
    &self,
    commitment_config: CommitmentConfig
) -> TransportResult<u64>
[src]

Get transaction count. Uses explicit commitment configuration.

fn poll_for_signature(&self, signature: &Signature) -> TransportResult<()>[src]

Poll to confirm a transaction.

fn get_new_blockhash(
    &self,
    blockhash: &Hash
) -> TransportResult<(Hash, FeeCalculator)>
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> AbiExample for T

pub default fn example() -> T

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V