Files
khadhroony-bot3/kb-onchain-transport/src/lib.rs
2026-07-25 08:29:46 +02:00

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;