@@ -247,16 +247,7 @@ export class WatcherService {
247
247
const { data : { data : [ txData ] } } = txDataResponse ;
248
248
const { from, to, value, timestamp, token, type } = txData ;
249
249
250
- if ( ! SUPPORTED_TX_TYPES . includes ( type ) ) return ;
251
-
252
- // @dev To avoid sending notifications for node rewards transactions
253
- // @dev To lower case for case-insensitive comparison
254
- if ( from . toLowerCase ( ) === rewardsBankAddress . toLowerCase ( ) ) return ;
255
-
256
- // @dev Did it for hiding ERC-1155 and ERC-721 transfers for users
257
- if ( token && ! ( await isERC20Standard ( token . address ) ) ) {
258
- return ;
259
- }
250
+ if ( ! ( await this . isNotificationNeeded ( type , from , token ! , value ) ) ) return ;
260
251
261
252
const cutAddress = ( addr : string ) => addr ? `${ addr . slice ( 0 , 5 ) } ...${ addr . slice ( - 5 ) } ` : "" ;
262
253
@@ -314,4 +305,26 @@ export class WatcherService {
314
305
private decodeWatcherToken ( watcher : Watcher ) {
315
306
watcher . pushToken = Buffer . from ( watcher . pushToken , "base64" ) . toString ( "utf-8" ) ;
316
307
}
308
+
309
+ private async isNotificationNeeded (
310
+ type : string ,
311
+ from : string ,
312
+ token : { address : string } ,
313
+ value : { wei : string }
314
+ ) {
315
+ if ( ! SUPPORTED_TX_TYPES . includes ( type ) ) return false ;
316
+
317
+ // @dev To avoid sending notifications for node rewards transactions
318
+ // @dev To lower case for case-insensitive comparison
319
+ if ( from . toLowerCase ( ) === rewardsBankAddress . toLowerCase ( ) ) return false ;
320
+
321
+ // @dev Did it for hiding ERC-1155 and ERC-721 transfers for users
322
+ if ( token && ! ( await isERC20Standard ( token . address ) ) ) {
323
+ return false ;
324
+ }
325
+
326
+ if ( value . wei === "0" ) return false ;
327
+
328
+ return true ;
329
+ }
317
330
}
0 commit comments