@@ -81,6 +81,9 @@ export class TrustScoreProvider {
81
81
82
82
const recommenderMetrics =
83
83
await this . trustScoreDb . getRecommenderMetrics ( recommenderId ) ;
84
+ if ( ! recommenderMetrics ) {
85
+ throw new Error ( "Recommender not found" ) ;
86
+ }
84
87
85
88
const isRapidDump = await this . isRapidDump ( tokenAddress ) ;
86
89
const sustainedGrowth = await this . sustainedGrowth ( tokenAddress ) ;
@@ -109,12 +112,13 @@ export class TrustScoreProvider {
109
112
processedData . tradeData . price_change_24h_percent ,
110
113
volumeChange24h : processedData . tradeData . volume_24h ,
111
114
trade_24h_change :
112
- processedData . tradeData . trade_24h_change_percent ,
115
+ processedData . tradeData . trade_24h_change_percent || 0 ,
113
116
liquidity :
114
117
processedData . dexScreenerData . pairs [ 0 ] ?. liquidity . usd || 0 ,
115
118
liquidityChange24h : 0 ,
116
119
holderChange24h :
117
- processedData . tradeData . unique_wallet_24h_change_percent ,
120
+ processedData . tradeData . unique_wallet_24h_change_percent ||
121
+ 0 ,
118
122
rugPull : false , // TODO: Implement rug pull detection
119
123
isScam : false , // TODO: Implement scam detection
120
124
marketCapChange24h : 0 , // TODO: Implement market cap change
@@ -147,6 +151,9 @@ export class TrustScoreProvider {
147
151
) : Promise < void > {
148
152
const recommenderMetrics =
149
153
await this . trustScoreDb . getRecommenderMetrics ( recommenderId ) ;
154
+ if ( ! recommenderMetrics ) {
155
+ throw new Error ( "Recommender not found" ) ;
156
+ }
150
157
151
158
const totalRecommendations =
152
159
recommenderMetrics . totalRecommendations + 1 ;
@@ -269,6 +276,13 @@ export class TrustScoreProvider {
269
276
const processedData : ProcessedTokenData =
270
277
await this . tokenProvider . getProcessedTokenData ( ) ;
271
278
console . log ( `Fetched processed token data for token: ${ tokenAddress } ` ) ;
279
+ if (
280
+ ! processedData ||
281
+ ! processedData . tradeData ||
282
+ ! processedData . tradeData . volume_24h_change_percent
283
+ ) {
284
+ return false ;
285
+ }
272
286
273
287
return processedData . tradeData . volume_24h_change_percent > 50 ;
274
288
}
@@ -278,6 +292,14 @@ export class TrustScoreProvider {
278
292
await this . tokenProvider . getProcessedTokenData ( ) ;
279
293
console . log ( `Fetched processed token data for token: ${ tokenAddress } ` ) ;
280
294
295
+ if (
296
+ ! processedData ||
297
+ ! processedData . tradeData ||
298
+ ! processedData . tradeData . trade_24h_change_percent
299
+ ) {
300
+ return false ;
301
+ }
302
+
281
303
return processedData . tradeData . trade_24h_change_percent < - 50 ;
282
304
}
283
305
@@ -384,6 +406,9 @@ export class TrustScoreProvider {
384
406
recommenderId ,
385
407
isSimulation
386
408
) ;
409
+ if ( ! trade ) {
410
+ throw new Error ( "Trade not found" ) ;
411
+ }
387
412
const buyTimeStamp = trade . buy_timeStamp ;
388
413
const marketCap =
389
414
processedData . dexScreenerData . pairs [ 0 ] ?. marketCap || 0 ;
0 commit comments