Fixed streaming of multiutxos.

This commit is contained in:
Chris Kleeschulte 2017-10-24 14:17:47 -04:00
parent 6f9305c49f
commit 7809b84d55
No known key found for this signature in database
GPG Key ID: 33195D27EF6BDB7F

View File

@ -158,9 +158,8 @@ AddressController.prototype.utxo = function(req, res) {
AddressController.prototype.multiutxo = function(req, res) {
var self = this;
var sep = ',';
var addresses;
if (_.isArray(req.addrs)) {
addresses = _.uniq(req.addrs);
} else {
@ -168,8 +167,11 @@ AddressController.prototype.multiutxo = function(req, res) {
}
var addressesLeft = addresses.length;
var startedWriting = false;
res.write('[');
var sep = ',';
async.eachLimit(addresses, 4, function(addr, next) {
self._address.getAddressUnspentOutputs(addr, {}, function(err, utxos) {
@ -178,16 +180,21 @@ AddressController.prototype.multiutxo = function(req, res) {
return next(err);
}
for(var i = 0; i < utxos.length; i++) {
if (addressesLeft-- > 0 && utxos.length > 0 && startedWriting) {
res.write(sep);
}
if (--addressesLeft <= 0 && utxos[i] === utxos[utxos.length - 1] ) {
for(var i = 0; i < utxos.length; i++) {
startedWriting = true;
if (utxos.length - 1 === i) {
sep = '';
}
res.write(JSON.stringify(self.transformUtxo(utxos[i])) + sep);
}
sep = ',';
next();
});
}, function(err) {