diff --git a/app/controllers/addresses.js b/app/controllers/addresses.js index 257a6bd..b58bc90 100644 --- a/app/controllers/addresses.js +++ b/app/controllers/addresses.js @@ -51,3 +51,54 @@ exports.utxo = function(req, res, next) { +exports.balance = function(req, res, next) { + var a = getAddr(req, res, next); + if (a) + a.update(function(err) { + if (err) { + return common.handleErrors(err, res); + } + else { + return res.jsonp(a.balanceSat); + } + }); +}; + +exports.totalReceived = function(req, res, next) { + var a = getAddr(req, res, next); + if (a) + a.update(function(err) { + if (err) { + return common.handleErrors(err, res); + } + else { + return res.jsonp(a.totalReceivedSat); + } + }); +}; + +exports.totalSent = function(req, res, next) { + var a = getAddr(req, res, next); + if (a) + a.update(function(err) { + if (err) { + return common.handleErrors(err, res); + } + else { + return res.jsonp(a.totalSentSat); + } + }); +}; + +exports.unconfirmedBalance = function(req, res, next) { + var a = getAddr(req, res, next); + if (a) + a.update(function(err) { + if (err) { + return common.handleErrors(err, res); + } + else { + return res.jsonp(a.unconfirmedBalanceSat); + } + }); +}; diff --git a/config/routes.js b/config/routes.js index 4ccb56e..fe8ebcb 100644 --- a/config/routes.js +++ b/config/routes.js @@ -32,6 +32,12 @@ module.exports = function(app) { app.get(apiPrefix + '/addr/:addr', addresses.show); app.get(apiPrefix + '/addr/:addr/utxo', addresses.utxo); + // Address property routes + app.get(apiPrefix + '/addr/:addr/balance', addresses.balance); + app.get(apiPrefix + '/addr/:addr/totalReceived', addresses.totalReceived); + app.get(apiPrefix + '/addr/:addr/totalSent', addresses.totalSent); + app.get(apiPrefix + '/addr/:addr/unconfirmedBalance', addresses.unconfirmedBalance); + // Status route var st = require('../app/controllers/status'); app.get(apiPrefix + '/status', st.show);