v0.2.8-pre.002

This commit is contained in:
2026-08-23 13:15:42 +02:00
parent 315e7e67e5
commit 0871b85df9
12 changed files with 767 additions and 50 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-onchain-transport-lib/tests/public_api.rs
// version: 33
// version: 34
//! Integration tests for the public `ksp-onchain-transport-lib` consumer contract.
@@ -676,3 +676,25 @@ fn public_v0_2_7_pre_012_complete_standard_websocket_surface_is_available_from_c
];
assert_eq!(kinds.len(), 9);
}
#[test]
fn public_v0_2_8_pre_002_protocol_facades_are_available_without_replacing_the_standard_session_contract() {
assert_eq!(ksp_onchain_transport_lib::WsProtocolKind::SolanaStandard.as_str(), "solana_standard");
assert_eq!(ksp_onchain_transport_lib::WsProtocolKind::HeliusLaserStream.as_str(), "helius_laserstream");
let _historical_connect = ksp_onchain_transport_lib::WsSession::connect;
let _standard_connect = ksp_onchain_transport_lib::SolanaStandardWsSession::connect;
let _standard_close = ksp_onchain_transport_lib::SolanaStandardWsSession::close;
let _standard_snapshot = ksp_onchain_transport_lib::SolanaStandardWsSession::snapshot;
let _standard_account = ksp_onchain_transport_lib::SolanaStandardWsSession::account_subscribe;
let _standard_block = ksp_onchain_transport_lib::SolanaStandardWsSession::block_subscribe;
let _standard_logs = ksp_onchain_transport_lib::SolanaStandardWsSession::logs_subscribe;
let _standard_program = ksp_onchain_transport_lib::SolanaStandardWsSession::program_subscribe;
let _standard_root = ksp_onchain_transport_lib::SolanaStandardWsSession::root_subscribe;
let _standard_signature = ksp_onchain_transport_lib::SolanaStandardWsSession::signature_subscribe;
let _standard_slot = ksp_onchain_transport_lib::SolanaStandardWsSession::slot_subscribe;
let _standard_slots_updates = ksp_onchain_transport_lib::SolanaStandardWsSession::slots_updates_subscribe;
let _standard_vote = ksp_onchain_transport_lib::SolanaStandardWsSession::vote_subscribe;
let _helius_connect = ksp_onchain_transport_lib::HeliusLaserStreamWsSession::connect;
let _helius_close = ksp_onchain_transport_lib::HeliusLaserStreamWsSession::close;
let _helius_snapshot = ksp_onchain_transport_lib::HeliusLaserStreamWsSession::snapshot;
}

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-onchain-transport-lib/tests/release_completeness.rs
// version: 24
// version: 25
//! Release-level completeness canaries for staged HTTP and WebSocket Transport coverage.
@@ -769,3 +769,29 @@ fn release_v0_2_7_pre_012_http_inventory_remains_52_current_plus_14_historical()
assert!(current.iter().all(|descriptor| return descriptor.runtime_status() == ksp_onchain_transport_lib::RpcRuntimeStatus::Supported));
assert!(historical.iter().all(|descriptor| return descriptor.runtime_status() == ksp_onchain_transport_lib::RpcRuntimeStatus::Removed));
}
#[test]
fn release_v0_2_8_pre_002_protocol_facades_preserve_the_standard_partition() {
assert_eq!(ksp_onchain_transport_lib::WsProtocolKind::SolanaStandard.as_str(), "solana_standard");
assert_eq!(ksp_onchain_transport_lib::WsProtocolKind::HeliusLaserStream.as_str(), "helius_laserstream");
let standard_kinds = [
ksp_onchain_transport_lib::WsSubscriptionKind::Account,
ksp_onchain_transport_lib::WsSubscriptionKind::Block,
ksp_onchain_transport_lib::WsSubscriptionKind::Logs,
ksp_onchain_transport_lib::WsSubscriptionKind::Program,
ksp_onchain_transport_lib::WsSubscriptionKind::Root,
ksp_onchain_transport_lib::WsSubscriptionKind::Signature,
ksp_onchain_transport_lib::WsSubscriptionKind::Slot,
ksp_onchain_transport_lib::WsSubscriptionKind::SlotsUpdates,
ksp_onchain_transport_lib::WsSubscriptionKind::Vote,
];
assert_eq!(standard_kinds.len(), 9);
assert_eq!(
std::any::type_name::<ksp_onchain_transport_lib::SolanaStandardWsSession>().rsplit("::").next(),
std::option::Option::Some("SolanaStandardWsSession")
);
assert_eq!(
std::any::type_name::<ksp_onchain_transport_lib::HeliusLaserStreamWsSession>().rsplit("::").next(),
std::option::Option::Some("HeliusLaserStreamWsSession")
);
}