0.3.15-pre.014
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
|
||||
// version: 39
|
||||
// version: 40
|
||||
|
||||
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.15-pre.004`.
|
||||
|
||||
@@ -1449,3 +1449,35 @@ fn v0_3_15_pre_013_yellowstone_block_hydration_is_bounded_concurrent_and_stop_pr
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_15_pre_014_cross_provider_block_identity_diagnostic_is_safe_and_covers_both_get_block_routes() {
|
||||
let resources = include_str!("../src/runtime_resources.rs");
|
||||
for required in [
|
||||
"RAW_TRANSACTION_INGEST_BLOCK_IDENTITY_FINGERPRINT_DOMAIN",
|
||||
"fn block_identity_fingerprint(",
|
||||
"fn log_block_identity(",
|
||||
"domain = \"raw_transaction_ingest.block_identity\"",
|
||||
"\"yellowstone_block_hydration\"",
|
||||
"\"http_block_polling\"",
|
||||
"block_identity_fingerprint = fingerprint.as_str()",
|
||||
"parent_slot = block.parent_slot()",
|
||||
] {
|
||||
assert!(resources.contains(required), "missing pre.014 block identity diagnostic guard: {required}");
|
||||
}
|
||||
let start = resources.find("fn log_block_identity(");
|
||||
assert!(start.is_some(), "missing pre.014 block identity logger");
|
||||
let Some(start) = start else {
|
||||
return;
|
||||
};
|
||||
let end = resources[start..].find("fn fingerprint_filter_code(");
|
||||
assert!(end.is_some(), "missing pre.014 block identity logger end marker");
|
||||
let Some(end) = end else {
|
||||
return;
|
||||
};
|
||||
let logger = &resources[start..start + end];
|
||||
for forbidden in ["blockhash =", "previous_blockhash =", "signature =", "payload =", "transaction ="] {
|
||||
assert!(!logger.contains(forbidden), "pre.014 block identity logger exposes forbidden material: {forbidden}");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/release_completeness.rs
|
||||
// version: 35
|
||||
// version: 36
|
||||
|
||||
//! Release-completeness canaries through the `v0.3.15-pre.004` WebSocket capability-enforcement tranche.
|
||||
|
||||
@@ -496,3 +496,13 @@ fn v0_3_15_pre_013_yellowstone_block_backpressure_fix_adds_no_public_surface() {
|
||||
assert!(!root.contains("YellowstoneBlockHydrationContext"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_15_pre_014_cross_provider_convergence_diagnostic_adds_no_public_worker_surface() {
|
||||
let hardening = include_str!("hardening.rs");
|
||||
let root = include_str!("../src/lib.rs");
|
||||
assert!(hardening.contains("v0_3_15_pre_014_cross_provider_block_identity_diagnostic_is_safe_and_covers_both_get_block_routes"));
|
||||
assert!(!root.contains("BlockIdentityFingerprint"));
|
||||
assert!(!root.contains("LogMessagesConflictDiagnostic"));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user