deterministic balance byAddress

This commit is contained in:
Ivan Socolsky 2016-02-18 12:00:36 -03:00
parent 0e215b730f
commit f89c249e12
1 changed files with 2 additions and 3 deletions

View File

@ -1018,7 +1018,7 @@ WalletService.prototype._getBalanceFromAddresses = function(addresses, cb) {
// Compute balance by address // Compute balance by address
var byAddress = {}; var byAddress = {};
_.each(_.indexBy(utxos, 'address'), function(value, key) { _.each(_.indexBy(_.sortBy(utxos, 'address'), 'address'), function(value, key) {
byAddress[key] = { byAddress[key] = {
address: key, address: key,
path: value.path, path: value.path,
@ -1121,7 +1121,6 @@ WalletService.prototype.getBalance = function(opts, cb) {
if (nbAddresses < Defaults.TWO_STEP_BALANCE_THRESHOLD) { if (nbAddresses < Defaults.TWO_STEP_BALANCE_THRESHOLD) {
return self._getBalanceOneStep(opts, cb); return self._getBalanceOneStep(opts, cb);
} }
self._getActiveAddresses(function(err, activeAddresses) { self._getActiveAddresses(function(err, activeAddresses) {
if (err) return cb(err); if (err) return cb(err);
if (!_.isArray(activeAddresses)) { if (!_.isArray(activeAddresses)) {
@ -1135,7 +1134,7 @@ WalletService.prototype.getBalance = function(opts, cb) {
self._getBalanceOneStep(opts, function(err, fullBalance) { self._getBalanceOneStep(opts, function(err, fullBalance) {
if (err) return; if (err) return;
if (!_.isEqual(partialBalance, fullBalance)) { if (!_.isEqual(partialBalance, fullBalance)) {
log.debug('Cache miss: balance in active addresses differs from final balance'); log.info('Balance in active addresses differs from final balance');
self._notify('BalanceUpdated', fullBalance, { self._notify('BalanceUpdated', fullBalance, {
isGlobal: true isGlobal: true
}); });