diff --git a/lib/plugins.js b/lib/plugins.js index 2dd90bc0..55c5c99c 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -376,7 +376,8 @@ exports.fiatBalance = function fiatBalance (cryptoCode) { if (!deviceRate) return null var rawRate = deviceRate.rates.ask var commission = cachedConfig.exchanges.settings.commission - var lastBalance = lastBalances[cryptoCode] + var lastBalanceRec = lastBalances[cryptoCode] + var lastBalance = lastBalanceRec.balance if (!rawRate || !lastBalance) return null @@ -390,7 +391,7 @@ exports.fiatBalance = function fiatBalance (cryptoCode) { var unitScale = new BigNumber(10).pow(coins[cryptoCode].unitScale) var fiatTransferBalance = lastBalance.div(unitScale).times(rate).div(lowBalanceMargin) - return fiatTransferBalance.round(3).toNumber() + return {timestamp: lastBalanceRec.timestamp, balance: fiatTransferBalance.round(3).toNumber()} } function processTxStatus (tx) { @@ -508,8 +509,7 @@ function pollBalance (cryptoCode, cb) { } logger.debug('[%s] Balance update: %j', cryptoCode, balance) - balance.timestamp = Date.now() - lastBalances[cryptoCode] = new BigNumber(balance[cryptoCode]) + lastBalances[cryptoCode] = {timestamp: Date.now(), balance: new BigNumber(balance[cryptoCode])} return cb && cb(null, lastBalances) }) @@ -557,12 +557,6 @@ exports.getDeviceRate = function getDeviceRate (cryptoCode) { return lastRate[deviceCurrency] } -exports.getBalance = function getBalance (cryptoCode) { - var lastBalance = lastBalances[cryptoCode] - - return lastBalance -} - /* * Trader functions */ @@ -709,9 +703,10 @@ function checkBalances () { var balances = [] cryptoCodes.forEach(function (cryptoCode) { - var balance = exports.fiatBalance(cryptoCode) - if (!balance) return - var rec = {fiatBalance: balance, cryptoCode: cryptoCode, fiatCode: deviceCurrency} + var balanceRec = exports.fiatBalance(cryptoCode) + if (!balanceRec) return + var rec = {fiatBalance: balanceRec.balance, cryptoCode: cryptoCode, + fiatCode: deviceCurrency} balances.push(rec) }) diff --git a/lib/routes.js b/lib/routes.js index 7d48e660..6e4f9d0b 100644 --- a/lib/routes.js +++ b/lib/routes.js @@ -13,8 +13,8 @@ module.exports = { getFingerprint: getFingerprint } -var STALE_TICKER = 10 * 60 * 1000 -var STALE_BALANCE = 10 * 60 * 1000 +var STALE_TICKER = 3 * 60 * 1000 +var STALE_BALANCE = 3 * 60 * 1000 var pids = {} var reboots = {} @@ -47,10 +47,10 @@ function buildBalances () { var _balances = {} cryptoCodes.forEach(function (cryptoCode) { - var balance = plugins.fiatBalance(cryptoCode) - if (!balance) return logger.warn('No balance for ' + cryptoCode + ' yet') - if (Date.now() - balance.timestamp > STALE_BALANCE) return logger.warn('Stale balance for ' + cryptoCode) - _balances[cryptoCode] = balance + var balanceRec = plugins.fiatBalance(cryptoCode) + if (!balanceRec) return logger.warn('No balance for ' + cryptoCode + ' yet') + if (Date.now() - balanceRec.timestamp > STALE_BALANCE) return logger.warn('Stale balance for ' + cryptoCode) + _balances[cryptoCode] = balanceRec.balance }) return _balances