0.7.28
This commit is contained in:
@@ -109,6 +109,7 @@ pub struct TransactionResolutionService {
|
||||
wallet_holding_observation_service: crate::WalletHoldingObservationService,
|
||||
pair_candle_aggregation_service: crate::PairCandleAggregationService,
|
||||
pair_analytic_signal_service: crate::PairAnalyticSignalService,
|
||||
transaction_classification_service: crate::TransactionClassificationService,
|
||||
resolved_signatures:
|
||||
std::sync::Arc<tokio::sync::Mutex<std::collections::HashSet<std::string::String>>>,
|
||||
}
|
||||
@@ -133,6 +134,8 @@ impl TransactionResolutionService {
|
||||
let pair_candle_aggregation_service =
|
||||
crate::PairCandleAggregationService::new(database.clone());
|
||||
let pair_analytic_signal_service = crate::PairAnalyticSignalService::new(database.clone());
|
||||
let transaction_classification_service =
|
||||
crate::TransactionClassificationService::new(database.clone());
|
||||
return Self {
|
||||
http_pool,
|
||||
persistence,
|
||||
@@ -147,6 +150,7 @@ impl TransactionResolutionService {
|
||||
wallet_holding_observation_service,
|
||||
pair_candle_aggregation_service,
|
||||
pair_analytic_signal_service,
|
||||
transaction_classification_service,
|
||||
resolved_signatures: std::sync::Arc::new(tokio::sync::Mutex::new(
|
||||
std::collections::HashSet::new(),
|
||||
)),
|
||||
@@ -400,6 +404,17 @@ impl TransactionResolutionService {
|
||||
Err(error) => return Err(error),
|
||||
};
|
||||
let pair_analytic_signal_count = pair_analytic_signals.len();
|
||||
let transaction_classification_result = self
|
||||
.transaction_classification_service
|
||||
.classify_transaction_by_signature(request.signature.as_str())
|
||||
.await;
|
||||
let transaction_classification = match transaction_classification_result {
|
||||
Ok(transaction_classification) => transaction_classification,
|
||||
Err(error) => return Err(error),
|
||||
};
|
||||
let transaction_classification_id = transaction_classification.id;
|
||||
let transaction_classification_kind =
|
||||
transaction_classification.classification_kind.clone();
|
||||
let payload = serde_json::json!({
|
||||
"status": "resolved",
|
||||
"signature": request.signature.clone(),
|
||||
@@ -417,6 +432,8 @@ impl TransactionResolutionService {
|
||||
"tradeEventCount": trade_event_count,
|
||||
"pairCandleCount": pair_candle_count,
|
||||
"pairAnalyticSignalCount": pair_analytic_signal_count,
|
||||
"transactionClassificationId": transaction_classification_id,
|
||||
"transactionClassificationKind": transaction_classification_kind,
|
||||
"transaction": transaction_value
|
||||
});
|
||||
let observation_id_result = self
|
||||
|
||||
Reference in New Issue
Block a user