From 46fddba5cd3da47ce69cd8c2758ba420102ebd9c Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Thu, 13 Nov 2014 17:34:13 -0300 Subject: [PATCH] performance: addressIsOwn piggybacking from addressToPath map on public key ring --- js/models/Wallet.js | 7 ++----- test/Wallet.js | 17 +++++++---------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/js/models/Wallet.js b/js/models/Wallet.js index 93524e0c2..b205515b9 100644 --- a/js/models/Wallet.js +++ b/js/models/Wallet.js @@ -2196,11 +2196,8 @@ Wallet.prototype.getAddressesInfo = function(opts) { * @desc Returns true if a given address was generated by deriving our master public key * @return {boolean} */ -Wallet.prototype.addressIsOwn = function(addrStr, opts) { - var addrList = this.getAddressesStr(opts); - return _.any(addrList, function(value) { - return value === addrStr; - }); +Wallet.prototype.addressIsOwn = function(addrStr) { + return !!this.publicKeyRing.addressToPath[addrStr]; }; diff --git a/test/Wallet.js b/test/Wallet.js index cfff4fd76..1c8c38ab6 100644 --- a/test/Wallet.js +++ b/test/Wallet.js @@ -317,17 +317,14 @@ describe('Wallet model', function() { }); it('#addressIsOwn', function() { - var w = cachedCreateW2(); - var l = w.getAddressesStr(); - for (var i = 0; i < l.length; i++) - w.addressIsOwn(l[i]).should.equal(true); + var wallet = cachedCreateW2(); + var allAddresses = wallet.getAddressesStr(); + for (var i = 0; i < allAddresses.length; i++) { + wallet.addressIsOwn(allAddresses[i]).should.equal(true); + } - w.addressIsOwn(l[0], { - excludeMain: true - }).should.equal(false); - - w.addressIsOwn('mmHqhvTVbxgJTnePa7cfweSRjBCy9bQQXJ').should.equal(false); - w.addressIsOwn('mgtUfP9sTJ6vPLoBxZLPEccGpcjNVryaCX').should.equal(false); + wallet.addressIsOwn('mmHqhvTVbxgJTnePa7cfweSRjBCy9bQQXJ').should.equal(false); + wallet.addressIsOwn('mgtUfP9sTJ6vPLoBxZLPEccGpcjNVryaCX').should.equal(false); }); it('#create. Signing with derivate keys', function() {