diff --git a/integration/regtest-node.js b/integration/regtest-node.js index fa7dd3fe..4e39bb97 100644 --- a/integration/regtest-node.js +++ b/integration/regtest-node.js @@ -307,7 +307,7 @@ describe('Node Functionality', function() { results.totalReceived.should.equal(1000000000); results.totalSpent.should.equal(0); results.balance.should.equal(1000000000); - results.unconfirmedBalance.should.equal(1000000000); + results.unconfirmedBalance.should.equal(0); results.appearances.should.equal(1); results.unconfirmedAppearances.should.equal(0); results.txids.length.should.equal(1); @@ -580,7 +580,7 @@ describe('Node Functionality', function() { results.totalReceived.should.equal(2000000000); results.totalSpent.should.equal(1999990000); results.balance.should.equal(10000); - results.unconfirmedBalance.should.equal(10000); + results.unconfirmedBalance.should.equal(0); results.appearances.should.equal(6); results.unconfirmedAppearances.should.equal(0); results.txids.length.should.equal(6); diff --git a/lib/services/address/index.js b/lib/services/address/index.js index 11d973cd..4262859b 100644 --- a/lib/services/address/index.js +++ b/lib/services/address/index.js @@ -1199,20 +1199,22 @@ AddressService.prototype.getAddressSummary = function(address, options, callback var spentMempool = self.mempoolSpentIndex[spentIndexKey]; txids.push(outputs[i]); - unconfirmedBalance += outputs[i].satoshis; + if(outputs[i].confirmations) { totalReceived += outputs[i].satoshis; balance += outputs[i].satoshis; appearanceIds[outputs[i].txid] = true; } else { + unconfirmedBalance += outputs[i].satoshis; unconfirmedAppearanceIds[outputs[i].txid] = true; } if(spentDB || spentMempool) { - unconfirmedBalance -= outputs[i].satoshis; if(spentDB) { totalSpent += outputs[i].satoshis; balance -= outputs[i].satoshis; + } else if(!outputs[i].confirmations) { + unconfirmedBalance -= outputs[i].satoshis; } } }