add multiutxo api call
This commit is contained in:
parent
8c98fceca1
commit
9b602b9fa4
|
@ -5,7 +5,8 @@
|
|||
*/
|
||||
|
||||
var Address = require('../models/Address'),
|
||||
common = require('./common');
|
||||
common = require('./common'),
|
||||
async = require('async');
|
||||
|
||||
var getAddr = function(req, res, next) {
|
||||
var a;
|
||||
|
@ -13,42 +14,80 @@ var getAddr = function(req, res, next) {
|
|||
var addr = req.param('addr');
|
||||
a = new Address(addr);
|
||||
} catch (e) {
|
||||
common.handleErrors({message: 'Invalid address:' + e.message, code: 1}, res, next);
|
||||
common.handleErrors({
|
||||
message: 'Invalid address:' + e.message,
|
||||
code: 1
|
||||
}, res, next);
|
||||
return null;
|
||||
}
|
||||
return a;
|
||||
};
|
||||
|
||||
var getAddrs = function(req, res, next) {
|
||||
var as = [];
|
||||
try {
|
||||
var addrStrs = req.param('addrs');
|
||||
var s = addrStrs.split(',');
|
||||
if (s.length === 0) return as;
|
||||
for (var i = 0; i < s.length; i++) {
|
||||
var a = new Address(s[i]);
|
||||
as.push(a);
|
||||
}
|
||||
} catch (e) {
|
||||
common.handleErrors({
|
||||
message: 'Invalid address:' + e.message,
|
||||
code: 1
|
||||
}, res, next);
|
||||
return null;
|
||||
}
|
||||
return as;
|
||||
};
|
||||
|
||||
exports.show = function(req, res, next) {
|
||||
var a = getAddr(req, res, next);
|
||||
|
||||
if (a)
|
||||
if (a) {
|
||||
a.update(function(err) {
|
||||
if (err) {
|
||||
return common.handleErrors(err, res);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return res.jsonp(a);
|
||||
}
|
||||
}, req.query.noTxList);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
exports.utxo = function(req, res, next) {
|
||||
var a = getAddr(req, res, next);
|
||||
|
||||
if (a)
|
||||
if (a) {
|
||||
a.getUtxo(function(err, utxo) {
|
||||
if (err)
|
||||
return common.handleErrors(err, res);
|
||||
else {
|
||||
else {
|
||||
return res.jsonp(utxo);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
exports.multiutxo = function(req, res, next) {
|
||||
var as = getAddrs(req, res, next);
|
||||
if (as) {
|
||||
var utxos = [];
|
||||
async.each(as, function(a, callback) {
|
||||
a.getUtxo(function(err, utxo) {
|
||||
if (err) callback(err);
|
||||
utxos = utxos.concat(utxo);
|
||||
callback();
|
||||
});
|
||||
}, function(err) { // finished callback
|
||||
if (err) return common.handleErrors(err, res);
|
||||
res.jsonp(utxos);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
exports.balance = function(req, res, next) {
|
||||
|
@ -57,8 +96,7 @@ exports.balance = function(req, res, next) {
|
|||
a.update(function(err) {
|
||||
if (err) {
|
||||
return common.handleErrors(err, res);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return res.jsonp(a.balanceSat);
|
||||
}
|
||||
});
|
||||
|
@ -70,8 +108,7 @@ exports.totalReceived = function(req, res, next) {
|
|||
a.update(function(err) {
|
||||
if (err) {
|
||||
return common.handleErrors(err, res);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return res.jsonp(a.totalReceivedSat);
|
||||
}
|
||||
});
|
||||
|
@ -83,8 +120,7 @@ exports.totalSent = function(req, res, next) {
|
|||
a.update(function(err) {
|
||||
if (err) {
|
||||
return common.handleErrors(err, res);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return res.jsonp(a.totalSentSat);
|
||||
}
|
||||
});
|
||||
|
@ -96,8 +132,7 @@ exports.unconfirmedBalance = function(req, res, next) {
|
|||
a.update(function(err) {
|
||||
if (err) {
|
||||
return common.handleErrors(err, res);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return res.jsonp(a.unconfirmedBalanceSat);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -31,6 +31,7 @@ module.exports = function(app) {
|
|||
var addresses = require('../app/controllers/addresses');
|
||||
app.get(apiPrefix + '/addr/:addr', addresses.show);
|
||||
app.get(apiPrefix + '/addr/:addr/utxo', addresses.utxo);
|
||||
app.get(apiPrefix + '/addrs/:addrs/utxo', addresses.multiutxo);
|
||||
|
||||
// Address property routes
|
||||
app.get(apiPrefix + '/addr/:addr/balance', addresses.balance);
|
||||
|
|
Loading…
Reference in New Issue