fix stale balance bug

This commit is contained in:
Josh Harvey 2016-05-29 19:28:00 +03:00
parent 4eff3eb9d2
commit 6c30c5e35e
2 changed files with 14 additions and 19 deletions

View file

@ -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)
})