aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/keyrings/hd.js
diff options
context:
space:
mode:
authorKevin Serrano <kevgagser@gmail.com>2016-11-24 07:31:17 +0800
committerGitHub <noreply@github.com>2016-11-24 07:31:17 +0800
commitfeae6235cbe0cc6cfb4312cb6a02f246af39d5d1 (patch)
tree2fd39cb1b04ce08380d49eeaafa08bedfa47dfe2 /app/scripts/keyrings/hd.js
parentec8b0148f0bf4114ab27d9bfe8ebca8a116e4b20 (diff)
parent9f67974133ae26b37d388cf95c995f76c0ee650f (diff)
downloadtangerine-wallet-browser-feae6235cbe0cc6cfb4312cb6a02f246af39d5d1.tar
tangerine-wallet-browser-feae6235cbe0cc6cfb4312cb6a02f246af39d5d1.tar.gz
tangerine-wallet-browser-feae6235cbe0cc6cfb4312cb6a02f246af39d5d1.tar.bz2
tangerine-wallet-browser-feae6235cbe0cc6cfb4312cb6a02f246af39d5d1.tar.lz
tangerine-wallet-browser-feae6235cbe0cc6cfb4312cb6a02f246af39d5d1.tar.xz
tangerine-wallet-browser-feae6235cbe0cc6cfb4312cb6a02f246af39d5d1.tar.zst
tangerine-wallet-browser-feae6235cbe0cc6cfb4312cb6a02f246af39d5d1.zip
Merge pull request #888 from MetaMask/i844-AsyncKeyrings
Modify Keyring protocol to always return promises for public methods
Diffstat (limited to 'app/scripts/keyrings/hd.js')
-rw-r--r--app/scripts/keyrings/hd.js17
1 files changed, 10 insertions, 7 deletions
diff --git a/app/scripts/keyrings/hd.js b/app/scripts/keyrings/hd.js
index a28ef6736..cfec56561 100644
--- a/app/scripts/keyrings/hd.js
+++ b/app/scripts/keyrings/hd.js
@@ -21,10 +21,10 @@ class HdKeyring extends EventEmitter {
}
serialize () {
- return {
+ return Promise.resolve({
mnemonic: this.mnemonic,
numberOfAccounts: this.wallets.length,
- }
+ })
}
deserialize (opts = {}) {
@@ -40,6 +40,8 @@ class HdKeyring extends EventEmitter {
if ('numberOfAccounts' in opts) {
this.addAccounts(opts.numberOfAccounts)
}
+
+ return Promise.resolve()
}
addAccounts (numberOfAccounts = 1) {
@@ -55,11 +57,12 @@ class HdKeyring extends EventEmitter {
newWallets.push(wallet)
this.wallets.push(wallet)
}
- return newWallets.map(w => w.getAddress().toString('hex'))
+ const hexWallets = newWallets.map(w => w.getAddress().toString('hex'))
+ return Promise.resolve(hexWallets)
}
getAccounts () {
- return this.wallets.map(w => w.getAddress().toString('hex'))
+ return Promise.resolve(this.wallets.map(w => w.getAddress().toString('hex')))
}
// tx is an instance of the ethereumjs-transaction class.
@@ -67,7 +70,7 @@ class HdKeyring extends EventEmitter {
const wallet = this._getWalletForAccount(address)
var privKey = wallet.getPrivateKey()
tx.sign(privKey)
- return tx
+ return Promise.resolve(tx)
}
// For eth_sign, we need to sign transactions:
@@ -77,12 +80,12 @@ class HdKeyring extends EventEmitter {
var privKey = wallet.getPrivateKey()
var msgSig = ethUtil.ecsign(new Buffer(message, 'hex'), privKey)
var rawMsgSig = ethUtil.bufferToHex(sigUtil.concatSig(msgSig.v, msgSig.r, msgSig.s))
- return rawMsgSig
+ return Promise.resolve(rawMsgSig)
}
exportAccount (address) {
const wallet = this._getWalletForAccount(address)
- return wallet.getPrivateKey().toString('hex')
+ return Promise.resolve(wallet.getPrivateKey().toString('hex'))
}