v0.3.14-pre.004

This commit is contained in:
2026-09-11 22:22:51 +02:00
parent 6721a4142a
commit 1006079654
11 changed files with 624 additions and 21 deletions

View File

@@ -1,7 +1,7 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
// version: 27
// version: 28
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.14-pre.003`.
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.14-pre.004`.
fn network(value: &'static str) -> std::option::Option<ksp_store_lib::RawNetworkId> {
let result = ksp_store_lib::RawNetworkId::new(value);
@@ -1024,3 +1024,33 @@ fn v0_3_14_pre_003_websocket_continuity_observation_reuses_transport_snapshot_so
assert!(!worker.contains("set_from_slot("));
return;
}
#[test]
fn v0_3_14_pre_004_yellowstone_replay_evidence_is_transport_owned_and_fail_closed_without_coverage_proof() {
let worker = include_str!("../src/runtime_resources.rs");
let transport = include_str!("../../ksp-onchain-transport-lib/src/grpc_stream.rs");
for required in [
"snapshot.replay_delivery_count()",
"snapshot.replay_coverage_unproven_count()",
"source_replay_delivery_total",
"source_replay_coverage_unproven_total",
"source.replay_coverage_unproven",
] {
assert!(worker.contains(required), "required pre.004 Worker replay-evidence guard missing: {required}");
}
for required in [
"replay_delivery_count",
"replay_coverage_unproven_count",
"pending_replay_from_slot",
"tracker.begin_replay(effective_from_slot)",
"first_available > requested",
] {
assert!(transport.contains(required), "required pre.004 Transport replay-evidence guard missing: {required}");
}
for forbidden in ["subscribe_replay_info(", "set_from_slot(", "YellowstoneReplayInfo", "last_requested_from_slot()"] {
assert!(!worker.contains(forbidden), "pre.004 Worker took replay ownership: {forbidden}");
}
assert!(!transport.contains("replay_covered_count"));
assert!(!transport.contains("replay_coverage_proven_count"));
return;
}