Add option to query **only** mempool
This commit is contained in:
parent
6a1e5770cf
commit
b92d4340a1
@ -1211,6 +1211,7 @@ Bitcoin.prototype.getAddressTxids = function(addressArg, options, callback) {
|
|||||||
/* jshint maxstatements: 16 */
|
/* jshint maxstatements: 16 */
|
||||||
var self = this;
|
var self = this;
|
||||||
var queryMempool = _.isUndefined(options.queryMempool) ? true : options.queryMempool;
|
var queryMempool = _.isUndefined(options.queryMempool) ? true : options.queryMempool;
|
||||||
|
var queryMempoolOnly = _.isUndefined(options.queryMempoolOnly) ? false : options.queryMempoolOnly;
|
||||||
var rangeQuery = false;
|
var rangeQuery = false;
|
||||||
try {
|
try {
|
||||||
rangeQuery = self._getHeightRangeQuery(options);
|
rangeQuery = self._getHeightRangeQuery(options);
|
||||||
@ -1220,12 +1221,21 @@ Bitcoin.prototype.getAddressTxids = function(addressArg, options, callback) {
|
|||||||
if (rangeQuery) {
|
if (rangeQuery) {
|
||||||
queryMempool = false;
|
queryMempool = false;
|
||||||
}
|
}
|
||||||
|
if (queryMempoolOnly) {
|
||||||
|
queryMempool = true;
|
||||||
|
rangeQuery = false;
|
||||||
|
}
|
||||||
var addresses = self._normalizeAddressArg(addressArg);
|
var addresses = self._normalizeAddressArg(addressArg);
|
||||||
var cacheKey = addresses.join('');
|
var cacheKey = addresses.join('');
|
||||||
var mempoolTxids = [];
|
var mempoolTxids = [];
|
||||||
var txids = self.txidsCache.get(cacheKey);
|
var txids = queryMempoolOnly ? false : self.txidsCache.get(cacheKey);
|
||||||
|
|
||||||
function finish() {
|
function finish() {
|
||||||
|
if (queryMempoolOnly) {
|
||||||
|
return setImmediate(function() {
|
||||||
|
callback(null, mempoolTxids.reverse());
|
||||||
|
});
|
||||||
|
}
|
||||||
if (txids && !rangeQuery) {
|
if (txids && !rangeQuery) {
|
||||||
var allTxids = mempoolTxids.reverse().concat(txids);
|
var allTxids = mempoolTxids.reverse().concat(txids);
|
||||||
return setImmediate(function() {
|
return setImmediate(function() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user