fix stale balance bug
This commit is contained in:
parent
4eff3eb9d2
commit
6c30c5e35e
2 changed files with 14 additions and 19 deletions
|
|
@ -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)
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue