// file: crates/ksp-onchain-transport-lib/src/lib.rs // version: 47 #![warn(missing_docs)] #![deny(unreachable_pub)] #![forbid(unsafe_code)] //! KSP-owned Solana on-chain transport foundation. //! //! This crate owns runtime HTTP transport settings, Solana HTTP JSON-RPC envelopes and the audited standard method registry. It deliberately remains //! independent from `ksp-config-lib`, Store and Program layers. `ksp-config-lib` now constructs these public settings through its one-way Config -> //! Transport adapter without creating a reverse dependency. Logical endpoint clients, priority-aware pools, bounded admission limits and retry/no-resend policy //! are available. The four typed Solana HTTP foundation canaries plus all 22 typed `0.2.2` Accounts, Tokens and Cluster wrappers execute real JSON-RPC //! requests through the shared transport path. `0.2.3` exposes its shared Transaction wire/config primitives and all eleven Transaction wrappers through //! `pre.007`: eight reads, two write submissions with centralized no-resend protection, and retry-safe `simulateTransaction`, including complete //! modern/legacy `getTransaction` coverage. `0.2.4` completes the HTTP surface with all ten Blocks and five Economics wrappers, including complete //! modern/legacy `getBlock`, positional inflation rewards, runtime-provided economics values and the final `KSP-TRANSPORT-007` compliance target. //! The candidate surface therefore exposes typed wrappers for all 52 current audited Solana HTTP methods while retaining 14 removed historical descriptors. //! `0.2.7-pre.002` adds the provider-neutral WebSocket settings foundation, redacted endpoint URLs, explicit protocol-family discrimination, local session and //! subscription identities, observable lifecycle states and safe snapshots. `0.2.7-pre.004` adds the first physical WebSocket runtime with one //! actor-owned socket, //! bounded handshake, command/pending JSON-RPC flow and deterministic local-server fixtures. `0.2.7-pre.005` adds explicit bounded shutdown, adversarial //! request/frame/message limits and control-frame handling. `0.2.7-pre.006` adds the typed subscription registry with stable local IDs and internal remote-ID //! routing. `0.2.7-pre.007` adds finite reconnect, deterministic resubscribe and continuity-gap tracking. `0.2.7-pre.008` makes per-subscription notification //! backpressure terminal and observable, preserves safe terminal error codes, performs best-effort remote cleanup and proves bounded capacity reuse. //! `0.2.7-pre.009` opens the first stable typed WebSocket wrappers for account, program-account and transaction-log subscriptions without exposing a raw //! provider-extension subscription API. `0.2.8-pre.002` adds a Helius LaserStream WebSocket protocol discriminator and two typed protocol facades while //! keeping the `WsSession` actor/socket implementation unique and the historical generic constructor standard-only. //! `0.2.8-pre.003` initially exposed the six standard families unambiguously supported by the audited Helius pages; `0.2.8-pre.009` reconciles the current //! Helius documentation and adds the now-documented unstable `slotsUpdatesSubscribe` pair while keeping explicitly unsupported block/vote pairs absent. //! `0.2.8-pre.005` adds the typed Helius `transactionSubscribe` request contract and provider filter/options validation. `0.2.8-pre.006` integrates the live //! transaction handle and typed `transactionNotification` union into the same actor-owned registry, remote-ID remap, unsubscribe-race handling and //! per-subscription backpressure path. //! `0.2.9-pre.002` opens the Yellowstone gRPC N1 engine foundation with Transport-owned redacted settings, bounded reconnect/channel/message policies, the //! published Yellowstone protobuf dependency and a lazy Tonic HTTP/2 channel wrapper that exposes no raw Tonic or upstream protobuf types. //! `0.2.9-pre.003` adds bounded TLS/WebPKI connection establishment, generic redacted ASCII request metadata and the seven standard Yellowstone unary RPCs //! through KSP-owned DTOs. //! `0.2.9-pre.004` materializes the provider-neutral standard `SubscribeRequest` foundation: all seven named filter maps, global filter-name bounds/uniqueness, //! commitment, ordered account-data slices, ping and `from_slot`. Family-specific account/slot filters land in `pre.005`; transaction/block filters remain //! staged for `pre.007–008`. //! `0.2.9-pre.006` normalizes the five unambiguously HTTP-owned private implementation modules with an `http_` prefix while preserving shared `rpc_*`, //! JSON-RPC, error and constants modules. //! `0.2.9-pre.007` completes the standard transaction/transaction-status filters and storage-wire projections; `pre.008` completes Blocks, block-meta and //! entry projections. `0.2.9-pre.009` promotes those protobuf bridges into runtime and opens one KSP-owned bounded bidirectional `Subscribe` session with //! request mutation, automatic server-Ping reply, observable Pong, normal server half-close, terminal backpressure and bounded graceful shutdown. //! `0.2.9-pre.010` activates the bounded KSP-owned reconnect policy, deterministic replay from the latest accepted request and highest observed slot, //! conservative ReplayInfo-based continuity-gap observability and bounded duplicate observation without claiming exactly-once or lossless delivery. mod constants; mod error; mod grpc_channel; mod grpc_settings; mod grpc_stream; mod grpc_subscribe; mod grpc_unary; mod http_client; mod http_executor; mod http_pool; mod http_resilience; mod http_settings; mod json_rpc; mod rpc_accounts; mod rpc_blocks; mod rpc_canary; mod rpc_cluster; mod rpc_common; mod rpc_economics; mod rpc_method; mod rpc_tokens; mod rpc_transactions; mod ws_accounts; mod ws_blocks; mod ws_cluster; mod ws_helius_transactions; mod ws_lifecycle; mod ws_protocol_session; mod ws_session; mod ws_settings; mod ws_subscription; mod ws_transactions; /// Error code used when no logical endpoint can satisfy a request. pub use self::error::ERROR_CODE_ENDPOINT_SELECTION_FAILED; /// Error code used when bounded Yellowstone gRPC runtime capacity is exhausted. pub use self::error::ERROR_CODE_GRPC_BACKPRESSURE_OVERFLOW; /// Error code used when a Yellowstone gRPC channel cannot be prepared safely. pub use self::error::ERROR_CODE_GRPC_CHANNEL_FAILED; /// Error code used when a Yellowstone gRPC subscribe session is no longer available. pub use self::error::ERROR_CODE_GRPC_SESSION_CLOSED; /// Error code used when a Yellowstone gRPC endpoint returns a remote status. pub use self::error::ERROR_CODE_GRPC_STATUS; /// Error code used when an HTTP connection cannot be established. pub use self::error::ERROR_CODE_HTTP_CONNECTION_FAILED; /// Error code used when an HTTP request fails after connection establishment. pub use self::error::ERROR_CODE_HTTP_REQUEST_FAILED; /// Error code used when a decoded response cannot satisfy the expected KSP transport contract. pub use self::error::ERROR_CODE_INVALID_RESPONSE; /// Error code used when typed Solana RPC parameters violate a locally enforceable method contract. pub use self::error::ERROR_CODE_INVALID_RPC_PARAMETERS; /// Error code used when HTTP transport runtime settings are invalid. pub use self::error::ERROR_CODE_INVALID_SETTINGS; /// Error code used when an HTTP JSON-RPC payload cannot be decoded as JSON. pub use self::error::ERROR_CODE_JSON_DECODE_FAILED; /// Error code used when a JSON-RPC request cannot be encoded. pub use self::error::ERROR_CODE_JSON_ENCODE_FAILED; /// Error code used when a decoded JSON-RPC envelope violates protocol invariants. pub use self::error::ERROR_CODE_JSON_RPC_PROTOCOL_INVALID; /// Error code used when a historically documented RPC method has been removed from the targeted runtime. pub use self::error::ERROR_CODE_METHOD_REMOVED; /// Error code used when an endpoint or provider rate-limits a request. pub use self::error::ERROR_CODE_RATE_LIMITED; /// Error code used when a remote endpoint returns an application-level JSON-RPC error. pub use self::error::ERROR_CODE_RPC_APPLICATION_ERROR; /// Error code used when a transport deadline expires. pub use self::error::ERROR_CODE_TIMEOUT; /// Error code used when bounded WebSocket runtime capacity is exhausted. pub use self::error::ERROR_CODE_WS_BACKPRESSURE_OVERFLOW; /// Error code used when a physical WebSocket connection or handshake fails. pub use self::error::ERROR_CODE_WS_CONNECTION_FAILED; /// Error code used when WebSocket wire data violates protocol invariants. pub use self::error::ERROR_CODE_WS_PROTOCOL_ERROR; /// Error code used when a WebSocket session is no longer available. pub use self::error::ERROR_CODE_WS_SESSION_CLOSED; /// Yellowstone gRPC channel owned by KSP Transport. pub use self::grpc_channel::YellowstoneGrpcChannel; /// Open cluster or network descriptor used by Yellowstone gRPC endpoint settings. pub use self::grpc_settings::YellowstoneGrpcClusterName; /// Runtime settings for one named Yellowstone gRPC endpoint. pub use self::grpc_settings::YellowstoneGrpcEndpointSettings; /// Runtime Yellowstone gRPC endpoint URL with redacted diagnostics. pub use self::grpc_settings::YellowstoneGrpcEndpointUrl; /// Validated public or secret ASCII metadata attached to Yellowstone gRPC requests. pub use self::grpc_settings::YellowstoneGrpcMetadataEntry; /// Open provider descriptor used by Yellowstone gRPC endpoint settings. pub use self::grpc_settings::YellowstoneGrpcProviderName; /// Bounded reconnect settings owned by the Yellowstone gRPC runtime. pub use self::grpc_settings::YellowstoneGrpcReconnectSettings; /// Runtime limits and lifecycle settings for one Yellowstone gRPC channel/session path. pub use self::grpc_settings::YellowstoneGrpcSessionSettings; /// Complete runtime settings consumed by the KSP Yellowstone gRPC transport engine. pub use self::grpc_settings::YellowstoneGrpcTransportSettings; /// Standard Yellowstone bidirectional Subscribe session. pub use self::grpc_stream::SolanaYellowstoneGrpcSubscribeSession; /// Safe Yellowstone reconnect/replay continuity snapshot. pub use self::grpc_stream::YellowstoneGrpcSubscribeSnapshot; /// Cloneable latest-value observer for one standard Yellowstone Subscribe session snapshot. pub use self::grpc_stream::YellowstoneGrpcSubscribeSnapshotSource; /// Safe Yellowstone bidirectional Subscribe lifecycle state. pub use self::grpc_stream::YellowstoneGrpcSubscribeState; /// One validated standard Yellowstone account predicate. pub use self::grpc_subscribe::YellowstoneAccountFilterPredicate; /// Typed account payload carried by one standard Yellowstone account update. pub use self::grpc_subscribe::YellowstoneAccountInfo; /// Lamport comparison used by standard Yellowstone account filters. pub use self::grpc_subscribe::YellowstoneAccountLamportsFilter; /// Validated standard Yellowstone account memcmp predicate. pub use self::grpc_subscribe::YellowstoneAccountMemcmp; /// Encoding selected by one Yellowstone account memcmp predicate. pub use self::grpc_subscribe::YellowstoneAccountMemcmpEncoding; /// Standard Yellowstone account-update projection owned by KSP. pub use self::grpc_subscribe::YellowstoneAccountUpdate; /// One standard Yellowstone account-data slice. pub use self::grpc_subscribe::YellowstoneAccountsDataSlice; /// Metadata-only standard Yellowstone block update. pub use self::grpc_subscribe::YellowstoneBlockMetaUpdate; /// Rewards container carried by Yellowstone block and block-meta updates. pub use self::grpc_subscribe::YellowstoneBlockRewards; /// Full standard Yellowstone block update. pub use self::grpc_subscribe::YellowstoneBlockUpdate; /// One compiled instruction from the Yellowstone Solana-storage transaction wire. pub use self::grpc_subscribe::YellowstoneCompiledInstruction; /// Wire-preserving KSP representation of a standard Yellowstone Cuckoo filter. pub use self::grpc_subscribe::YellowstoneCuckooFilter; /// Hash algorithm carried by a standard Yellowstone Cuckoo filter. pub use self::grpc_subscribe::YellowstoneCuckooHashAlgorithm; /// One Yellowstone block-entry payload reused by block and standalone entry updates. pub use self::grpc_subscribe::YellowstoneEntryInfo; /// Standalone standard Yellowstone entry update. pub use self::grpc_subscribe::YellowstoneEntryUpdate; /// Fixed-width 32-byte hash from the Yellowstone Solana-storage transaction wire. pub use self::grpc_subscribe::YellowstoneHashBytes; /// One inner instruction from Yellowstone transaction status metadata. pub use self::grpc_subscribe::YellowstoneInnerInstruction; /// One indexed inner-instruction group from Yellowstone transaction status metadata. pub use self::grpc_subscribe::YellowstoneInnerInstructions; /// One address-table lookup from a Yellowstone transaction message. pub use self::grpc_subscribe::YellowstoneMessageAddressTableLookup; /// Return-data payload from Yellowstone transaction status metadata. pub use self::grpc_subscribe::YellowstoneReturnData; /// One reward entry from Yellowstone transaction status metadata. pub use self::grpc_subscribe::YellowstoneReward; /// Reward classification from the Yellowstone Solana-storage wire. pub use self::grpc_subscribe::YellowstoneRewardType; /// Current standard Yellowstone slot status. pub use self::grpc_subscribe::YellowstoneSlotStatus; /// Standard Yellowstone slot-update projection owned by KSP. pub use self::grpc_subscribe::YellowstoneSlotUpdate; /// Solana transaction body carried by Yellowstone storage protobuf messages. pub use self::grpc_subscribe::YellowstoneStoredTransaction; /// Complete account-family filter group for standard Yellowstone Subscribe. pub use self::grpc_subscribe::YellowstoneSubscribeAccountFilter; /// Complete block-family filter group for standard Yellowstone Subscribe. pub use self::grpc_subscribe::YellowstoneSubscribeBlockFilter; /// Empty filter marker activating the standard Yellowstone blocks-meta family. pub use self::grpc_subscribe::YellowstoneSubscribeBlocksMetaFilter; /// Empty filter marker activating the standard Yellowstone entry family. pub use self::grpc_subscribe::YellowstoneSubscribeEntryFilter; /// Validated globally unique logical filter name for standard Yellowstone Subscribe maps. pub use self::grpc_subscribe::YellowstoneSubscribeFilterName; /// Optional ping mutation carried by the standard Yellowstone Subscribe request. pub use self::grpc_subscribe::YellowstoneSubscribePing; /// Standard Yellowstone server Ping update. pub use self::grpc_subscribe::YellowstoneSubscribePingUpdate; /// Standard Yellowstone server Pong update. pub use self::grpc_subscribe::YellowstoneSubscribePongUpdate; /// Provider-neutral standard Yellowstone Subscribe request. pub use self::grpc_subscribe::YellowstoneSubscribeRequest; /// Opaque deterministic identity for one complete Yellowstone Subscribe request. pub use self::grpc_subscribe::YellowstoneSubscribeRequestIdentity; /// Complete slot-family filter group for standard Yellowstone Subscribe. pub use self::grpc_subscribe::YellowstoneSubscribeSlotFilter; /// Complete transaction-family filter shared by transactions and transaction-status maps. pub use self::grpc_subscribe::YellowstoneSubscribeTransactionFilter; /// Any standard Yellowstone Subscribe update. pub use self::grpc_subscribe::YellowstoneSubscribeUpdate; /// Optional token-account owner expansion for current Yellowstone transaction filters. pub use self::grpc_subscribe::YellowstoneTokenAccountExpansion; /// One pre/post token balance from Yellowstone transaction status metadata. pub use self::grpc_subscribe::YellowstoneTokenBalance; /// Optional Transaction V1 inline budget configuration from Yellowstone Solana-storage. pub use self::grpc_subscribe::YellowstoneTransactionConfig; /// Opaque runtime transaction error bytes from Yellowstone Solana-storage. pub use self::grpc_subscribe::YellowstoneTransactionError; /// Complete transaction info carried by Yellowstone transaction and block updates. pub use self::grpc_subscribe::YellowstoneTransactionInfo; /// Complete current Yellowstone transaction message. pub use self::grpc_subscribe::YellowstoneTransactionMessage; /// Solana transaction message header from Yellowstone Solana-storage. pub use self::grpc_subscribe::YellowstoneTransactionMessageHeader; /// Fixed-width transaction signature attached to Yellowstone updates. pub use self::grpc_subscribe::YellowstoneTransactionSignature; /// Validated base58 transaction-signature selector for Yellowstone transaction filters. pub use self::grpc_subscribe::YellowstoneTransactionSignatureSelector; /// Complete Yellowstone transaction status metadata. pub use self::grpc_subscribe::YellowstoneTransactionStatusMeta; /// Lightweight Yellowstone transaction-status update. pub use self::grpc_subscribe::YellowstoneTransactionStatusUpdate; /// Full Yellowstone transaction update. pub use self::grpc_subscribe::YellowstoneTransactionUpdate; /// UI token amount from Yellowstone transaction status metadata. pub use self::grpc_subscribe::YellowstoneUiTokenAmount; /// Timestamp attached to standard Yellowstone update envelopes. pub use self::grpc_subscribe::YellowstoneUpdateTimestamp; /// Standard Solana Yellowstone unary facade over one KSP-owned physical gRPC channel. pub use self::grpc_unary::SolanaYellowstoneGrpcUnaryClient; /// Block height returned by the standard Yellowstone unary surface. pub use self::grpc_unary::YellowstoneBlockHeight; /// Result of a standard Yellowstone blockhash-validity check. pub use self::grpc_unary::YellowstoneBlockhashValidity; /// Latest blockhash returned by the standard Yellowstone unary surface. pub use self::grpc_unary::YellowstoneLatestBlockhash; /// Echo returned by the standard Yellowstone unary Ping RPC. pub use self::grpc_unary::YellowstonePong; /// Replay availability advertised by the standard Yellowstone unary surface. pub use self::grpc_unary::YellowstoneReplayInfo; /// Current slot returned by the standard Yellowstone unary surface. pub use self::grpc_unary::YellowstoneSlot; /// Bounded endpoint version returned by the standard Yellowstone unary surface. pub use self::grpc_unary::YellowstoneVersionInfo; /// Passive runtime availability reported for one logical HTTP endpoint. pub use self::http_client::HttpEndpointAvailability; /// Shareable logical HTTP endpoint client owned by KSP Transport. pub use self::http_client::HttpEndpointClient; /// Safe routing snapshot for one configured endpoint role. pub use self::http_client::HttpEndpointRoleSnapshot; /// Safe metadata snapshot for one logical HTTP endpoint. pub use self::http_client::HttpEndpointSnapshot; /// Typed RPC value paired with the safe identity of the HTTP endpoint that produced the successful response. pub use self::http_executor::HttpObservedValue; /// Result of one logical endpoint selection. pub use self::http_pool::HttpEndpointSelection; /// Runtime admission permit for one HTTP request. pub use self::http_pool::HttpRequestPermit; /// Shareable logical HTTP endpoint pool with priority routing, admission limits and bounded deadlines. pub use self::http_pool::HttpTransportPool; /// Safe snapshot of the logical HTTP endpoint pool. pub use self::http_pool::HttpTransportPoolSnapshot; /// Dispatch knowledge used to prevent ambiguous automatic resubmission. pub use self::http_resilience::HttpDispatchState; /// Transport-level cause considered by the bounded retry policy. pub use self::http_resilience::HttpRetryCause; /// Result of evaluating one bounded transport retry opportunity. pub use self::http_resilience::HttpRetryDecision; /// Evaluates the centralized bounded HTTP retry policy for one audited RPC method. pub use self::http_resilience::evaluate_transport_retry; /// Open cluster or network descriptor used by HTTP endpoint settings. pub use self::http_settings::HttpClusterName; /// Runtime settings for one role declared by an HTTP endpoint. pub use self::http_settings::HttpEndpointRoleSettings; /// Runtime settings for one named Solana HTTP endpoint. pub use self::http_settings::HttpEndpointSettings; /// Runtime HTTP endpoint URL with redacted diagnostics. pub use self::http_settings::HttpEndpointUrl; /// Open provider descriptor used by HTTP endpoint settings. pub use self::http_settings::HttpProviderName; /// Open request-kind descriptor used by logical endpoint capabilities. pub use self::http_settings::HttpRequestKind; /// Bounded retry settings owned by the HTTP transport runtime. pub use self::http_settings::HttpRetrySettings; /// Local limits attached to one logical HTTP endpoint role. pub use self::http_settings::HttpRoleLimits; /// Open logical endpoint role descriptor. pub use self::http_settings::HttpRoleName; /// Complete runtime settings consumed by the Solana HTTP transport foundation. pub use self::http_settings::HttpTransportSettings; /// JSON-RPC 2.0 error payload returned by a remote Solana endpoint. pub use self::json_rpc::JsonRpcErrorObject; /// Validated JSON-RPC 2.0 error response. pub use self::json_rpc::JsonRpcErrorResponse; /// JSON-RPC 2.0 HTTP request envelope emitted by KSP. pub use self::json_rpc::JsonRpcRequest; /// Validated JSON-RPC 2.0 HTTP response. pub use self::json_rpc::JsonRpcResponse; /// Validated JSON-RPC 2.0 success response. pub use self::json_rpc::JsonRpcSuccessResponse; /// Parses and validates a JSON-RPC HTTP response from UTF-8 JSON text. pub use self::json_rpc::parse_json_rpc_response_text; /// Validates a decoded JSON value as one JSON-RPC HTTP response. pub use self::json_rpc::parse_json_rpc_response_value; /// Typed transport-level Solana account without Program/SPL decoding. pub use self::rpc_accounts::SolanaAccount; /// Address and lamport balance returned by `getLargestAccounts`. pub use self::rpc_accounts::SolanaAccountBalance; /// Wire-preserving account data returned by Solana account HTTP and WebSocket methods. pub use self::rpc_accounts::SolanaAccountData; /// Account-data encoding accepted by Solana account HTTP and WebSocket methods. pub use self::rpc_accounts::SolanaAccountEncoding; /// Shared account configuration used by account-info and token-account list methods. pub use self::rpc_accounts::SolanaAccountInfoConfig; /// Byte range requested from account data without decoding it locally. pub use self::rpc_accounts::SolanaDataSliceConfig; /// One public key plus its account returned by account-list RPC methods. pub use self::rpc_accounts::SolanaKeyedAccount; /// Optional configuration for `getLargestAccounts`. pub use self::rpc_accounts::SolanaLargestAccountsConfig; /// Filter accepted by `getLargestAccounts`. pub use self::rpc_accounts::SolanaLargestAccountsFilter; /// Bytes used by a `memcmp` program-account filter. pub use self::rpc_accounts::SolanaMemcmpBytes; /// One `memcmp` filter applied to account data. pub use self::rpc_accounts::SolanaMemcmpFilter; /// Parsed account payload returned by the RPC node for `jsonParsed` account data. pub use self::rpc_accounts::SolanaParsedAccountData; /// Filter accepted by the current `getProgramAccounts` implementation. pub use self::rpc_accounts::SolanaProgramAccountFilter; /// Configuration for `getProgramAccounts`. pub use self::rpc_accounts::SolanaProgramAccountsConfig; /// Result union returned by `getProgramAccounts` with or without an RPC context. pub use self::rpc_accounts::SolanaProgramAccountsResult; /// Commitment distribution returned by `getBlockCommitment`. pub use self::rpc_blocks::SolanaBlockCommitment; /// Block-production counts returned by `getBlockProduction` before the shared RPC context wrapper is applied. pub use self::rpc_blocks::SolanaBlockProduction; /// Optional configuration accepted by `getBlockProduction`. pub use self::rpc_blocks::SolanaBlockProductionConfig; /// Slot range accepted inside `getBlockProduction` configuration. pub use self::rpc_blocks::SolanaBlockProductionRange; /// Effective range reported inside `getBlockProduction` results. pub use self::rpc_blocks::SolanaBlockProductionResultRange; /// One reward entry returned in a confirmed block. pub use self::rpc_blocks::SolanaBlockReward; /// One transaction entry returned inside a confirmed block. pub use self::rpc_blocks::SolanaBlockTransaction; /// Confirmed block wire result returned by `getBlock` when the RPC result is non-null. pub use self::rpc_blocks::SolanaConfirmedBlock; /// Modern configuration object accepted by `getBlock`. pub use self::rpc_blocks::SolanaGetBlockConfig; /// One entry returned by `getRecentPerformanceSamples`. pub use self::rpc_blocks::SolanaPerformanceSample; /// Transaction detail level accepted by modern `getBlock` requests. pub use self::rpc_blocks::SolanaTransactionDetails; /// Optional typed configuration for the `getBalance` canary. pub use self::rpc_canary::GetBalanceConfig; /// Typed lamport balance returned by the `getBalance` canary. pub use self::rpc_canary::GetBalanceResult; /// Typed genesis hash returned by the `getGenesisHash` canary. pub use self::rpc_canary::SolanaGenesisHash; /// Typed healthy result returned by the `getHealth` canary. pub use self::rpc_canary::SolanaNodeHealth; /// Typed software-version response returned by the `getVersion` canary. pub use self::rpc_canary::SolanaNodeVersion; /// Contact information returned for one cluster node. pub use self::rpc_cluster::SolanaClusterNode; /// Epoch-credit history entry returned by `getVoteAccounts`. pub use self::rpc_cluster::SolanaEpochCredits; /// Epoch information returned by `getEpochInfo`. pub use self::rpc_cluster::SolanaEpochInfo; /// Epoch schedule returned by `getEpochSchedule`. pub use self::rpc_cluster::SolanaEpochSchedule; /// Leader schedule mapping validator identities to relative epoch slot indices. pub use self::rpc_cluster::SolanaLeaderSchedule; /// Optional configuration accepted by `getLeaderSchedule`. pub use self::rpc_cluster::SolanaLeaderScheduleConfig; /// Typed parameter overload for `getLeaderSchedule`. pub use self::rpc_cluster::SolanaLeaderScheduleRequest; /// Highest full and optional incremental snapshot slots returned by `getHighestSnapshotSlot`. pub use self::rpc_cluster::SolanaSnapshotSlotInfo; /// One validator vote-account record returned by `getVoteAccounts`. pub use self::rpc_cluster::SolanaVoteAccountInfo; /// Current and delinquent validator vote-account groups returned by `getVoteAccounts`. pub use self::rpc_cluster::SolanaVoteAccountStatus; /// Configuration accepted by `getVoteAccounts`. pub use self::rpc_cluster::SolanaVoteAccountsConfig; /// Commitment level accepted by typed Solana HTTP and WebSocket adapters. pub use self::rpc_common::SolanaCommitment; /// Optional commitment-only configuration shared by typed Solana RPC methods. pub use self::rpc_common::SolanaCommitmentConfig; /// Optional commitment and minimum-context configuration shared by typed Solana HTTP RPC methods. pub use self::rpc_common::SolanaContextConfig; /// Typed Solana RPC context shared by contextual HTTP and WebSocket responses. pub use self::rpc_common::SolanaRpcContext; /// Generic contextual result returned by typed Solana HTTP and WebSocket adapters. pub use self::rpc_common::SolanaRpcResponse; /// Inflation-governor values returned by `getInflationGovernor`. pub use self::rpc_economics::SolanaInflationGovernor; /// Current inflation-rate values returned by `getInflationRate`. pub use self::rpc_economics::SolanaInflationRate; /// One non-null positional reward returned by `getInflationReward`. pub use self::rpc_economics::SolanaInflationReward; /// Optional epoch/context configuration accepted by `getInflationReward`. pub use self::rpc_economics::SolanaInflationRewardConfig; /// Supply totals returned inside the contextual `getSupply` response. pub use self::rpc_economics::SolanaSupply; /// Optional configuration accepted by `getSupply`. pub use self::rpc_economics::SolanaSupplyConfig; /// Functional category used by the audited Solana HTTP JSON-RPC registry. pub use self::rpc_method::HttpRpcCategory; /// Release that owns typed KSP coverage for one audited HTTP RPC method. pub use self::rpc_method::HttpRpcCoverageRelease; /// Immutable audited descriptor for one Solana HTTP JSON-RPC method. pub use self::rpc_method::HttpRpcMethodDescriptor; /// Documentation lifecycle status of one audited RPC method. pub use self::rpc_method::RpcDocumentationStatus; /// Technical operation kind used to separate reads, simulations and submissions. pub use self::rpc_method::RpcOperationKind; /// Request-form policy attached to a stable RPC method. pub use self::rpc_method::RpcRequestFormStatus; /// Runtime availability status of one audited RPC method. pub use self::rpc_method::RpcRuntimeStatus; /// HTTP transport retry classification attached to an RPC method descriptor. pub use self::rpc_method::TransportRetryClass; /// Returns all current Solana HTTP RPC method descriptors audited for the `0.2.1`–`0.2.4` coverage sequence. pub use self::rpc_method::current_http_rpc_methods; /// Finds a current or historical standard Solana HTTP RPC descriptor by exact method name. pub use self::rpc_method::find_http_rpc_method; /// Returns historically documented deprecated HTTP RPC descriptors retained for compliance history. pub use self::rpc_method::historical_http_rpc_methods; /// Token-account balance entry returned by `getTokenLargestAccounts`. pub use self::rpc_tokens::SolanaTokenAccountBalance; /// Exclusive selector accepted by token-account list RPC methods. pub use self::rpc_tokens::SolanaTokenAccountSelector; /// Token amount returned by Solana HTTP token RPC methods. pub use self::rpc_tokens::SolanaTokenAmount; /// Confirmed transaction result returned by `getTransaction` when the RPC result is non-null. pub use self::rpc_transactions::SolanaConfirmedTransaction; /// Wire-preserving transaction payload returned by `getTransaction`. pub use self::rpc_transactions::SolanaEncodedTransaction; /// Modern configuration object accepted by `getTransaction`. pub use self::rpc_transactions::SolanaGetTransactionConfig; /// Blockhash information returned by `getLatestBlockhash` and optionally by simulation. pub use self::rpc_transactions::SolanaLatestBlockhash; /// One recent prioritization-fee sample returned by `getRecentPrioritizationFees`. pub use self::rpc_transactions::SolanaPrioritizationFee; /// Configuration accepted by `requestAirdrop`. pub use self::rpc_transactions::SolanaRequestAirdropConfig; /// Configuration accepted by `sendTransaction` without changing KSP transport retry semantics. pub use self::rpc_transactions::SolanaSendTransactionConfig; /// One ordered signature record returned by `getSignaturesForAddress`. pub use self::rpc_transactions::SolanaSignatureInfo; /// One non-null position returned by `getSignatureStatuses`. pub use self::rpc_transactions::SolanaSignatureStatus; /// Optional historical-search configuration accepted by `getSignatureStatuses`. pub use self::rpc_transactions::SolanaSignatureStatusesConfig; /// Pagination and context configuration accepted by `getSignaturesForAddress`. pub use self::rpc_transactions::SolanaSignaturesForAddressConfig; /// Configuration accepted by `simulateTransaction`. pub use self::rpc_transactions::SolanaSimulateTransactionConfig; /// Rich result payload returned inside the contextual `simulateTransaction` response. pub use self::rpc_transactions::SolanaSimulateTransactionResult; /// Account-return configuration nested under `simulateTransaction`. pub use self::rpc_transactions::SolanaSimulationAccountsConfig; /// Binary encoding accepted for serialized transaction input payloads. pub use self::rpc_transactions::SolanaTransactionBinaryEncoding; /// Confirmation state reported for a signature or transaction status. pub use self::rpc_transactions::SolanaTransactionConfirmationStatus; /// Encoding accepted by `getTransaction`, including its retained legacy `binary` alias. pub use self::rpc_transactions::SolanaTransactionEncoding; /// Transaction version reported by `getTransaction` when the version field is present. pub use self::rpc_transactions::SolanaTransactionVersion; /// Three-state wire field used when Solana distinguishes omission from an explicit JSON `null`. pub use self::rpc_transactions::SolanaWireField; /// Configuration accepted by the standard Solana `accountSubscribe` WebSocket method. pub use self::ws_accounts::SolanaAccountSubscribeConfig; /// One `programNotification` payload preserving contextual and non-contextual upstream forms. pub use self::ws_accounts::SolanaProgramNotification; /// Configuration accepted by the standard Solana `programSubscribe` WebSocket method. pub use self::ws_accounts::SolanaProgramSubscribeConfig; /// Typed value carried inside an unstable Solana `blockNotification` response. pub use self::ws_blocks::SolanaBlockNotification; /// Optional configuration accepted by unstable Solana `blockSubscribe`. pub use self::ws_blocks::SolanaBlockSubscribeConfig; /// Filter accepted by unstable Solana `blockSubscribe`. pub use self::ws_blocks::SolanaBlockSubscribeFilter; /// Slot relationship reported by the standard Solana `slotNotification` WebSocket method. pub use self::ws_cluster::SolanaSlotNotification; /// Typed unstable Solana slot-lifecycle update with an unknown-variant fallback. pub use self::ws_cluster::SolanaSlotUpdate; /// Execution statistics attached to unstable Solana `slotsUpdatesNotification` frozen updates. pub use self::ws_cluster::SolanaSlotUpdateStats; /// Typed unstable gossip-vote notification delivered by standard Solana `voteSubscribe`. pub use self::ws_cluster::SolanaVoteNotification; /// Full/accounts-mode notification delivered by Helius `transactionSubscribe`. pub use self::ws_helius_transactions::HeliusFullTransactionNotification; /// Helius `tokenAccounts` expansion mode accepted by `transactionSubscribe`. pub use self::ws_helius_transactions::HeliusTokenAccountsFilter; /// Typed Helius `transactionNotification` payload union. pub use self::ws_helius_transactions::HeliusTransactionNotification; /// Signatures-mode notification delivered by Helius `transactionSubscribe`. pub use self::ws_helius_transactions::HeliusTransactionSignatureNotification; /// Transaction encoding accepted by Helius `transactionSubscribe`. pub use self::ws_helius_transactions::HeliusTransactionSubscribeEncoding; /// Helius-specific filter object accepted as the first `transactionSubscribe` parameter. pub use self::ws_helius_transactions::HeliusTransactionSubscribeFilter; /// Optional Helius `transactionSubscribe` result-shaping configuration. pub use self::ws_helius_transactions::HeliusTransactionSubscribeOptions; /// Complete typed request contract for Helius `transactionSubscribe` before actor registration. pub use self::ws_helius_transactions::HeliusTransactionSubscribeRequest; /// Stable local identity assigned to one physical WebSocket session. pub use self::ws_lifecycle::WsSessionId; /// Safe runtime snapshot for one physical WebSocket session. pub use self::ws_lifecycle::WsSessionSnapshot; /// Observable lifecycle state of one physical WebSocket session. pub use self::ws_lifecycle::WsSessionState; /// Stable local identity assigned to one logical WebSocket subscription. pub use self::ws_lifecycle::WsSubscriptionId; /// WebSocket subscription family represented by one logical subscription. pub use self::ws_lifecycle::WsSubscriptionKind; /// Safe lifecycle projection for one logical WebSocket subscription. pub use self::ws_lifecycle::WsSubscriptionSnapshot; /// Observable lifecycle state of one logical WebSocket subscription. pub use self::ws_lifecycle::WsSubscriptionState; /// Typed facade for one Helius LaserStream WebSocket physical session. pub use self::ws_protocol_session::HeliusLaserStreamWsSession; /// Typed facade for one standard Solana WebSocket physical session. pub use self::ws_protocol_session::SolanaStandardWsSession; /// Shareable compatibility handle for one explicitly created standard Solana physical WebSocket session. pub use self::ws_session::WsSession; /// Open cluster or network descriptor used by WebSocket endpoint settings. pub use self::ws_settings::WsClusterName; /// Runtime settings for one named WebSocket endpoint. pub use self::ws_settings::WsEndpointSettings; /// Runtime WebSocket endpoint URL with redacted diagnostics. pub use self::ws_settings::WsEndpointUrl; /// WebSocket protocol family understood by KSP Transport. pub use self::ws_settings::WsProtocolKind; /// Open provider descriptor used by WebSocket endpoint settings. pub use self::ws_settings::WsProviderName; /// Bounded reconnect settings owned by the WebSocket transport runtime. pub use self::ws_settings::WsReconnectSettings; /// Policy controlling logical resubscription after reconnect. pub use self::ws_settings::WsResubscribePolicy; /// Runtime limits and lifecycle settings for one physical WebSocket session. pub use self::ws_settings::WsSessionSettings; /// Complete runtime settings consumed by the KSP WebSocket transport foundation. pub use self::ws_settings::WsTransportSettings; /// Typed handle for one logical WebSocket subscription. pub use self::ws_subscription::WsSubscription; /// Typed value carried by a contextual Solana `logsNotification`. pub use self::ws_transactions::SolanaLogsNotification; /// Filter accepted by the standard Solana `logsSubscribe` WebSocket method. pub use self::ws_transactions::SolanaLogsSubscribeFilter; /// Typed value carried by standard Solana `signatureNotification` messages. pub use self::ws_transactions::SolanaSignatureNotification; /// Optional configuration accepted by standard Solana `signatureSubscribe`. pub use self::ws_transactions::SolanaSignatureSubscribeConfig; /// Owning tracing target for events emitted by the on-chain transport crate. pub(crate) use self::constants::TRACING_TARGET; /// Internal Yellowstone Subscribe session opener used by the physical channel. pub(crate) use self::grpc_stream::open_yellowstone_subscribe_session; /// Internal Yellowstone Subscribe request wire conversion shared with the stream engine. pub(crate) use self::grpc_subscribe::yellowstone_subscribe_request_to_wire; /// Internal Yellowstone Subscribe update decoder shared with the stream engine. pub(crate) use self::grpc_subscribe::yellowstone_subscribe_update_from_wire; /// Crate-internal `HttpConcurrencyPermit` state shared across the owning crate. pub(crate) use self::http_resilience::HttpConcurrencyPermit; /// Crate-internal `HttpRoleRuntime` state shared across the owning crate. pub(crate) use self::http_resilience::HttpRoleRuntime; /// Crate-internal `RoleAdmissionAttempt` variants used by the owning crate. pub(crate) use self::http_resilience::RoleAdmissionAttempt; /// Validates endpoint settings. pub(crate) use self::http_settings::validate_endpoint_settings; /// Decodes one private serde wire type into the shared Transport error domain for typed RPC adapters. pub(crate) use self::rpc_common::decode_wire_json; /// Parses a base58 public key without echoing its wire value into diagnostics for typed RPC adapters. pub(crate) use self::rpc_common::parse_wire_pubkey; /// Crate-internal command surface shared by the physical session and typed subscription handle. pub(crate) use self::ws_session::WsSessionCommand; /// Crate-internal notification dispatch result. pub(crate) use self::ws_subscription::WsNotificationDispatchOutcome; /// Crate-internal type-erased notification dispatcher. pub(crate) use self::ws_subscription::WsNotificationDispatcher; /// Crate-internal actor registration returned after subscribe acknowledgement. pub(crate) use self::ws_subscription::WsSubscriptionRegistration; /// Crate-internal actor-owned logical subscription runtime entry. pub(crate) use self::ws_subscription::WsSubscriptionRuntime; /// Crate-internal constructor for bounded typed notification channels with terminal-value classification. pub(crate) use self::ws_subscription::typed_notification_channel_with_completion;