0.7.24-pre.1

This commit is contained in:
2026-05-02 13:17:23 +02:00
parent aaff2dbd94
commit d10a2270d8
7 changed files with 156 additions and 57 deletions

View File

@@ -212,14 +212,7 @@ impl KbTradeAggregationService {
);
}
let slot_i64 = kb_convert_slot_to_i64(transaction.slot);
let existing_trade_was_empty = match &existing_trade_option {
Some(existing_trade) => {
existing_trade.base_amount_raw.is_none()
&& existing_trade.quote_amount_raw.is_none()
&& existing_trade.price_quote_per_base.is_none()
}
None => false,
};
let created_trade_event = existing_trade_option.is_none();
let trade_event_dto = crate::KbTradeEventDto::new(
pool.dex_id,
pool_id,
@@ -242,20 +235,15 @@ impl KbTradeAggregationService {
event_kind = %decoded_event.event_kind,
pool_account = ?decoded_event.pool_account,
decoded_event_id = ?decoded_event.id,
created_trade_event = created_trade_event,
"trade aggregation candidate"
);
let upsert_result =
let trade_event_id_result =
crate::upsert_trade_event(self.database.as_ref(), &trade_event_dto).await;
let trade_event_id = match upsert_result {
let trade_event_id = match trade_event_id_result {
Ok(trade_event_id) => trade_event_id,
Err(error) => return Err(error),
};
let created_trade_event = existing_trade_option.is_none();
let repaired_trade_event = !created_trade_event
&& existing_trade_was_empty
&& (base_amount_raw.is_some()
|| quote_amount_raw.is_some()
|| price_quote_per_base.is_some());
let pair_metric_result =
crate::get_pair_metric_by_pair_id(self.database.as_ref(), pair_id).await;
let pair_metric_option = match pair_metric_result {
@@ -271,7 +259,7 @@ impl KbTradeAggregationService {
));
}
};
if created_trade_event || repaired_trade_event {
if created_trade_event {
let mut updated_metric = existing_metric.clone();
kb_apply_trade_to_pair_metric(
&mut updated_metric,