@@ -1,5 +1,5 @@
// file: crates/ksp-onchain-transport-lib/src/lib.rs
// version: 38
// version: 39
#![ warn(missing_docs) ]
#![ deny(unreachable_pub) ]
@@ -36,19 +36,21 @@
//! `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/ transaction/block filter field s remain staged for `pre.005 – 007 `.
//! 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.
mod client ;
mod constants ;
mod error ;
mod executor ;
mod grpc_channel ;
mod grpc_settings ;
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 pool ;
mod resilience ;
mod rpc_accounts ;
mod rpc_blocks ;
mod rpc_canary ;
@@ -58,7 +60,6 @@ mod rpc_economics;
mod rpc_method ;
mod rpc_tokens ;
mod rpc_transactions ;
mod settings ;
mod ws_accounts ;
mod ws_blocks ;
mod ws_cluster ;
@@ -71,13 +72,13 @@ mod ws_subscription;
mod ws_transactions ;
/// Passive runtime availability reported for one logical HTTP endpoint.
pub use self ::client ::HttpEndpointAvailability ;
pub use self ::http_ client ::HttpEndpointAvailability ;
/// Shareable logical HTTP endpoint client owned by KSP Transport.
pub use self ::client ::HttpEndpointClient ;
pub use self ::http_ client ::HttpEndpointClient ;
/// Safe routing snapshot for one configured endpoint role.
pub use self ::client ::HttpEndpointRoleSnapshot ;
pub use self ::http_ client ::HttpEndpointRoleSnapshot ;
/// Safe metadata snapshot for one logical HTTP endpoint.
pub use self ::client ::HttpEndpointSnapshot ;
pub use self ::http_ client ::HttpEndpointSnapshot ;
/// Error code used when no logical endpoint can satisfy a request.
pub use self ::error ::ERROR_CODE_ENDPOINT_SELECTION_FAILED ;
/// Error code used when a Yellowstone gRPC channel cannot be prepared safely.
@@ -134,28 +135,24 @@ pub use self::grpc_settings::YellowstoneGrpcReconnectSettings;
pub use self ::grpc_settings ::YellowstoneGrpcSessionSettings ;
/// Complete runtime settings consumed by the KSP Yellowstone gRPC transport engine.
pub use self ::grpc_settings ::YellowstoneGrpcTransportSettings ;
/// 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 ;
/// One validated standard Yellowstone account predicate .
pub use self ::grpc_subscribe ::YellowstoneAccountFilterPredicate ;
/// Standard Yellowstone account-update projection owned by KSP.
pub use self ::grpc_subscribe ::YellowstoneAccountUpdate ;
/// 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 ::YellowstoneAccountUpda te ;
/// Lamport comparison used by standard Yellowstone account filters .
pub use self ::grpc_subscribe ::YellowstoneAccountLamportsFil ter ;
/// One standard Yellowstone account-data slice.
pub use self ::grpc_subscribe ::YellowstoneAccountsDataSlice ;
/// 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 ;
/// 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 ;
/// Wire-preserving KSP representation of a standard Yellowstone Cuckoo filter .
pub use self ::grpc_subscribe ::YellowstoneCuckooFilter ;
/// Complete account-family filter group for standard Yellowstone Subscribe.
pub use self ::grpc_subscribe ::YellowstoneSubscribeAccountFilter ;
/// Block-family filter-group shell for standard Yellowstone Subscribe.
@@ -172,12 +169,16 @@ pub use self::grpc_subscribe::YellowstoneSubscribePing;
pub use self ::grpc_subscribe ::YellowstoneSubscribeRequest ;
/// Complete slot-family filter group for standard Yellowstone Subscribe.
pub use self ::grpc_subscribe ::YellowstoneSubscribeSlotFilter ;
/// Transaction-family filter-group shell shared by transactions and transaction-status map s.
pub use self ::grpc_subscribe ::YellowstoneSubscribeTransactionFilter ;
/// Current standard Yellowstone slot statu s.
pub use self ::grpc_subscribe ::YellowstoneSlotStatus ;
/// Standard Yellowstone slot-update projection owned by KSP.
pub use self ::grpc_subscribe ::YellowstoneSlotUpdate ;
/// Fixed-width transaction signature attached to Yellowstone account updates when available.
pub use self ::grpc_subscribe ::YellowstoneTransactionSignature ;
/// Timestamp attached to standard Yellowstone update envelopes.
pub use self ::grpc_subscribe ::YellowstoneUpdateTimestamp ;
/// Transaction-family filter-group shell shared by transactions and transaction-status maps.
pub use self ::grpc_subscribe ::YellowstoneSubscribeTransactionFilter ;
/// 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.
@@ -209,21 +210,21 @@ 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 ;
/// Result of one logical endpoint selection.
pub use self ::pool ::HttpEndpointSelection ;
pub use self ::http_ pool ::HttpEndpointSelection ;
/// Runtime admission permit for one HTTP request.
pub use self ::pool ::HttpRequestPermit ;
pub use self ::http_ pool ::HttpRequestPermit ;
/// Shareable logical HTTP endpoint pool with priority routing, admission limits and bounded deadlines.
pub use self ::pool ::HttpTransportPool ;
pub use self ::http_ pool ::HttpTransportPool ;
/// Safe snapshot of the logical HTTP endpoint pool.
pub use self ::pool ::HttpTransportPoolSnapshot ;
pub use self ::http_ pool ::HttpTransportPoolSnapshot ;
/// Dispatch knowledge used to prevent ambiguous automatic resubmission.
pub use self ::resilience ::HttpDispatchState ;
pub use self ::http_ resilience ::HttpDispatchState ;
/// Transport-level cause considered by the bounded retry policy.
pub use self ::resilience ::HttpRetryCause ;
pub use self ::http_ resilience ::HttpRetryCause ;
/// Result of evaluating one bounded transport retry opportunity.
pub use self ::resilience ::HttpRetryDecision ;
pub use self ::http_ resilience ::HttpRetryDecision ;
/// Evaluates the centralized bounded HTTP retry policy for one audited RPC method.
pub use self ::resilience ::evaluate_transport_retry ;
pub use self ::http_ resilience ::evaluate_transport_retry ;
/// Typed transport-level Solana account without Program/SPL decoding.
pub use self ::rpc_accounts ::SolanaAccount ;
/// Address and lamport balance returned by `getLargestAccounts`.
@@ -397,25 +398,25 @@ 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 ;
/// Open cluster or network descriptor used by HTTP endpoint settings.
pub use self ::settings ::HttpClusterName ;
pub use self ::http_ settings ::HttpClusterName ;
/// Runtime settings for one role declared by an HTTP endpoint.
pub use self ::settings ::HttpEndpointRoleSettings ;
pub use self ::http_ settings ::HttpEndpointRoleSettings ;
/// Runtime settings for one named Solana HTTP endpoint.
pub use self ::settings ::HttpEndpointSettings ;
pub use self ::http_ settings ::HttpEndpointSettings ;
/// Runtime HTTP endpoint URL with redacted diagnostics.
pub use self ::settings ::HttpEndpointUrl ;
pub use self ::http_ settings ::HttpEndpointUrl ;
/// Open provider descriptor used by HTTP endpoint settings.
pub use self ::settings ::HttpProviderName ;
pub use self ::http_ settings ::HttpProviderName ;
/// Open request-kind descriptor used by logical endpoint capabilities.
pub use self ::settings ::HttpRequestKind ;
pub use self ::http_ settings ::HttpRequestKind ;
/// Bounded retry settings owned by the HTTP transport runtime.
pub use self ::settings ::HttpRetrySettings ;
pub use self ::http_ settings ::HttpRetrySettings ;
/// Local limits attached to one logical HTTP endpoint role.
pub use self ::settings ::HttpRoleLimits ;
pub use self ::http_ settings ::HttpRoleLimits ;
/// Open logical endpoint role descriptor.
pub use self ::settings ::HttpRoleName ;
pub use self ::http_ settings ::HttpRoleName ;
/// Complete runtime settings consumed by the Solana HTTP transport foundation.
pub use self ::settings ::HttpTransportSettings ;
pub use self ::http_ settings ::HttpTransportSettings ;
/// 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.
@@ -504,17 +505,17 @@ 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 ;
/// Crate-internal `HttpConcurrencyPermit` state shared across the owning crate.
pub ( crate ) use self ::resilience ::HttpConcurrencyPermit ;
pub ( crate ) use self ::http_ resilience ::HttpConcurrencyPermit ;
/// Crate-internal `HttpRoleRuntime` state shared across the owning crate.
pub ( crate ) use self ::resilience ::HttpRoleRuntime ;
pub ( crate ) use self ::http_ resilience ::HttpRoleRuntime ;
/// Crate-internal `RoleAdmissionAttempt` variants used by the owning crate.
pub ( crate ) use self ::resilience ::RoleAdmissionAttempt ;
pub ( crate ) use self ::http_ resilience ::RoleAdmissionAttempt ;
/// 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 ;
/// Validates endpoint settings.
pub ( crate ) use self ::settings ::validate_endpoint_settings ;
pub ( crate ) use self ::http_ settings ::validate_endpoint_settings ;
/// 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.