aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/keyrings
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2017-02-04 07:36:45 +0800
committerGitHub <noreply@github.com>2017-02-04 07:36:45 +0800
commiteb08a4f41f3fc341bfd3eaf8fafe9309129e97e4 (patch)
treee14cff922e86f97423e07acfe3d17556e99e1005 /app/scripts/keyrings
parent66be5ff2756e611c7af6973e704d27ce9bbd0d45 (diff)
parente1719191f488ab1d842a5e55ddd9f70038329f09 (diff)
downloadtangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.gz
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.bz2
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.lz
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.xz
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.tar.zst
tangerine-wallet-browser-eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4.zip
Merge pull request #1086 from MetaMask/kumavis-refactor7
Refactor round 7
Diffstat (limited to 'app/scripts/keyrings')
-rw-r--r--app/scripts/keyrings/hd.js11
-rw-r--r--app/scripts/keyrings/simple.js11
2 files changed, 12 insertions, 10 deletions
diff --git a/app/scripts/keyrings/hd.js b/app/scripts/keyrings/hd.js
index 1b9796e07..2e3b74192 100644
--- a/app/scripts/keyrings/hd.js
+++ b/app/scripts/keyrings/hd.js
@@ -74,12 +74,13 @@ class HdKeyring extends EventEmitter {
}
// For eth_sign, we need to sign transactions:
- signMessage (withAccount, data) {
+ signMessage (withAccount, msgHex) {
const wallet = this._getWalletForAccount(withAccount)
- const message = ethUtil.stripHexPrefix(data)
- 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))
+ const privKey = wallet.getPrivateKey()
+ const msgBuffer = ethUtil.toBuffer(msgHex)
+ const msgHash = ethUtil.hashPersonalMessage(msgBuffer)
+ const msgSig = ethUtil.ecsign(msgHash, privKey)
+ const rawMsgSig = ethUtil.bufferToHex(sigUtil.concatSig(msgSig.v, msgSig.r, msgSig.s))
return Promise.resolve(rawMsgSig)
}
diff --git a/app/scripts/keyrings/simple.js b/app/scripts/keyrings/simple.js
index 46687fcaf..fa8e9fd78 100644
--- a/app/scripts/keyrings/simple.js
+++ b/app/scripts/keyrings/simple.js
@@ -58,12 +58,13 @@ class SimpleKeyring extends EventEmitter {
}
// For eth_sign, we need to sign transactions:
- signMessage (withAccount, data) {
+ signMessage (withAccount, msgHex) {
const wallet = this._getWalletForAccount(withAccount)
- const message = ethUtil.stripHexPrefix(data)
- 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))
+ const privKey = wallet.getPrivateKey()
+ const msgBuffer = ethUtil.toBuffer(msgHex)
+ const msgHash = ethUtil.hashPersonalMessage(msgBuffer)
+ const msgSig = ethUtil.ecsign(msgHash, privKey)
+ const rawMsgSig = ethUtil.bufferToHex(sigUtil.concatSig(msgSig.v, msgSig.r, msgSig.s))
return Promise.resolve(rawMsgSig)
}