diff --git a/lib/addresses.js b/lib/addresses.js index 2c12a61..c483f1c 100644 --- a/lib/addresses.js +++ b/lib/addresses.js @@ -30,9 +30,10 @@ AddressController.prototype.show = function(req, res) { options.to = parseInt(req.query.to); }*/ - if (req.query.after) { + if (req.query.after) options.after = req.query.after; - } + if (req.query.before) + options.before = req.query.before; self._address.getAddressSummary(req.addr, options, function(err, data) { if(err) { @@ -51,9 +52,10 @@ AddressController.prototype.show_ws = function(ws, req) { var self = this; var options = { noTxList: true }; - if (req.query.after) { + if (req.query.after) options.after = req.query.after; - } + if (req.query.before) + options.before = req.query.before; self.common.bindStopFlagOnClose(ws, options); @@ -98,9 +100,10 @@ AddressController.prototype.addressSummarySubQuery = function(req, res, param) { var self = this; var options = { noTxList: true }; - if (req.query.after) { + if (req.query.after) options.after = req.query.after; - } + if (req.query.before) + options.before = req.query.before; self.common.bindStopFlagOnClose(res, options); @@ -297,6 +300,7 @@ AddressController.prototype.multitxs = function(req, res) { var options = {}; options.after = req.query.after || req.body.after || undefined; + options.before = req.query.before || req.body.before || undefined; //mempool options if(!_.isUndefined(req.query.mempool) || !_.isUndefined(req.body.mempool)){ @@ -375,8 +379,34 @@ AddressController.prototype.multitxs_ws = function(ws, req) { var options = {}; - if (req.query.after) { + if (req.query.after) options.after = req.query.after; + if (req.query.before) + options.before = req.query.before; + + //mempool options + if(!_.isUndefined(req.query.mempool) || !_.isUndefined(req.body.mempool)){ + var mempool = !_.isUndefined(req.query.mempool) ? req.query.mempool : req.body.mempool; + if(mempool == 'true') { //DEFAULT config in query fn + options.mempoolOnly = false; + options.queryMempool = true; + } else if(mempool == 'false') { + options.mempoolOnly = false; + options.queryMempool = false; + } else if(mempool == 'only') { + options.mempoolOnly = true; + options.queryMempool = true; + } + } + + if(!_.isUndefined(req.query.latest)){ + let latest_query_int = parseInt(req.query.latest); + if(!isNaN(latest_query_int)) + options.reverse = ( latest_query_int ? true : false); + else if(req.query.latest == 'true' || req.query.latest == '') //empty string (ie, ?latest) + options.reverse = true; + else if(req.query.latest == 'false') + options.reverse = false; } options.txNotNeeded = true; @@ -398,7 +428,7 @@ AddressController.prototype.multitxs_ws = function(ws, req) { return self.common.handleErrors_ws(err, ws, false); } - //finding the last key (useful for `after` option on next request call) + //finding the last key (useful for `after`/'before' option on next request call) if(tx.confirmations) if(lastItem.height < tx.blockheight || (lastItem.height == tx.blockheight && lastItem.id < tx.txid)){ lastItem.id = tx.txid;