0.7.16
This commit is contained in:
@@ -105,6 +105,7 @@ pub struct KbTransactionResolutionService {
|
||||
launch_origin_service: crate::KbLaunchOriginService,
|
||||
pool_origin_service: crate::KbPoolOriginService,
|
||||
wallet_observation_service: crate::KbWalletObservationService,
|
||||
trade_aggregation_service: crate::KbTradeAggregationService,
|
||||
resolved_signatures:
|
||||
std::sync::Arc<tokio::sync::Mutex<std::collections::HashSet<std::string::String>>>,
|
||||
}
|
||||
@@ -123,6 +124,7 @@ impl KbTransactionResolutionService {
|
||||
let launch_origin_service = crate::KbLaunchOriginService::new(database.clone());
|
||||
let pool_origin_service = crate::KbPoolOriginService::new(database.clone());
|
||||
let wallet_observation_service = crate::KbWalletObservationService::new(database.clone());
|
||||
let trade_aggregation_service = crate::KbTradeAggregationService::new(database.clone());
|
||||
Self {
|
||||
http_pool,
|
||||
persistence,
|
||||
@@ -133,6 +135,7 @@ impl KbTransactionResolutionService {
|
||||
launch_origin_service,
|
||||
pool_origin_service,
|
||||
wallet_observation_service,
|
||||
trade_aggregation_service,
|
||||
resolved_signatures: std::sync::Arc::new(tokio::sync::Mutex::new(
|
||||
std::collections::HashSet::new(),
|
||||
)),
|
||||
@@ -318,6 +321,11 @@ impl KbTransactionResolutionService {
|
||||
.dex_detect_service
|
||||
.detect_transaction_by_signature(request.signature.as_str())
|
||||
.await;
|
||||
let detection_results = match detection_results_result {
|
||||
Ok(detection_results) => detection_results,
|
||||
Err(error) => return Err(error),
|
||||
};
|
||||
let detected_object_count = detection_results.len();
|
||||
let launch_attributions_result = self
|
||||
.launch_origin_service
|
||||
.attribute_transaction_by_signature(request.signature.as_str())
|
||||
@@ -345,11 +353,15 @@ impl KbTransactionResolutionService {
|
||||
Err(error) => return Err(error),
|
||||
};
|
||||
let wallet_participation_count = wallet_observations.len();
|
||||
let detection_results = match detection_results_result {
|
||||
Ok(detection_results) => detection_results,
|
||||
let trade_aggregations_result = self
|
||||
.trade_aggregation_service
|
||||
.record_transaction_by_signature(request.signature.as_str())
|
||||
.await;
|
||||
let trade_aggregations = match trade_aggregations_result {
|
||||
Ok(trade_aggregations) => trade_aggregations,
|
||||
Err(error) => return Err(error),
|
||||
};
|
||||
let detected_object_count = detection_results.len();
|
||||
let trade_event_count = trade_aggregations.len();
|
||||
let payload = serde_json::json!({
|
||||
"status": "resolved",
|
||||
"signature": request.signature.clone(),
|
||||
@@ -362,6 +374,7 @@ impl KbTransactionResolutionService {
|
||||
"launchAttributionCount": launch_attribution_count,
|
||||
"poolOriginCount": pool_origin_count,
|
||||
"walletParticipationCount": wallet_participation_count,
|
||||
"tradeEventCount": trade_event_count,
|
||||
"triggerPayload": request.trigger_payload.clone(),
|
||||
"transaction": transaction_value
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user