Skip to content

Commit b00e552

Browse files
committed
feat: update watcher notification logic
1 parent cfee909 commit b00e552

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

src/watcher/watcher.service.ts

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -247,16 +247,7 @@ export class WatcherService {
247247
const { data: { data: [txData] } } = txDataResponse;
248248
const { from, to, value, timestamp, token, type } = txData;
249249

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;
260251

261252
const cutAddress = (addr: string) => addr ? `${addr.slice(0, 5)}...${addr.slice(-5)}` : "";
262253

@@ -314,4 +305,26 @@ export class WatcherService {
314305
private decodeWatcherToken(watcher: Watcher) {
315306
watcher.pushToken = Buffer.from(watcher.pushToken, "base64").toString("utf-8");
316307
}
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+
}
317330
}

0 commit comments

Comments
 (0)