Browse Source

Wallet: clarify getPrivateKeyForAddress method structure

This does repeat the O(n) lookup several times, but that can be fixed by
using an O(1) lookup instead (and will be later).

Clarity first.
hk-custom-address
Daniel Cousens 11 years ago
parent
commit
7c22067f69
  1. 15
      src/wallet.js
  2. 2
      test/wallet.js

15
src/wallet.js

@ -208,13 +208,18 @@ function Wallet(seed, network) {
}
this.getPrivateKeyForAddress = function(address) {
var index
if((index = this.addresses.indexOf(address)) > -1) {
assert(isMyAddress(address), 'Unknown address. Make sure the address is from the keychain and has been generated')
if (isReceiveAddress(address)) {
var index = this.addresses.indexOf(address)
return this.getPrivateKey(index)
} else if((index = this.changeAddresses.indexOf(address)) > -1) {
}
if (isChangeAddress(address)) {
var index = this.changeAddresses.indexOf(address)
return this.getInternalPrivateKey(index)
} else {
throw new Error('Unknown address. Make sure the address is from the keychain and has been generated.')
}
}

2
test/wallet.js

@ -164,7 +164,7 @@ describe('Wallet', function() {
var wallet = new Wallet(seed, networks.testnet)
assert.throws(function() {
wallet.getPrivateKeyForAddress("n2fiWrHqD6GM5GiEqkbWAc6aaZQp3ba93X")
}, /Unknown address. Make sure the address is from the keychain and has been generated./)
}, /Unknown address. Make sure the address is from the keychain and has been generated/)
})
})

Loading…
Cancel
Save