From 2b1fd83a993fbbcdbc15d4645bca5f87b4fff892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Thu, 24 Dec 2020 13:46:11 +0000 Subject: [PATCH] feat: longer lifespan for filtered coins cache --- lib/poller.js | 2 +- lib/wallet.js | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/poller.js b/lib/poller.js index f94fd1c1..e03bd689 100644 --- a/lib/poller.js +++ b/lib/poller.js @@ -29,7 +29,7 @@ const CHECK_NOTIFICATION_INTERVAL = 20 * T.seconds const PENDING_INTERVAL = 10 * T.seconds -const coinFilter = [] +const coinFilter = ['ETH'] let _pi, _settings diff --git a/lib/wallet.js b/lib/wallet.js index 089c653f..85d018bd 100644 --- a/lib/wallet.js +++ b/lib/wallet.js @@ -45,6 +45,7 @@ function fetchWallet (settings, cryptoCode) { const lastBalance = {} function _balance (settings, cryptoCode) { + console.log('checking ' + cryptoCode + ' balance') return fetchWallet(settings, cryptoCode) .then(r => r.wallet.balance(r.account, cryptoCode)) .then(balance => ({ balance, timestamp: Date.now() })) @@ -209,11 +210,23 @@ function isStrictAddress (settings, cryptoCode, toAddress) { }) } -const balance = mem(_balance, { +const coinFilter = ['ETH'] + +const balance = (settings, cryptoCode) => { + if (_.includes(coinFilter, cryptoCode)) return balanceFiltered(settings, cryptoCode) + return balanceUnfiltered(settings, cryptoCode) +} + +const balanceUnfiltered = mem(_balance, { maxAge: FETCH_INTERVAL, cacheKey: (settings, cryptoCode) => cryptoCode }) +const balanceFiltered = mem(_balance, { + maxAge: 3 * FETCH_INTERVAL, + cacheKey: (settings, cryptoCode) => cryptoCode +}) + module.exports = { balance, sendCoins,