Browse Source

add opts param to getUtxos

activeAddress
Ivan Socolsky 10 years ago
parent
commit
4dbcb639fe
  1. 2
      lib/expressapp.js
  2. 10
      lib/server.js
  3. 23
      test/integration/server.js

2
lib/expressapp.js

@ -278,7 +278,7 @@ ExpressApp.prototype.start = function(opts, cb) {
router.get('/v1/utxos/', function(req, res) { router.get('/v1/utxos/', function(req, res) {
getServerWithAuth(req, res, function(server) { getServerWithAuth(req, res, function(server) {
server.getUtxos(function(err, utxos) { server.getUtxos({}, function(err, utxos) {
if (err) return returnError(err, res, req); if (err) return returnError(err, res, req);
res.json(utxos); res.json(utxos);
}); });

10
lib/server.js

@ -620,10 +620,14 @@ WalletService.prototype._getBlockchainExplorer = function(network) {
/** /**
* Returns list of UTXOs * Returns list of UTXOs
* @param {Object} opts
* @returns {Array} utxos - List of UTXOs.
*/ */
WalletService.prototype.getUtxos = function(cb) { WalletService.prototype.getUtxos = function(opts, cb) {
var self = this; var self = this;
opts = opts || {};
function utxoKey(utxo) { function utxoKey(utxo) {
return utxo.txid + '|' + utxo.vout return utxo.txid + '|' + utxo.vout
}; };
@ -718,7 +722,7 @@ WalletService.prototype._computeBytesToSendMax = function(utxos, cb) {
WalletService.prototype.getBalance = function(opts, cb) { WalletService.prototype.getBalance = function(opts, cb) {
var self = this; var self = this;
self.getUtxos(function(err, utxos) { self.getUtxos({}, function(err, utxos) {
if (err) return cb(err); if (err) return cb(err);
var balance = self._totalizeUtxos(utxos); var balance = self._totalizeUtxos(utxos);
@ -828,7 +832,7 @@ WalletService.prototype._selectTxInputs = function(txp, cb) {
return _.pluck(_.sortBy(list, 'order'), 'utxo'); return _.pluck(_.sortBy(list, 'order'), 'utxo');
}; };
self.getUtxos(function(err, utxos) { self.getUtxos({}, function(err, utxos) {
if (err) return cb(err); if (err) return cb(err);
var totalAmount; var totalAmount;

23
test/integration/server.js

@ -1350,6 +1350,29 @@ describe('Wallet service', function() {
}); });
}); });
describe('#getUtxos', function() {
var server, wallet;
beforeEach(function(done) {
helpers.createAndJoinWallet(1, 1, function(s, w) {
server = s;
wallet = w;
done();
});
});
it('should get UTXOs for wallet addresses', function(done) {
helpers.stubUtxos(server, wallet, [1, 2], function() {
server.getUtxos({}, function(err, utxos) {
should.not.exist(err);
should.exist(utxos);
utxos.length.should.equal(2);
_.sum(utxos, 'satoshis').should.equal(3 * 1e8);
done();
});
});
});
});
describe('#getBalance', function() { describe('#getBalance', function() {
var server, wallet; var server, wallet;
beforeEach(function(done) { beforeEach(function(done) {

Loading…
Cancel
Save