Struct solana_rpc::rpc::JsonRpcRequestProcessor
source · pub struct JsonRpcRequestProcessor { /* private fields */ }
Implementations§
source§impl JsonRpcRequestProcessor
impl JsonRpcRequestProcessor
pub fn new( config: JsonRpcConfig, snapshot_config: Option<SnapshotConfig>, bank_forks: Arc<RwLock<BankForks>>, block_commitment_cache: Arc<RwLock<BlockCommitmentCache>>, blockstore: Arc<Blockstore>, validator_exit: Arc<RwLock<Exit>>, health: Arc<RpcHealth>, cluster_info: Arc<ClusterInfo>, genesis_hash: Hash, bigtable_ledger_storage: Option<LedgerStorage>, optimistically_confirmed_bank: Arc<RwLock<OptimisticallyConfirmedBank>>, largest_accounts_cache: Arc<RwLock<LargestAccountsCache>>, max_slots: Arc<MaxSlots>, leader_schedule_cache: Arc<LeaderScheduleCache>, max_complete_transaction_status_slot: Arc<AtomicU64>, max_complete_rewards_slot: Arc<AtomicU64>, prioritization_fee_cache: Arc<PrioritizationFeeCache> ) -> (Self, Receiver<TransactionInfo>)
pub fn new_from_bank( bank: Bank, socket_addr_space: SocketAddrSpace, connection_cache: Arc<ConnectionCache> ) -> Self
pub fn get_account_info( &self, pubkey: &Pubkey, config: Option<RpcAccountInfoConfig> ) -> Result<RpcResponse<Option<UiAccount>>>
pub fn get_multiple_accounts( &self, pubkeys: Vec<Pubkey>, config: Option<RpcAccountInfoConfig> ) -> Result<RpcResponse<Vec<Option<UiAccount>>>>
pub fn get_minimum_balance_for_rent_exemption( &self, data_len: usize, commitment: Option<CommitmentConfig> ) -> u64
pub fn get_program_accounts( &self, program_id: &Pubkey, config: Option<RpcAccountInfoConfig>, filters: Vec<RpcFilterType>, with_context: bool ) -> Result<OptionalContext<Vec<RpcKeyedAccount>>>
pub async fn get_inflation_reward( &self, addresses: Vec<Pubkey>, config: Option<RpcEpochConfig> ) -> Result<Vec<Option<RpcInflationReward>>>
pub fn get_inflation_governor( &self, commitment: Option<CommitmentConfig> ) -> RpcInflationGovernor
pub fn get_inflation_rate(&self) -> RpcInflationRate
pub fn get_epoch_schedule(&self) -> EpochSchedule
pub fn get_balance( &self, pubkey: &Pubkey, config: RpcContextConfig ) -> Result<RpcResponse<u64>>
pub fn confirm_transaction( &self, signature: &Signature, commitment: Option<CommitmentConfig> ) -> Result<RpcResponse<bool>>
pub async fn get_block( &self, slot: Slot, config: Option<RpcEncodingConfigWrapper<RpcBlockConfig>> ) -> Result<Option<UiConfirmedBlock>>
pub async fn get_blocks( &self, start_slot: Slot, end_slot: Option<Slot>, commitment: Option<CommitmentConfig> ) -> Result<Vec<Slot>>
pub async fn get_blocks_with_limit( &self, start_slot: Slot, limit: usize, commitment: Option<CommitmentConfig> ) -> Result<Vec<Slot>>
pub async fn get_block_time(&self, slot: Slot) -> Result<Option<UnixTimestamp>>
pub fn get_signature_confirmation_status( &self, signature: Signature, commitment: Option<CommitmentConfig> ) -> Result<Option<RpcSignatureConfirmation>>
pub fn get_signature_status( &self, signature: Signature, commitment: Option<CommitmentConfig> ) -> Result<Option<Result<()>>>
pub async fn get_signature_statuses( &self, signatures: Vec<Signature>, config: Option<RpcSignatureStatusConfig> ) -> Result<RpcResponse<Vec<Option<TransactionStatus>>>>
pub async fn get_transaction( &self, signature: Signature, config: Option<RpcEncodingConfigWrapper<RpcTransactionConfig>> ) -> Result<Option<EncodedConfirmedTransactionWithStatusMeta>>
pub fn get_confirmed_signatures_for_address( &self, pubkey: Pubkey, start_slot: Slot, end_slot: Slot ) -> Vec<Signature>
pub async fn get_signatures_for_address( &self, address: Pubkey, before: Option<Signature>, until: Option<Signature>, limit: usize, config: RpcContextConfig ) -> Result<Vec<RpcConfirmedTransactionStatusWithSignature>>
pub async fn get_first_available_block(&self) -> Slot
pub fn get_stake_activation( &self, pubkey: &Pubkey, config: Option<RpcEpochConfig> ) -> Result<RpcStakeActivation>
pub fn get_token_account_balance( &self, pubkey: &Pubkey, commitment: Option<CommitmentConfig> ) -> Result<RpcResponse<UiTokenAmount>>
pub fn get_token_supply( &self, mint: &Pubkey, commitment: Option<CommitmentConfig> ) -> Result<RpcResponse<UiTokenAmount>>
pub fn get_token_largest_accounts( &self, mint: &Pubkey, commitment: Option<CommitmentConfig> ) -> Result<RpcResponse<Vec<RpcTokenAccountBalance>>>
pub fn get_token_accounts_by_owner( &self, owner: &Pubkey, token_account_filter: TokenAccountsFilter, config: Option<RpcAccountInfoConfig> ) -> Result<RpcResponse<Vec<RpcKeyedAccount>>>
pub fn get_token_accounts_by_delegate( &self, delegate: &Pubkey, token_account_filter: TokenAccountsFilter, config: Option<RpcAccountInfoConfig> ) -> Result<RpcResponse<Vec<RpcKeyedAccount>>>
Trait Implementations§
source§impl Clone for JsonRpcRequestProcessor
impl Clone for JsonRpcRequestProcessor
source§fn clone(&self) -> JsonRpcRequestProcessor
fn clone(&self) -> JsonRpcRequestProcessor
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreimpl Metadata for JsonRpcRequestProcessor
Auto Trait Implementations§
impl Freeze for JsonRpcRequestProcessor
impl !RefUnwindSafe for JsonRpcRequestProcessor
impl Send for JsonRpcRequestProcessor
impl Sync for JsonRpcRequestProcessor
impl Unpin for JsonRpcRequestProcessor
impl !UnwindSafe for JsonRpcRequestProcessor
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request