diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-10-28 08:23:26 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-10-28 08:23:26 +0800 |
commit | 2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9 (patch) | |
tree | f867f279f6d96aefbad302ce9b13be7d9e2b0c5a /app | |
parent | f02e02bef845fb4b55dfa315c29da1e0afe9e68c (diff) | |
download | tangerine-wallet-browser-2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9.tar tangerine-wallet-browser-2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9.tar.gz tangerine-wallet-browser-2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9.tar.bz2 tangerine-wallet-browser-2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9.tar.lz tangerine-wallet-browser-2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9.tar.xz tangerine-wallet-browser-2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9.tar.zst tangerine-wallet-browser-2690d1acfd3042f468cb2cd7ccc2dccd63c20cc9.zip |
Added hd wallet tests
Diffstat (limited to 'app')
-rw-r--r-- | app/scripts/keyrings/hd.js | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/app/scripts/keyrings/hd.js b/app/scripts/keyrings/hd.js index a852c9d29..61df8f28e 100644 --- a/app/scripts/keyrings/hd.js +++ b/app/scripts/keyrings/hd.js @@ -5,7 +5,9 @@ const ethUtil = require('ethereumjs-util') const type = 'HD Key Tree' const sigUtil = require('../lib/sig-util') -module.exports = class SimpleKeyring extends EventEmitter { +const hdPathString = `m/44'/60'/0'/0` + +module.exports = class HdKeyring extends EventEmitter { static type() { return type @@ -28,7 +30,7 @@ module.exports = class SimpleKeyring extends EventEmitter { const seed = bip39.mnemonicToSeed(mnemonic) this.mnemonic = mnemonic this.hdWallet = hdkey.fromMasterSeed(seed) - this.seed = bip39.mnemonicToSeedHex(seed) + this.root = this.hdWallet.derivePath(hdPathString) } serialize() { @@ -39,9 +41,15 @@ module.exports = class SimpleKeyring extends EventEmitter { } addAccounts(n = 1) { + if (!this.root) { + this.initFromMnemonic(bip39.generateMnemonic()) + } + + const oldLen = this.wallets.length const newWallets = [] - for (let i = 0; i < n; i++) { - const wallet = this.hdWallet.getWallet() + for (let i = oldLen; i < n + oldLen; i++) { + const child = this.root.deriveChild(i) + const wallet = child.getWallet() newWallets.push(wallet) this.wallets.push(wallet) } |