v0.3.14-pre.007-fix.001

This commit is contained in:
2026-09-12 08:04:19 +02:00
parent 887664f3c0
commit 9fc30d3ab9
4 changed files with 180 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/src/runtime_resources.rs
// version: 33
// version: 34
use sha2::Digest; // rust-rules: trait-import
@@ -4033,7 +4033,7 @@ enum RawTransactionIngestKnownReferenceMissingDisposition {
}
enum RawTransactionIngestKnownReferenceHydrationResolution {
Available(crate::RawTransactionIngress),
Available(std::boxed::Box<crate::RawTransactionIngress>),
Missing {
disposition: RawTransactionIngestKnownReferenceMissingDisposition,
obligation: crate::RawTransactionIngestKnownReferenceObligation,
@@ -4239,7 +4239,7 @@ impl RawTransactionIngestHydrationCoordinator {
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
let ingress = match resolution {
RawTransactionIngestKnownReferenceHydrationResolution::Available(value) => value,
RawTransactionIngestKnownReferenceHydrationResolution::Available(value) => *value,
RawTransactionIngestKnownReferenceHydrationResolution::Missing { disposition, obligation } => {
if obligation.commitment() != hydration.commitment
|| obligation.reference().network() != &hydration.network
@@ -4431,7 +4431,7 @@ fn resolve_known_reference_hydration(
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
if let std::option::Option::Some(value) = ingress {
return std::result::Result::Ok(RawTransactionIngestKnownReferenceHydrationResolution::Available(value));
return std::result::Result::Ok(RawTransactionIngestKnownReferenceHydrationResolution::Available(std::boxed::Box::new(value)));
}
let block_slot_supported = match http_role_supports_rpc_method(&hydration.http_pool, &hydration.hydration_role, "getBlock", hydration.network.as_str()) {
std::result::Result::Ok(value) => value,

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/unit_tests/runtime_resources.rs
// version: 27
// version: 28
fn grpc_endpoint(cluster: &str) -> std::option::Option<ksp_onchain_transport_lib::YellowstoneGrpcEndpointSettings> {
return grpc_endpoint_with_identity(cluster, "yellowstone-fixture", "fixture-provider");
@@ -3238,7 +3238,7 @@ async fn v0_3_14_pre_007_known_reference_hydration_reuses_global_registry_and_av
_ => return,
};
let (mut admission, sender) = crate::RawTransactionAdmission::new(1);
if sender.send(ingress).await.is_err() {
if sender.send(*ingress).await.is_err() {
return;
}
std::mem::drop(sender);