Fixed incoming req.addrs checking.

This commit is contained in:
Chris Kleeschulte 2017-09-27 19:20:42 -04:00
parent 6ba483d2b4
commit ed1ed7b8b9
No known key found for this signature in database
GPG Key ID: 33195D27EF6BDB7F

View File

@ -95,36 +95,43 @@ AddressController.prototype.checkAddr = function(req, res, next) {
};
AddressController.prototype.checkAddrs = function(req, res, next) {
if(req.body.addrs) {
req.addrs = req.body.addrs;
req.addrs = req.body.addrs.split(',');
} else {
req.addrs = req.params.addrs.split(',');
}
this.check(req, res, next, req.addrs);
};
AddressController.prototype.check = function(req, res, next, addresses) {
var self = this;
if(!addresses.length || !addresses[0]) {
return self.common.handleErrors({
if(!_.isArray(req.addrs) || _.compact(req.addrs).length < 1) {
return this.common.handleErrors({
message: 'Must include address',
code: 1
}, res);
}
var inValid = this.check(req.addrs);
if (inValid) {
return this.common.handleErrors({
message: 'Invalid address: ' + inValid.message,
code: 1
}, res);
}
next();
};
AddressController.prototype.check = function(addresses) {
for(var i = 0; i < addresses.length; i++) {
try {
new bitcore.Address(addresses[i]);
} catch(e) {
return self.common.handleErrors({
message: 'Invalid address: ' + e.message,
code: 1
}, res);
return addresses[i];
}
}
next();
};
AddressController.prototype.utxo = function(req, res) {
@ -170,7 +177,8 @@ AddressController.prototype.multiutxo = function(req, res) {
return self.common.handleErrors(err, res);
}
res.jsonp(finalUtxos.map(self.transformUtxo.bind(self)));
var finalRes = finalUtxos.map(self.transformUtxo.bind(self));
res.jsonp(finalRes);
});
};
@ -179,8 +187,8 @@ AddressController.prototype.transformUtxo = function(utxoArg) {
var utxo = {
address: utxoArg.address,
txid: utxoArg.txid,
vout: utxoArg.outputIndex,
scriptPubKey: utxoArg.script,
vout: utxoArg.vout,
scriptPubKey: utxoArg.scriptPubKey,
amount: utxoArg.satoshis / 1e8,
satoshis: utxoArg.satoshis
};