This commit is contained in:
2026-05-19 11:14:20 +02:00
parent 3f6d2e9f7f
commit 3da01156a0
22 changed files with 1137 additions and 308 deletions

View File

@@ -138,6 +138,10 @@ pub struct LocalPipelineDiagnosticSummaryDto {
/// Missing trade events grouped by diagnostic reason.
pub missing_trade_event_reason_summaries:
std::vec::Vec<crate::LocalMissingTradeEventReasonSummaryDto>,
/// Samples of launch-origin attributions.
pub launch_origin_samples: std::vec::Vec<crate::LocalLaunchOriginDiagnosticSampleDto>,
/// Samples of pool-origin rows and their optional launch linkage.
pub pool_origin_samples: std::vec::Vec<crate::LocalPoolOriginDiagnosticSampleDto>,
/// Prioritized samples of tokens whose display metadata is still incomplete.
pub token_metadata_gap_samples: std::vec::Vec<crate::LocalTokenMetadataGapDiagnosticSampleDto>,
/// Total pairs with only non-actionable missing trade events.
@@ -714,6 +718,60 @@ pub struct LocalPairGapDiagnosticSampleDto {
pub pair_candle_count: i64,
}
/// Sample of a launch-origin attribution.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct LocalLaunchOriginDiagnosticSampleDto {
/// Launch attribution id.
pub launch_attribution_id: i64,
/// Launch surface code.
pub launch_surface_code: std::string::String,
/// Launch surface display name.
pub launch_surface_name: std::string::String,
/// Transaction signature.
pub transaction_signature: std::string::String,
/// Decoded event id.
pub decoded_event_id: i64,
/// Protocol that materialized the decoded event.
pub protocol_name: std::string::String,
/// Match kind used to attribute the launch surface.
pub match_kind: std::string::String,
/// Matched key value used to attribute the launch surface.
pub matched_value: std::string::String,
/// Optional related pool id.
pub pool_id: std::option::Option<i64>,
/// Optional related pool address.
pub pool_address: std::option::Option<std::string::String>,
/// Optional related pair id.
pub pair_id: std::option::Option<i64>,
/// Optional related pair symbol.
pub pair_symbol: std::option::Option<std::string::String>,
}
/// Sample of a pool-origin row.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct LocalPoolOriginDiagnosticSampleDto {
/// Pool-origin id.
pub pool_origin_id: i64,
/// Effective DEX code attached to the pool.
pub dex_code: std::string::String,
/// Pool id.
pub pool_id: i64,
/// Pool address.
pub pool_address: std::string::String,
/// Optional pair id.
pub pair_id: std::option::Option<i64>,
/// Optional pair symbol.
pub pair_symbol: std::option::Option<std::string::String>,
/// Optional launch surface code linked through launch attribution.
pub launch_surface_code: std::option::Option<std::string::String>,
/// Founding transaction signature.
pub founding_signature: std::string::String,
/// Founding effective DEX/protocol name.
pub founding_protocol_name: std::string::String,
/// Founding decoded event kind.
pub founding_event_kind: std::string::String,
}
/// Prioritized sample of an incomplete token metadata row.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct LocalTokenMetadataGapDiagnosticSampleDto {
@@ -835,6 +893,38 @@ pub(crate) struct LocalPairGapDiagnosticSampleRow {
pub(crate) pair_candle_count: i64,
}
/// SQL row for launch-origin diagnostic samples.
#[derive(Debug, Clone, sqlx::FromRow)]
pub(crate) struct LocalLaunchOriginDiagnosticSampleRow {
pub(crate) launch_attribution_id: i64,
pub(crate) launch_surface_code: std::string::String,
pub(crate) launch_surface_name: std::string::String,
pub(crate) transaction_signature: std::string::String,
pub(crate) decoded_event_id: i64,
pub(crate) protocol_name: std::string::String,
pub(crate) match_kind: std::string::String,
pub(crate) matched_value: std::string::String,
pub(crate) pool_id: std::option::Option<i64>,
pub(crate) pool_address: std::option::Option<std::string::String>,
pub(crate) pair_id: std::option::Option<i64>,
pub(crate) pair_symbol: std::option::Option<std::string::String>,
}
/// SQL row for pool-origin diagnostic samples.
#[derive(Debug, Clone, sqlx::FromRow)]
pub(crate) struct LocalPoolOriginDiagnosticSampleRow {
pub(crate) pool_origin_id: i64,
pub(crate) dex_code: std::string::String,
pub(crate) pool_id: i64,
pub(crate) pool_address: std::string::String,
pub(crate) pair_id: std::option::Option<i64>,
pub(crate) pair_symbol: std::option::Option<std::string::String>,
pub(crate) launch_surface_code: std::option::Option<std::string::String>,
pub(crate) founding_signature: std::string::String,
pub(crate) founding_protocol_name: std::string::String,
pub(crate) founding_event_kind: std::string::String,
}
/// SQL row for incomplete token metadata samples.
#[derive(Debug, Clone, sqlx::FromRow)]
pub(crate) struct LocalTokenMetadataGapDiagnosticSampleRow {