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