v0.3.15-pre.006-fix.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-raw-transaction-ingest-desk/src/route_inventory.rs
|
||||
// version: 2
|
||||
// version: 3
|
||||
|
||||
//! Config-only logical route inventory for Raw Transaction Ingest Desk.
|
||||
|
||||
@@ -16,6 +16,7 @@ struct RouteCapabilities {
|
||||
has_standard_logs: bool,
|
||||
has_standard_block: bool,
|
||||
has_helius_transaction: bool,
|
||||
helius_source_declared: bool,
|
||||
helius_source_missing_secret: bool,
|
||||
yellowstone_source_missing_secret: bool,
|
||||
}
|
||||
@@ -199,6 +200,9 @@ fn build_profile_inventory(
|
||||
crate::RawIngestRouteUnavailableReason::ProfileUnresolved,
|
||||
);
|
||||
}
|
||||
if component_id == crate::COMPOSITE_COMPONENT_ID_TRANSPORT_HELIUS {
|
||||
capabilities.helius_source_declared = true;
|
||||
}
|
||||
if component.resolved().file_id().as_str() != ksp_config_lib::FILE_ID_STD_TRANSPORT {
|
||||
return unavailable_profile(
|
||||
profile_id,
|
||||
@@ -257,7 +261,7 @@ fn build_configured_profile_routes(capabilities: &RouteCapabilities, network: &s
|
||||
} else {
|
||||
crate::RawIngestRouteUnavailableReason::MissingHeliusTransactionCapability
|
||||
};
|
||||
return vec![
|
||||
let mut routes = vec![
|
||||
route_with_requirements(
|
||||
crate::RawIngestRouteId::YellowstoneHydrated,
|
||||
network,
|
||||
@@ -279,20 +283,23 @@ fn build_configured_profile_routes(capabilities: &RouteCapabilities, network: &s
|
||||
network,
|
||||
&[(capabilities.has_standard_block, crate::RawIngestRouteUnavailableReason::MissingWsBlockCapability)],
|
||||
),
|
||||
route_with_requirements(
|
||||
];
|
||||
if capabilities.helius_source_declared {
|
||||
routes.push(route_with_requirements(
|
||||
crate::RawIngestRouteId::HeliusTransactionHydrated,
|
||||
network,
|
||||
&[
|
||||
(capabilities.has_helius_transaction, helius_reason),
|
||||
(capabilities.has_get_transaction, crate::RawIngestRouteUnavailableReason::MissingHttpGetTransaction),
|
||||
],
|
||||
),
|
||||
route_with_requirements(
|
||||
crate::RawIngestRouteId::HttpBlockPolling,
|
||||
network,
|
||||
&[(capabilities.has_http_block_scan, crate::RawIngestRouteUnavailableReason::MissingHttpBlockScan)],
|
||||
),
|
||||
];
|
||||
));
|
||||
}
|
||||
routes.push(route_with_requirements(
|
||||
crate::RawIngestRouteId::HttpBlockPolling,
|
||||
network,
|
||||
&[(capabilities.has_http_block_scan, crate::RawIngestRouteUnavailableReason::MissingHttpBlockScan)],
|
||||
));
|
||||
return routes;
|
||||
}
|
||||
|
||||
fn route_with_requirements(
|
||||
|
||||
Reference in New Issue
Block a user