This commit is contained in:
2026-04-29 14:32:18 +02:00
parent f0831e4cd4
commit 5813c526ae
15 changed files with 1241 additions and 340 deletions

View File

@@ -102,6 +102,7 @@ pub struct KbTransactionResolutionService {
dex_decode_service: crate::KbDexDecodeService,
dex_detect_service: crate::KbDexDetectService,
launch_origin_service: crate::KbLaunchOriginService,
pool_origin_service: crate::KbPoolOriginService,
http_role: std::string::String,
resolved_signatures:
std::sync::Arc<tokio::sync::Mutex<std::collections::HashSet<std::string::String>>>,
@@ -119,6 +120,7 @@ impl KbTransactionResolutionService {
let dex_decode_service = crate::KbDexDecodeService::new(database.clone());
let dex_detect_service = crate::KbDexDetectService::new(database.clone());
let launch_origin_service = crate::KbLaunchOriginService::new(database.clone());
let pool_origin_service = crate::KbPoolOriginService::new(database.clone());
Self {
http_pool,
persistence,
@@ -126,6 +128,7 @@ impl KbTransactionResolutionService {
dex_decode_service,
dex_detect_service,
launch_origin_service,
pool_origin_service,
http_role,
resolved_signatures: std::sync::Arc::new(tokio::sync::Mutex::new(
std::collections::HashSet::new(),
@@ -321,6 +324,15 @@ impl KbTransactionResolutionService {
Err(error) => return Err(error),
};
let launch_attribution_count = launch_attributions.len();
let pool_origins_result = self
.pool_origin_service
.record_transaction_by_signature(request.signature.as_str())
.await;
let pool_origins = match pool_origins_result {
Ok(pool_origins) => pool_origins,
Err(error) => return Err(error),
};
let pool_origin_count = pool_origins.len();
let detection_results = match detection_results_result {
Ok(detection_results) => detection_results,
Err(error) => return Err(error),
@@ -336,6 +348,7 @@ impl KbTransactionResolutionService {
"decodedEventCount": decoded_event_count,
"detectedObjectCount": detected_object_count,
"launchAttributionCount": launch_attribution_count,
"poolOriginCount": pool_origin_count,
"triggerPayload": request.trigger_payload.clone(),
"transaction": transaction_value
});