v0.3.15-pre.004

This commit is contained in:
2026-09-13 08:47:43 +02:00
parent dc8863a46d
commit 8adf1bda3f
4 changed files with 129 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
// version: 37
// version: 38
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.14-pre.011`.
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.15-pre.004`.
fn network(value: &'static str) -> std::option::Option<ksp_store_lib::RawNetworkId> {
let result = ksp_store_lib::RawNetworkId::new(value);
@@ -1374,3 +1374,42 @@ fn v0_3_14_pre_013_cross_layer_completeness_security_closure_is_exact_and_redact
}
return;
}
#[test]
fn v0_3_15_pre_004_websocket_source_constructors_enforce_transport_capabilities_before_io() {
let resources = include_str!("../src/runtime_resources.rs");
for required in [
"supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::Logs)",
"runtime_resources.standard_logs_capability_missing",
"supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::Block)",
"runtime_resources.standard_block_capability_missing",
"supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::HeliusTransaction)",
"runtime_resources.helius_transaction_capability_missing",
] {
assert!(resources.contains(required), "required pre.004 WebSocket capability enforcement missing: {required}");
}
let logs_impl = match resources.split_once("impl crate::RawTransactionIngestStandardLogsSource {") {
std::option::Option::Some((_, tail)) => tail,
std::option::Option::None => "",
};
let block_impl = match resources.split_once("impl crate::RawTransactionIngestStandardBlockSource {") {
std::option::Option::Some((_, tail)) => tail,
std::option::Option::None => "",
};
let helius_impl = match resources.split_once("impl crate::RawTransactionIngestHeliusTransactionSource {") {
std::option::Option::Some((_, tail)) => tail,
std::option::Option::None => "",
};
let logs_capability = logs_impl.find("supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::Logs)");
let logs_connect = logs_impl.find("SolanaStandardWsSession::connect");
let block_capability = block_impl.find("supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::Block)");
let block_connect = block_impl.find("SolanaStandardWsSession::connect");
let helius_capability = helius_impl.find("supports_subscription(ksp_onchain_transport_lib::WsSubscriptionKind::HeliusTransaction)");
let helius_connect = helius_impl.find("HeliusLaserStreamWsSession::connect");
assert!(matches!((logs_capability, logs_connect), (std::option::Option::Some(capability), std::option::Option::Some(connect)) if capability < connect));
assert!(matches!((block_capability, block_connect), (std::option::Option::Some(capability), std::option::Option::Some(connect)) if capability < connect));
assert!(matches!((helius_capability, helius_connect), (std::option::Option::Some(capability), std::option::Option::Some(connect)) if capability < connect));
assert!(!resources.contains("provider_supports_subscription"));
assert!(!resources.contains("match ws_endpoint.provider()"));
return;
}

View File

@@ -1,7 +1,7 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/release_completeness.rs
// version: 32
// version: 33
//! Release-completeness canaries through the `v0.3.14-pre.013` cross-layer closure tranche.
//! Release-completeness canaries through the `v0.3.15-pre.004` WebSocket capability-enforcement tranche.
#[test]
fn pre_010_production_module_inventory_is_exact() -> std::io::Result<()> {
@@ -463,3 +463,23 @@ fn v0_3_14_pre_013_cross_layer_closure_canaries_are_complete_without_behavior_or
assert!(include_str!("../src/lib.rs").contains("RawTransactionIngestWorker"));
return;
}
#[test]
fn v0_3_15_pre_004_websocket_capability_enforcement_canaries_are_complete_without_public_surface_growth() {
let resource_tests = include_str!("../unit_tests/runtime_resources.rs");
let hardening = include_str!("hardening.rs");
let root = include_str!("../src/lib.rs");
assert!(resource_tests.contains("v0_3_15_pre_004_websocket_route_constructors_require_explicit_capability_before_io"));
assert!(hardening.contains("v0_3_15_pre_004_websocket_source_constructors_enforce_transport_capabilities_before_io"));
for required in [
"runtime_resources.standard_logs_capability_missing",
"runtime_resources.standard_block_capability_missing",
"runtime_resources.helius_transaction_capability_missing",
] {
assert!(resource_tests.contains(required), "required pre.004 route-constructor canary missing: {required}");
}
assert!(!root.contains("WsSubscriptionKind"));
assert!(!root.contains("subscription_capabilities"));
assert!(!root.contains("supports_subscription"));
return;
}