v0.3.14-pre.002
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
|
||||
// version: 24
|
||||
// version: 25
|
||||
|
||||
//! External public, security, redaction and release-boundary hardening canaries through `pre.012`.
|
||||
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.14-pre.002`.
|
||||
|
||||
fn network(value: &'static str) -> std::option::Option<ksp_store_lib::RawNetworkId> {
|
||||
let result = ksp_store_lib::RawNetworkId::new(value);
|
||||
@@ -957,3 +957,57 @@ fn v0_3_13_pre_012_cross_layer_security_closure_is_complete_and_source_neutral()
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_14_pre_002_continuity_contracts_are_private_bounded_and_io_free() {
|
||||
let continuity = include_str!("../src/continuity.rs");
|
||||
let resources = include_str!("../src/runtime_resources.rs");
|
||||
let root = include_str!("../src/lib.rs");
|
||||
for required in [
|
||||
"MAX_RAW_TRANSACTION_INGEST_OPEN_REPAIR_GAPS",
|
||||
"MAX_RAW_TRANSACTION_INGEST_REPAIR_ACTIVE_GAPS",
|
||||
"MAX_RAW_TRANSACTION_INGEST_REPAIR_BLOCK_FETCH_IN_FLIGHT",
|
||||
"MAX_RAW_TRANSACTION_INGEST_REPAIR_DISCOVERY_WINDOW_SLOTS",
|
||||
"MAX_RAW_TRANSACTION_INGEST_REPAIR_RANGE_SLOTS",
|
||||
"FullLedgerTransactions",
|
||||
"ExactSourceScope",
|
||||
"KnownReferences",
|
||||
"RawTransactionIngestGapLedger",
|
||||
"RawTransactionIngestTargetCoverage",
|
||||
"RawTransactionIngestRepairCapabilityDescriptor",
|
||||
"RawTransactionIngestContinuityContracts",
|
||||
"continuity.known_references_not_target_scope",
|
||||
"continuity.coalescible_gap_ranges",
|
||||
] {
|
||||
assert!(continuity.contains(required), "required pre.002 continuity contract missing: {required}");
|
||||
}
|
||||
for required in [
|
||||
"repair_capability_descriptor",
|
||||
"yellowstone_coverage_scope_fingerprint",
|
||||
"http_role_supports_repair_scan",
|
||||
"RawTransactionIngestContinuityContracts::new",
|
||||
"validate_for_source_count",
|
||||
] {
|
||||
assert!(resources.contains(required), "required pre.002 runtime-resource capability wiring missing: {required}");
|
||||
}
|
||||
for forbidden in [
|
||||
"get_block_observed",
|
||||
"get_transaction_observed",
|
||||
"get_blocks_with_limit",
|
||||
"get_blocks(",
|
||||
"open_standard_subscribe",
|
||||
"SolanaStandardWsSession::connect",
|
||||
"HeliusLaserStreamWsSession::connect",
|
||||
"ksp_config_lib::",
|
||||
"ksp_job_backfill_lib::",
|
||||
"ksp_store_postgres_lib::",
|
||||
"reqwest::",
|
||||
"tonic::",
|
||||
"yellowstone_grpc_proto::",
|
||||
] {
|
||||
assert!(!continuity.contains(forbidden), "pre.002 continuity contract performed or imported forbidden I/O/boundary: {forbidden}");
|
||||
}
|
||||
assert!(!root.contains("pub use self::continuity::"));
|
||||
assert!(root.contains("pub(crate) use self::continuity::RawTransactionIngestContinuityContracts;"));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user