diff options
author | kumavis <kumavis@users.noreply.github.com> | 2017-02-04 07:36:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-04 07:36:45 +0800 |
commit | eb08a4f41f3fc341bfd3eaf8fafe9309129e97e4 (patch) | |
tree | e14cff922e86f97423e07acfe3d17556e99e1005 /app/scripts/keyrings | |
parent | 66be5ff2756e611c7af6973e704d27ce9bbd0d45 (diff) | |
parent | e1719191f488ab1d842a5e55ddd9f70038329f09 (diff) | |
download | tangerine-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.js | 11 | ||||
-rw-r--r-- | app/scripts/keyrings/simple.js | 11 |
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) } |