add total balance.
This commit is contained in:
parent
6a75900952
commit
044d54e12e
@ -171,6 +171,7 @@ function getBalance(callback) {
|
||||
return callback(err);
|
||||
utils.print('Confirmed: %s', utils.btc(balance.confirmed));
|
||||
utils.print('Unconfirmed: %s', utils.btc(balance.unconfirmed));
|
||||
utils.print('Total: %s', utils.btc(balance.total));
|
||||
callback();
|
||||
});
|
||||
}
|
||||
|
||||
@ -92,7 +92,8 @@ Client.prototype._init = function _init() {
|
||||
self.socket.on('balance', function(balance, id) {
|
||||
self.emit('balance', {
|
||||
confirmed: utils.satoshi(balance.confirmed),
|
||||
unconfirmed: utils.satoshi(balance.unconfirmed)
|
||||
unconfirmed: utils.satoshi(balance.unconfirmed),
|
||||
total: utils.satoshi(balance.total)
|
||||
}, id);
|
||||
});
|
||||
|
||||
@ -101,7 +102,8 @@ Client.prototype._init = function _init() {
|
||||
Object.keys(json).forEach(function(id) {
|
||||
balances[id] = {
|
||||
confirmed: utils.satoshi(json[id].confirmed),
|
||||
unconfirmed: utils.satoshi(json[id].unconfirmed)
|
||||
unconfirmed: utils.satoshi(json[id].unconfirmed),
|
||||
total: utils.satoshi(json[id].total)
|
||||
};
|
||||
});
|
||||
self.emit('balances', balances);
|
||||
@ -331,7 +333,8 @@ Client.prototype.getWalletBalance = function getBalance(id, callback) {
|
||||
|
||||
return callback(null, {
|
||||
confirmed: utils.satoshi(body.confirmed),
|
||||
unconfirmed: utils.satoshi(body.unconfirmed)
|
||||
unconfirmed: utils.satoshi(body.unconfirmed),
|
||||
total: utils.satoshi(body.total)
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@ -389,7 +389,8 @@ NodeServer.prototype._init = function _init() {
|
||||
|
||||
send(200, {
|
||||
confirmed: utils.btc(balance.confirmed),
|
||||
unconfirmed: utils.btc(balance.unconfirmed)
|
||||
unconfirmed: utils.btc(balance.unconfirmed),
|
||||
total: utils.btc(balance.total)
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -594,7 +595,8 @@ NodeServer.prototype._initIO = function _initIO() {
|
||||
this.walletdb.on('balance', function(balance, id) {
|
||||
var json = {
|
||||
confirmed: utils.btc(balance.confirmed),
|
||||
unconfirmed: utils.btc(balance.unconfirmed)
|
||||
unconfirmed: utils.btc(balance.unconfirmed),
|
||||
total: utils.btc(balance.total)
|
||||
};
|
||||
self.server.io.to(id).emit('balance', json);
|
||||
self.server.io.to('!all').emit('balance', json, id);
|
||||
@ -605,7 +607,8 @@ NodeServer.prototype._initIO = function _initIO() {
|
||||
Object.keys(balances).forEach(function(id) {
|
||||
json[id] = {
|
||||
confirmed: utils.btc(balances[id].confirmed),
|
||||
unconfirmed: utils.btc(balances[id].unconfirmed)
|
||||
unconfirmed: utils.btc(balances[id].unconfirmed),
|
||||
total: utils.btc(balances[id].total)
|
||||
};
|
||||
});
|
||||
self.server.io.to('!all').emit('balances', json);
|
||||
|
||||
@ -1594,12 +1594,17 @@ TXPool.prototype.getBalance = function getBalance(address, callback) {
|
||||
return callback(err);
|
||||
|
||||
for (i = 0; i < coins.length; i++) {
|
||||
if (coins[i].height !== -1)
|
||||
if (coins[i].height === -1)
|
||||
unconfirmed.iadd(coins[i].value);
|
||||
else
|
||||
confirmed.iadd(coins[i].value);
|
||||
unconfirmed.iadd(coins[i].value);
|
||||
}
|
||||
|
||||
return callback(null, { confirmed: confirmed, unconfirmed: unconfirmed });
|
||||
return callback(null, {
|
||||
confirmed: confirmed,
|
||||
unconfirmed: unconfirmed,
|
||||
total: confirmed.add(unconfirmed)
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
},
|
||||
"preferGlobal": false,
|
||||
"scripts": {
|
||||
"test": "mocha --reporter spec test/*-test.js"
|
||||
"test": "BCOIN_NETWORK=main mocha --reporter spec test/*-test.js"
|
||||
},
|
||||
"repository": "git://github.com/bcoin-org/bcoin.git",
|
||||
"keywords": [
|
||||
|
||||
@ -99,27 +99,27 @@ describe('Wallet', function() {
|
||||
assert.noError(err);
|
||||
node.mempool.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '0');
|
||||
assert.equal(balance.total.toString(10), '0');
|
||||
node.mempool.addTX(t1, function(err) {
|
||||
assert.noError(err);
|
||||
node.mempool.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '60000');
|
||||
assert.equal(balance.total.toString(10), '60000');
|
||||
node.mempool.addTX(t2, function(err) {
|
||||
assert.noError(err);
|
||||
node.mempool.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '50000');
|
||||
assert.equal(balance.total.toString(10), '50000');
|
||||
node.mempool.addTX(t3, function(err) {
|
||||
assert.noError(err);
|
||||
node.mempool.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '22000');
|
||||
assert.equal(balance.total.toString(10), '22000');
|
||||
node.mempool.addTX(f1, function(err) {
|
||||
assert.noError(err);
|
||||
node.mempool.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '20000');
|
||||
assert.equal(balance.total.toString(10), '20000');
|
||||
node.mempool.getAll(function(err, txs) {
|
||||
assert(txs.some(function(tx) {
|
||||
return tx.hash('hex') === f1.hash('hex');
|
||||
|
||||
@ -193,26 +193,26 @@ describe('Wallet', function() {
|
||||
assert.noError(err);
|
||||
w.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '22500');
|
||||
assert.equal(balance.total.toString(10), '22500');
|
||||
wdb.addTX(t1, function(err) {
|
||||
w.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '73000');
|
||||
assert.equal(balance.total.toString(10), '73000');
|
||||
wdb.addTX(t2, function(err) {
|
||||
assert.noError(err);
|
||||
w.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '47000');
|
||||
assert.equal(balance.total.toString(10), '47000');
|
||||
wdb.addTX(t3, function(err) {
|
||||
assert.noError(err);
|
||||
w.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '22000');
|
||||
assert.equal(balance.total.toString(10), '22000');
|
||||
wdb.addTX(f1, function(err) {
|
||||
assert.noError(err);
|
||||
w.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '11000');
|
||||
assert.equal(balance.total.toString(10), '11000');
|
||||
w.getAll(function(err, txs) {
|
||||
assert(txs.some(function(tx) {
|
||||
return tx.hash('hex') === f1.hash('hex');
|
||||
@ -247,7 +247,7 @@ describe('Wallet', function() {
|
||||
assert.noError(err);
|
||||
dw.getBalance(function(err, balance) {
|
||||
assert.noError(err);
|
||||
assert.equal(balance.unconfirmed.toString(10), '11000');
|
||||
assert.equal(balance.total.toString(10), '11000');
|
||||
cb();
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user