performance: addressIsOwn piggybacking from addressToPath map on public key ring

This commit is contained in:
Esteban Ordano 2014-11-13 17:34:13 -03:00
parent 9b4d261637
commit 46fddba5cd
2 changed files with 9 additions and 15 deletions

View File

@ -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];
};

View File

@ -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() {