0.7.33
This commit is contained in:
@@ -368,6 +368,9 @@ pub(crate) struct DemoPipeline2LocalPipelineDiagnosticSummary {
|
||||
/// Diagnostics grouped by pair materialization/actionability class.
|
||||
pub pair_actionability_summaries:
|
||||
std::vec::Vec<DemoPipeline2LocalPairActionabilityDiagnosticSummary>,
|
||||
/// Diagnostics grouped by pair trading-readiness class.
|
||||
pub pair_trading_readiness_summaries:
|
||||
std::vec::Vec<DemoPipeline2LocalPairTradingReadinessDiagnosticSummary>,
|
||||
/// Diagnostics grouped by decoded event kind.
|
||||
pub decoded_event_summaries: std::vec::Vec<DemoPipeline2LocalDecodedEventDiagnosticSummary>,
|
||||
/// Diagnostics grouped by decoded event classification.
|
||||
@@ -476,6 +479,12 @@ pub(crate) struct DemoPipeline2LocalPairDiagnosticSummary {
|
||||
/// Last known price.
|
||||
#[ts(type = "number | null")]
|
||||
pub last_price_quote_per_base: std::option::Option<f64>,
|
||||
/// Pair trading-readiness class derived from base/quote orientation.
|
||||
pub pair_trading_readiness: std::string::String,
|
||||
/// Quote asset class used by the readiness classifier.
|
||||
pub quote_asset_class: std::string::String,
|
||||
/// Whether the pair likely requires a router or aggregator before direct execution.
|
||||
pub trading_route_required: bool,
|
||||
}
|
||||
|
||||
/// Local pair actionability diagnostics summary for the UI.
|
||||
@@ -511,6 +520,37 @@ pub(crate) struct DemoPipeline2LocalPairActionabilityDiagnosticSummary {
|
||||
pub pair_candle_count: i64,
|
||||
}
|
||||
|
||||
/// Local pair trading-readiness diagnostics summary for the UI.
|
||||
#[derive(Clone, Debug, serde::Serialize, TS)]
|
||||
#[ts(
|
||||
export,
|
||||
export_to = "../frontend/ts/bindings/DemoPipeline2LocalPairTradingReadinessDiagnosticSummary.ts"
|
||||
)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct DemoPipeline2LocalPairTradingReadinessDiagnosticSummary {
|
||||
/// Pair trading-readiness class.
|
||||
pub pair_trading_readiness: std::string::String,
|
||||
/// Quote asset class.
|
||||
pub quote_asset_class: std::string::String,
|
||||
/// Whether a router or aggregator is required before direct execution.
|
||||
pub trading_route_required: bool,
|
||||
/// Pair count.
|
||||
#[ts(type = "number")]
|
||||
pub pair_count: i64,
|
||||
/// Decoded event count.
|
||||
#[ts(type = "number")]
|
||||
pub decoded_event_count: i64,
|
||||
/// Decoded trade candidate count.
|
||||
#[ts(type = "number")]
|
||||
pub decoded_trade_candidate_count: i64,
|
||||
/// Trade event count.
|
||||
#[ts(type = "number")]
|
||||
pub trade_event_count: i64,
|
||||
/// Pair candle count.
|
||||
#[ts(type = "number")]
|
||||
pub pair_candle_count: i64,
|
||||
}
|
||||
|
||||
/// Local decoded-event diagnostics summary for the UI.
|
||||
#[derive(Clone, Debug, serde::Serialize, TS)]
|
||||
#[ts(
|
||||
@@ -1035,7 +1075,7 @@ pub(crate) async fn demo_pipeline2_validate_local_pipeline(
|
||||
let service = kb_lib::LocalPipelineValidationService::new(database.clone());
|
||||
let profile_code = match request {
|
||||
Some(request) => request.profile_code,
|
||||
None => "0.7.32_validation_report_semantics".to_string(),
|
||||
None => "0.7.33_pair_trading_readiness".to_string(),
|
||||
};
|
||||
let run_result = match profile_code.as_str() {
|
||||
"0.7.27" | "0.7.27_dexes_non_regression" => {
|
||||
@@ -1056,6 +1096,9 @@ pub(crate) async fn demo_pipeline2_validate_local_pipeline(
|
||||
"0.7.32" | "0.7.32_validation_report_semantics" => {
|
||||
service.validate_v0_7_32_current_database().await
|
||||
},
|
||||
"0.7.33" | "0.7.33_pair_trading_readiness" => {
|
||||
service.validate_v0_7_33_current_database().await
|
||||
},
|
||||
other => Err(kb_lib::Error::InvalidState(format!(
|
||||
"unsupported local pipeline validation profile: {other}"
|
||||
))),
|
||||
@@ -1547,6 +1590,14 @@ fn demo_pipeline2_map_local_diagnostics_summary(
|
||||
),
|
||||
);
|
||||
}
|
||||
let mut pair_trading_readiness_summaries = std::vec::Vec::new();
|
||||
for pair_trading_readiness_summary in summary.pair_trading_readiness_summaries {
|
||||
pair_trading_readiness_summaries.push(
|
||||
demo_pipeline2_map_local_pair_trading_readiness_diagnostic_summary(
|
||||
pair_trading_readiness_summary,
|
||||
),
|
||||
);
|
||||
}
|
||||
let mut decoded_event_summaries = std::vec::Vec::new();
|
||||
for decoded_event_summary in summary.decoded_event_summaries {
|
||||
decoded_event_summaries
|
||||
@@ -1642,6 +1693,7 @@ fn demo_pipeline2_map_local_diagnostics_summary(
|
||||
dex_summaries,
|
||||
pair_summaries,
|
||||
pair_actionability_summaries,
|
||||
pair_trading_readiness_summaries,
|
||||
decoded_event_summaries,
|
||||
event_classification_summaries,
|
||||
missing_trade_event_reason_summaries,
|
||||
@@ -1689,6 +1741,9 @@ fn demo_pipeline2_map_local_pair_diagnostic_summary(
|
||||
invalid_trade_event_count: summary.invalid_trade_event_count,
|
||||
pair_candle_count: summary.pair_candle_count,
|
||||
last_price_quote_per_base: summary.last_price_quote_per_base,
|
||||
pair_trading_readiness: summary.pair_trading_readiness,
|
||||
quote_asset_class: summary.quote_asset_class,
|
||||
trading_route_required: summary.trading_route_required,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1707,6 +1762,21 @@ fn demo_pipeline2_map_local_pair_actionability_diagnostic_summary(
|
||||
}
|
||||
}
|
||||
|
||||
fn demo_pipeline2_map_local_pair_trading_readiness_diagnostic_summary(
|
||||
summary: kb_lib::LocalPairTradingReadinessDiagnosticSummaryDto,
|
||||
) -> DemoPipeline2LocalPairTradingReadinessDiagnosticSummary {
|
||||
DemoPipeline2LocalPairTradingReadinessDiagnosticSummary {
|
||||
pair_trading_readiness: summary.pair_trading_readiness,
|
||||
quote_asset_class: summary.quote_asset_class,
|
||||
trading_route_required: summary.trading_route_required,
|
||||
pair_count: summary.pair_count,
|
||||
decoded_event_count: summary.decoded_event_count,
|
||||
decoded_trade_candidate_count: summary.decoded_trade_candidate_count,
|
||||
trade_event_count: summary.trade_event_count,
|
||||
pair_candle_count: summary.pair_candle_count,
|
||||
}
|
||||
}
|
||||
|
||||
fn demo_pipeline2_map_local_decoded_event_diagnostic_summary(
|
||||
summary: kb_lib::LocalDecodedEventDiagnosticSummaryDto,
|
||||
) -> DemoPipeline2LocalDecodedEventDiagnosticSummary {
|
||||
|
||||
Reference in New Issue
Block a user