506 lines
26 KiB
Rust
506 lines
26 KiB
Rust
// file: kb-onchain-transport/src/lib.rs
|
|
// version: 7
|
|
|
|
#![forbid(unsafe_code)]
|
|
#![deny(unreachable_pub)]
|
|
#![warn(missing_docs)]
|
|
|
|
//! Solana on-chain HTTP JSON-RPC transport and standard method contracts.
|
|
|
|
mod client;
|
|
mod constants;
|
|
mod endpoint_role;
|
|
mod execution_rpc;
|
|
mod get_signatures_for_address;
|
|
mod get_transaction;
|
|
mod http_client;
|
|
mod http_pool;
|
|
mod json_rpc;
|
|
mod standard_http;
|
|
mod standard_http_accounts;
|
|
mod standard_http_blocks;
|
|
mod standard_http_cluster;
|
|
mod standard_http_economics;
|
|
mod standard_http_tokens;
|
|
mod standard_http_transactions;
|
|
mod standard_methods;
|
|
mod standard_ws;
|
|
mod validation;
|
|
mod ws_client;
|
|
mod ws_pool;
|
|
mod ws_session;
|
|
|
|
/// RPC endpoint configuration.
|
|
pub use self::client::RpcEndpoint;
|
|
/// Minimal Solana RPC client abstraction.
|
|
pub use self::client::SolanaRpcClient;
|
|
/// Endpoint role snapshot shared by HTTP and WebSocket pools.
|
|
pub use self::endpoint_role::EndpointRoleSnapshot;
|
|
/// Converts a JSON-RPC method name into a stable request kind.
|
|
pub use self::endpoint_role::request_kind_from_method;
|
|
/// Contextual account information result.
|
|
pub use self::execution_rpc::AccountInfoResult;
|
|
/// Bounded account metadata and optional complete decoded data returned by `getAccountInfo`.
|
|
pub use self::execution_rpc::AccountInfoValue;
|
|
/// Signature returned by a faucet airdrop request.
|
|
pub use self::execution_rpc::AirdropResult;
|
|
/// Lamport balance returned for one account.
|
|
pub use self::execution_rpc::BalanceResult;
|
|
/// Current block height returned by the node.
|
|
pub use self::execution_rpc::BlockHeightResult;
|
|
/// Bounded transaction confirmation policy.
|
|
pub use self::execution_rpc::ConfirmTransactionConfig;
|
|
/// Current epoch and slot progression returned by `getEpochInfo`.
|
|
pub use self::execution_rpc::EpochInfoResult;
|
|
/// Fee estimate returned for one serialized message.
|
|
pub use self::execution_rpc::FeeForMessageResult;
|
|
/// Genesis hash and known public-cluster classification.
|
|
pub use self::execution_rpc::GenesisHashResult;
|
|
/// Configuration for `getAccountInfo`.
|
|
pub use self::execution_rpc::GetAccountInfoConfig;
|
|
/// Configuration for `getBalance`.
|
|
pub use self::execution_rpc::GetBalanceConfig;
|
|
/// Configuration for `getBlockHeight`.
|
|
pub use self::execution_rpc::GetBlockHeightConfig;
|
|
/// Configuration for `getEpochInfo`.
|
|
pub use self::execution_rpc::GetEpochInfoConfig;
|
|
/// Configuration for `getFeeForMessage`.
|
|
pub use self::execution_rpc::GetFeeForMessageConfig;
|
|
/// Configuration for `getLatestBlockhash`.
|
|
pub use self::execution_rpc::GetLatestBlockhashConfig;
|
|
/// Configuration for `getMinimumBalanceForRentExemption`.
|
|
pub use self::execution_rpc::GetMinimumBalanceForRentExemptionConfig;
|
|
/// Configuration for `getSignatureStatuses`.
|
|
pub use self::execution_rpc::GetSignatureStatusesConfig;
|
|
/// Latest recent blockhash returned by the cluster.
|
|
pub use self::execution_rpc::LatestBlockhashResult;
|
|
/// Rent-exempt minimum for one account data length.
|
|
pub use self::execution_rpc::MinimumBalanceForRentExemptionResult;
|
|
/// Configuration for `requestAirdrop`.
|
|
pub use self::execution_rpc::RequestAirdropConfig;
|
|
/// Commitment level accepted by execution-oriented RPC methods.
|
|
pub use self::execution_rpc::RpcCommitmentLevel;
|
|
/// Standard context attached to Solana RPC responses.
|
|
pub use self::execution_rpc::RpcResponseContext;
|
|
/// Configuration for `sendTransaction`.
|
|
pub use self::execution_rpc::SendTransactionConfig;
|
|
/// Result returned after a node accepts a signed transaction.
|
|
pub use self::execution_rpc::SendTransactionResult;
|
|
/// Current status for one submitted signature.
|
|
pub use self::execution_rpc::SignatureStatus;
|
|
/// Positional status response for submitted signatures.
|
|
pub use self::execution_rpc::SignatureStatusesResult;
|
|
/// Configuration for `simulateTransaction`.
|
|
pub use self::execution_rpc::SimulateTransactionConfig;
|
|
/// Typed result returned by `simulateTransaction`.
|
|
pub use self::execution_rpc::SimulateTransactionResult;
|
|
/// Optional accounts requested from `simulateTransaction`.
|
|
pub use self::execution_rpc::SimulationAccountsConfig;
|
|
/// Replacement blockhash returned by simulation.
|
|
pub use self::execution_rpc::SimulationReplacementBlockhash;
|
|
/// Adapts a raw `getAccountInfo` result.
|
|
pub use self::execution_rpc::adapt_get_account_info_result;
|
|
/// Adapts a raw `getAccountInfo` result with an optional decoded-data limit.
|
|
pub(crate) use self::execution_rpc::adapt_get_account_info_result_with_data_limit;
|
|
/// Adapts a raw `getBalance` result.
|
|
pub use self::execution_rpc::adapt_get_balance_result;
|
|
/// Adapts a raw `getBlockHeight` result.
|
|
pub use self::execution_rpc::adapt_get_block_height_result;
|
|
/// Adapts a raw `getEpochInfo` result.
|
|
pub use self::execution_rpc::adapt_get_epoch_info_result;
|
|
/// Adapts a raw `getFeeForMessage` result.
|
|
pub use self::execution_rpc::adapt_get_fee_for_message_result;
|
|
/// Adapts a raw `getGenesisHash` result.
|
|
pub use self::execution_rpc::adapt_get_genesis_hash_result;
|
|
/// Adapts a raw `getLatestBlockhash` result.
|
|
pub use self::execution_rpc::adapt_get_latest_blockhash_result;
|
|
/// Adapts a raw `getMinimumBalanceForRentExemption` result.
|
|
pub use self::execution_rpc::adapt_get_minimum_balance_for_rent_exemption_result;
|
|
/// Adapts a raw `getSignatureStatuses` result.
|
|
pub use self::execution_rpc::adapt_get_signature_statuses_result;
|
|
/// Adapts a raw `requestAirdrop` result.
|
|
pub use self::execution_rpc::adapt_request_airdrop_result;
|
|
/// Adapts a raw `sendTransaction` result.
|
|
pub use self::execution_rpc::adapt_send_transaction_result;
|
|
/// Adapts a raw `simulateTransaction` result.
|
|
pub use self::execution_rpc::adapt_simulate_transaction_result;
|
|
/// Classifies a genesis hash as an official public cluster.
|
|
pub use self::execution_rpc::classify_genesis_hash;
|
|
/// One signature summary returned by `getSignaturesForAddress`.
|
|
pub use self::get_signatures_for_address::AddressSignatureInfo;
|
|
/// Configuration for `getSignaturesForAddress`.
|
|
pub use self::get_signatures_for_address::GetSignaturesForAddressConfig;
|
|
/// Adapts a raw `getSignaturesForAddress` result.
|
|
pub use self::get_signatures_for_address::adapt_get_signatures_for_address_result;
|
|
/// Common adapter contract for transport-specific transaction payloads.
|
|
pub use self::get_transaction::CanonicalTransactionAdapter;
|
|
/// Source payload and canonical result returned by `getTransaction`.
|
|
pub use self::get_transaction::GetTransactionAcquisition;
|
|
/// Standard Solana `getTransaction` adapter.
|
|
pub use self::get_transaction::GetTransactionAdapter;
|
|
/// Configuration for `getTransaction`.
|
|
pub use self::get_transaction::GetTransactionConfig;
|
|
/// Adapts a raw standard Solana `getTransaction` result.
|
|
pub use self::get_transaction::adapt_get_transaction_result;
|
|
/// HTTP JSON-RPC client bound to one endpoint.
|
|
pub use self::http_client::HttpClient;
|
|
/// HTTP method class used for routing diagnostics.
|
|
pub use self::http_client::HttpMethodClass;
|
|
/// Snapshot of one HTTP pool endpoint.
|
|
pub use self::http_client::HttpPoolClientSnapshot;
|
|
/// HTTP endpoint pool with role-based routing.
|
|
pub use self::http_pool::HttpEndpointPool;
|
|
/// JSON-RPC 2.0 error object.
|
|
pub use self::json_rpc::JsonRpcErrorObject;
|
|
/// JSON-RPC 2.0 error response.
|
|
pub use self::json_rpc::JsonRpcErrorResponse;
|
|
/// JSON-RPC 2.0 notification.
|
|
pub use self::json_rpc::JsonRpcNotification;
|
|
/// JSON-RPC 2.0 notification parameters.
|
|
pub use self::json_rpc::JsonRpcNotificationParams;
|
|
/// JSON-RPC 2.0 request.
|
|
pub use self::json_rpc::JsonRpcRequest;
|
|
/// JSON-RPC 2.0 response parsed from HTTP or WebSocket text.
|
|
pub use self::json_rpc::JsonRpcResponse;
|
|
/// JSON-RPC 2.0 success response.
|
|
pub use self::json_rpc::JsonRpcSuccessResponse;
|
|
/// Parses an incoming JSON-RPC text payload.
|
|
pub use self::json_rpc::parse_json_rpc_text;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcAccountBalance;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcAccountEncoding;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcAccountInfoConfig;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcCommitmentConfig;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcContextConfig;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcDataSlice;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcKeyedAccount;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcMemcmp;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcMemcmpEncodedBytes;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcOptionalContext;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcProgramAccountFilter;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcProgramAccountsConfig;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcResponse;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcTokenAccountBalance;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcTokenAccountsFilter;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcTokenAmount;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcTransactionDetails;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcTransactionEncoding;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::RpcUiAccount;
|
|
/// Configurable standard HTTP request trait and shared wire contracts.
|
|
pub use self::standard_http::StandardHttpRequest;
|
|
/// Configurable account-oriented standard HTTP requests.
|
|
pub use self::standard_http_accounts::GetLargestAccountsRequest;
|
|
/// Configurable account-oriented standard HTTP requests.
|
|
pub use self::standard_http_accounts::GetMultipleAccountsRequest;
|
|
/// Configurable account-oriented standard HTTP requests.
|
|
pub use self::standard_http_accounts::GetProgramAccountsRequest;
|
|
/// Configurable account-oriented standard HTTP requests.
|
|
pub use self::standard_http_accounts::RpcLargestAccountsConfig;
|
|
/// Configurable account-oriented standard HTTP requests.
|
|
pub use self::standard_http_accounts::RpcLargestAccountsFilter;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetBlockCommitmentRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetBlockProductionRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetBlockRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetBlockTimeRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetBlocksRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetBlocksWithLimitRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetFirstAvailableBlockRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::GetRecentPerformanceSamplesRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::MinimumLedgerSlotRequest;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcBlockCommitment;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcBlockConfig;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcBlockProduction;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcBlockProductionConfig;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcBlockProductionConfigRange;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcBlockProductionRange;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcConfirmedBlock;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcPerformanceSample;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcReward;
|
|
/// Configurable block and ledger standard HTTP requests.
|
|
pub use self::standard_http_blocks::RpcRewardType;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetClusterNodesRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetEpochScheduleRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetHealthRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetHighestSnapshotSlotRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetIdentityRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetLeaderScheduleRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetMaxRetransmitSlotRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetMaxShredInsertSlotRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetSlotLeaderRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetSlotLeadersRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetSlotRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetVersionRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::GetVoteAccountsRequest;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcContactInfo;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcEpochSchedule;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcGetVoteAccountsConfig;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcIdentity;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcLeaderSchedule;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcLeaderScheduleConfig;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcSnapshotSlotInfo;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcVersionInfo;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcVoteAccountInfo;
|
|
/// Configurable cluster-oriented standard HTTP requests.
|
|
pub use self::standard_http_cluster::RpcVoteAccountStatus;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::GetInflationGovernorRequest;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::GetInflationRateRequest;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::GetInflationRewardRequest;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::GetStakeMinimumDelegationRequest;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::GetSupplyRequest;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::RpcEpochConfig;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::RpcInflationGovernor;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::RpcInflationGovernorConfig;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::RpcInflationRate;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::RpcInflationReward;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::RpcSupply;
|
|
/// Configurable economics-oriented standard HTTP requests.
|
|
pub use self::standard_http_economics::RpcSupplyConfig;
|
|
/// Configurable token-oriented standard HTTP requests.
|
|
pub use self::standard_http_tokens::GetTokenAccountBalanceRequest;
|
|
/// Configurable token-oriented standard HTTP requests.
|
|
pub use self::standard_http_tokens::GetTokenAccountsByDelegateRequest;
|
|
/// Configurable token-oriented standard HTTP requests.
|
|
pub use self::standard_http_tokens::GetTokenAccountsByOwnerRequest;
|
|
/// Configurable token-oriented standard HTTP requests.
|
|
pub use self::standard_http_tokens::GetTokenLargestAccountsRequest;
|
|
/// Configurable token-oriented standard HTTP requests.
|
|
pub use self::standard_http_tokens::GetTokenSupplyRequest;
|
|
/// Configurable transaction-oriented standard HTTP requests.
|
|
pub use self::standard_http_transactions::GetRecentPrioritizationFeesRequest;
|
|
/// Configurable transaction-oriented standard HTTP requests.
|
|
pub use self::standard_http_transactions::GetTransactionCountRequest;
|
|
/// Configurable transaction-oriented standard HTTP requests.
|
|
pub use self::standard_http_transactions::IsBlockhashValidRequest;
|
|
/// Configurable transaction-oriented standard HTTP requests.
|
|
pub use self::standard_http_transactions::RpcPrioritizationFee;
|
|
/// Every standard Solana HTTP JSON-RPC method.
|
|
pub use self::standard_methods::STANDARD_HTTP_METHODS;
|
|
/// Every standard Solana WebSocket subscription pair.
|
|
pub use self::standard_methods::STANDARD_WS_SUBSCRIPTIONS;
|
|
/// Official category used to group standard Solana HTTP methods.
|
|
pub use self::standard_methods::StandardHttpCategory;
|
|
/// One canonical standard Solana HTTP method specification.
|
|
pub use self::standard_methods::StandardHttpMethodSpec;
|
|
/// Documentation-level contract exposed for a standard RPC method.
|
|
pub use self::standard_methods::StandardRpcContract;
|
|
/// Stability of one standard Solana WebSocket subscription surface.
|
|
pub use self::standard_methods::StandardWsStability;
|
|
/// One canonical standard Solana WebSocket subscribe/unsubscribe pair.
|
|
pub use self::standard_methods::StandardWsSubscriptionSpec;
|
|
/// Finds one exact standard HTTP method specification.
|
|
pub use self::standard_methods::standard_http_method;
|
|
/// Finds one standard WebSocket subscription from its subscribe or unsubscribe method.
|
|
pub use self::standard_methods::standard_ws_subscription;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::AccountSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::BlockSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::LogsSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::ProgramSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::RootSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::SignatureSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::SlotSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::SlotsUpdatesSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::StandardWsCapabilities;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::StandardWsNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::StandardWsRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::VoteSubscribeRequest;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsAccountNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsAccountSubscribeConfig;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsBlockFilter;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsBlockNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsBlockSubscribeConfig;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsBlockUpdate;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsLogsFilter;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsLogsNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsLogsSubscribeConfig;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsLogsValue;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsProgramNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsProgramSubscribeConfig;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsRootNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSignatureNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSignatureSubscribeConfig;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSignatureValue;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSlotInfo;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSlotNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSlotTransactionStats;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSlotUpdate;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsSlotsUpdatesNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsVoteNotification;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::WsVoteValue;
|
|
/// Typed contracts for all standard Solana WebSocket subscriptions.
|
|
pub use self::standard_ws::adapt_standard_ws_notification;
|
|
/// Validates one base58 Solana blockhash or genesis hash.
|
|
pub use self::validation::validate_solana_hash_text;
|
|
/// Validates one base58 Solana public key.
|
|
pub use self::validation::validate_solana_pubkey_text;
|
|
/// Validates one base58 Solana transaction signature.
|
|
pub use self::validation::validate_transaction_signature_text;
|
|
/// Standard Solana WebSocket client bound to one endpoint.
|
|
pub use self::ws_client::WsClient;
|
|
/// Snapshot of one WebSocket pool endpoint.
|
|
pub use self::ws_client::WsPoolClientSnapshot;
|
|
/// WebSocket endpoint pool with role-based routing.
|
|
pub use self::ws_pool::WsEndpointPool;
|
|
/// Persistent WebSocket session contracts.
|
|
pub use self::ws_session::WsReconnectPolicy;
|
|
/// Persistent WebSocket session contracts.
|
|
pub use self::ws_session::WsSession;
|
|
/// Persistent WebSocket session contracts.
|
|
pub use self::ws_session::WsSessionEvent;
|
|
/// Persistent WebSocket session contracts.
|
|
pub use self::ws_session::WsSessionSnapshot;
|
|
/// Persistent WebSocket session contracts.
|
|
pub use self::ws_session::WsSessionState;
|
|
/// Persistent WebSocket session contracts.
|
|
pub use self::ws_session::WsSubscriptionAck;
|
|
/// Persistent WebSocket session contracts.
|
|
pub use self::ws_session::WsSubscriptionSnapshot;
|
|
/// Acknowledgement returned after a WebSocket unsubscribe request.
|
|
pub use self::ws_session::WsUnsubscribeAck;
|
|
|
|
/// Internal DEVNET_GENESIS_HASH contract.
|
|
pub(crate) use self::constants::DEVNET_GENESIS_HASH;
|
|
/// Internal MAINNET_GENESIS_HASH contract.
|
|
pub(crate) use self::constants::MAINNET_GENESIS_HASH;
|
|
/// Internal MAX_BLOCK_RANGE contract.
|
|
pub(crate) use self::constants::MAX_BLOCK_RANGE;
|
|
/// Internal MAX_CONFIRMATION_ATTEMPTS contract.
|
|
pub(crate) use self::constants::MAX_CONFIRMATION_ATTEMPTS;
|
|
/// Internal MAX_CONFIRMATION_POLL_INTERVAL_MS contract.
|
|
pub(crate) use self::constants::MAX_CONFIRMATION_POLL_INTERVAL_MS;
|
|
/// Internal MAX_EXECUTION_ACCOUNT_DATA_BYTES contract.
|
|
pub(crate) use self::constants::MAX_EXECUTION_ACCOUNT_DATA_BYTES;
|
|
/// Internal MAX_EXECUTION_RPC_BASE64_LENGTH contract.
|
|
pub(crate) use self::constants::MAX_EXECUTION_RPC_BASE64_LENGTH;
|
|
/// Internal MAX_MEMCMP_BASE58_LENGTH contract.
|
|
pub(crate) use self::constants::MAX_MEMCMP_BASE58_LENGTH;
|
|
/// Internal MAX_MEMCMP_BASE64_LENGTH contract.
|
|
pub(crate) use self::constants::MAX_MEMCMP_BASE64_LENGTH;
|
|
/// Internal MAX_MEMCMP_DECODED_BYTES contract.
|
|
pub(crate) use self::constants::MAX_MEMCMP_DECODED_BYTES;
|
|
/// Internal MAX_MULTIPLE_ACCOUNT_COUNT contract.
|
|
pub(crate) use self::constants::MAX_MULTIPLE_ACCOUNT_COUNT;
|
|
/// Internal MAX_PERFORMANCE_SAMPLE_COUNT contract.
|
|
pub(crate) use self::constants::MAX_PERFORMANCE_SAMPLE_COUNT;
|
|
/// Internal MAX_PRIORITIZATION_FEE_ACCOUNT_COUNT contract.
|
|
pub(crate) use self::constants::MAX_PRIORITIZATION_FEE_ACCOUNT_COUNT;
|
|
/// Internal MAX_SIGNATURE_STATUS_COUNT contract.
|
|
pub(crate) use self::constants::MAX_SIGNATURE_STATUS_COUNT;
|
|
/// Internal MAX_SIMULATION_ACCOUNT_COUNT contract.
|
|
pub(crate) use self::constants::MAX_SIMULATION_ACCOUNT_COUNT;
|
|
/// Internal MAX_SLOT_LEADER_COUNT contract.
|
|
pub(crate) use self::constants::MAX_SLOT_LEADER_COUNT;
|
|
/// Internal TESTNET_GENESIS_HASH contract.
|
|
pub(crate) use self::constants::TESTNET_GENESIS_HASH;
|
|
/// Canonical tracing target for this crate.
|
|
pub(crate) use self::constants::TRACING_TARGET;
|
|
/// Internal role_matches contract.
|
|
pub(crate) use self::endpoint_role::role_matches;
|
|
/// Internal serialize_parameter contract.
|
|
pub(crate) use self::standard_http::serialize_parameter;
|
|
/// Internal validate_pubkey_list contract.
|
|
pub(crate) use self::standard_http::validate_pubkey_list;
|