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