v0.3.15-pre.002

This commit is contained in:
2026-09-13 06:07:42 +02:00
parent 84ef8bb1f1
commit 8ea261d3a4
7 changed files with 532 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-onchain-transport-lib/tests/public_api.rs
// version: 54
// version: 55
//! Integration tests for the public `ksp-onchain-transport-lib` consumer contract.
@@ -1057,3 +1057,21 @@ fn public_v0_3_13_pre_002_yellowstone_subscribe_identity_is_opaque_and_available
assert!(!debug.contains("bytes:"));
return;
}
#[test]
fn public_v0_3_15_pre_002_websocket_endpoint_capability_contract_is_available_from_crate_root() {
let endpoint = ksp_onchain_transport_lib::WsEndpointSettings::new(
"typed_public",
true,
ksp_onchain_transport_lib::WsProviderName::new("public"),
ksp_onchain_transport_lib::WsClusterName::new("devnet"),
ksp_onchain_transport_lib::WsProtocolKind::SolanaStandard,
ksp_onchain_transport_lib::WsEndpointUrl::parse("wss://api.devnet.solana.com").expect("public WebSocket URL fixture must parse"),
ksp_onchain_transport_lib::WsSessionSettings::default(),
)
.with_subscription_capabilities(std::vec![ksp_onchain_transport_lib::WsSubscriptionKind::Logs, ksp_onchain_transport_lib::WsSubscriptionKind::Block,]);
assert!(endpoint.supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::Logs));
assert!(endpoint.supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::Block));
assert!(!endpoint.supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::HeliusTransaction));
assert_eq!(endpoint.subscription_capabilities().map(|capabilities| return capabilities.len()), std::option::Option::Some(2));
}