From e77c7d90b14788d318346dd37b7bd8bfabc2355f Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Wed, 26 Nov 2014 12:27:38 -0300 Subject: [PATCH 1/2] added from & to args to #getTransactions call --- js/models/Insight.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/js/models/Insight.js b/js/models/Insight.js index a040c7fec..7d187cb2d 100644 --- a/js/models/Insight.js +++ b/js/models/Insight.js @@ -44,9 +44,9 @@ var Insight = function(opts) { }; - if (opts.transports) { - this.opts['transports'] = opts.transports; - } + if (opts.transports) { + this.opts['transports'] = opts.transports; + } this.socket = this.getSocket(); } @@ -224,7 +224,7 @@ Insight.prototype.subscribe = function(addresses) { s.emit('subscribe', address); s.on(address, handler); - } + } }); }; @@ -267,16 +267,21 @@ Insight.prototype.getTransaction = function(txid, cb) { }); }; -Insight.prototype.getTransactions = function (addresses, from, to, cb) { +Insight.prototype.getTransactions = function(addresses, from, to, cb) { preconditions.shouldBeArray(addresses); preconditions.shouldBeFunction(cb); - var qs = '?from=' + (from || 0); - if (to) qs += '&to=' + to; + var qs = ''; + if (_.isNumber(from)) { + qs += '?from=' + from; + if (_.isNumber(to)) { + qs += '&to=' + to; + } + } this.requestPost('/api/addrs/txs' + qs, { addrs: addresses.join(',') - }, function (err, res, txs) { + }, function(err, res, txs) { if (err || res.statusCode != 200) return cb(err || res); cb(null, txs); }); @@ -294,7 +299,7 @@ Insight.prototype.getUnspent = function(addresses, cb) { // This filter out possible broken unspent, as reported on // https://github.com/bitpay/copay/issues/1585 // and later gitter conversation. - + var unspent = _.filter(unspentRaw, 'scriptPubKey'); cb(null, unspent); }); @@ -303,7 +308,7 @@ Insight.prototype.getUnspent = function(addresses, cb) { Insight.prototype.getActivity = function(addresses, cb) { preconditions.shouldBeArray(addresses); - this.getTransactions(addresses, function then(err, txs) { + this.getTransactions(addresses, null, null, function then(err, txs) { if (err) return cb(err); var flatArray = function(xss) { From 724055f3fc04d0941fe90afd3446e9ae75296348 Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Wed, 26 Nov 2014 12:42:37 -0300 Subject: [PATCH 2/2] fixed tests --- test/blockchain.Insight.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/blockchain.Insight.js b/test/blockchain.Insight.js index fda233305..e2ba6a3e7 100644 --- a/test/blockchain.Insight.js +++ b/test/blockchain.Insight.js @@ -240,7 +240,7 @@ describe('Insight model', function() { }); var addresses = ['2NATQJnaQe2CUKLyhL1zdNkttJM1dUH9HaM', '2NE9hTCffeugo5gQtfB4owq98gyTeWC56yb']; - blockchain.getTransactions(addresses, null, null, function(err, res) { + blockchain.getTransactions(addresses, 0, null, function(err, res) { chai.expect(err).to.be.null; res.items.length.should.be.equal(3); done(); @@ -273,7 +273,7 @@ describe('Insight model', function() { it('should get activity for an innactive address', function(done) { var blockchain = new Insight(FAKE_OPTS); - sinon.stub(blockchain, "getTransactions", function(addresses, cb) { + sinon.stub(blockchain, "getTransactions", function(addresses, from, to, cb) { cb(null, []); }); @@ -290,7 +290,7 @@ describe('Insight model', function() { it('should get activity for active addresses', function(done) { var blockchain = new Insight(FAKE_OPTS); - sinon.stub(blockchain, "getTransactions", function(addresses, cb) { + sinon.stub(blockchain, "getTransactions", function(addresses, from, to, cb) { cb(null, [{ vin: [{ addr: '2NATQJnaQe2CUKLyhL1zdNkttJM1dUH9HaM'