aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/keyrings/simple.js
diff options
context:
space:
mode:
authorDan Finlay <flyswatter@users.noreply.github.com>2017-02-16 07:49:04 +0800
committerGitHub <noreply@github.com>2017-02-16 07:49:04 +0800
commit352bb5cb3941c3a07b383c2400dae337771c6d3a (patch)
treed3db707f1c2e8236c78e143b48e1a2fd9f0323f9 /app/scripts/keyrings/simple.js
parentcdd4faa917a2f02b531c479eb2f05f39f303d51b (diff)
parentf2539d125c2cfe240511f8505e222a9893bf7748 (diff)
downloadtangerine-wallet-browser-352bb5cb3941c3a07b383c2400dae337771c6d3a.tar.gz
tangerine-wallet-browser-352bb5cb3941c3a07b383c2400dae337771c6d3a.tar.zst
tangerine-wallet-browser-352bb5cb3941c3a07b383c2400dae337771c6d3a.zip
Merge branch 'master' into dev
Diffstat (limited to 'app/scripts/keyrings/simple.js')
-rw-r--r--app/scripts/keyrings/simple.js16
1 files changed, 14 insertions, 2 deletions
diff --git a/app/scripts/keyrings/simple.js b/app/scripts/keyrings/simple.js
index fa8e9fd78..82881aa2d 100644
--- a/app/scripts/keyrings/simple.js
+++ b/app/scripts/keyrings/simple.js
@@ -58,7 +58,18 @@ class SimpleKeyring extends EventEmitter {
}
// For eth_sign, we need to sign transactions:
- signMessage (withAccount, msgHex) {
+ signMessage (withAccount, data) {
+ 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))
+ return Promise.resolve(rawMsgSig)
+ }
+
+ // For eth_sign, we need to sign transactions:
+
+ newGethSignMessage (withAccount, msgHex) {
const wallet = this._getWalletForAccount(withAccount)
const privKey = wallet.getPrivateKey()
const msgBuffer = ethUtil.toBuffer(msgHex)
@@ -77,7 +88,8 @@ class SimpleKeyring extends EventEmitter {
/* PRIVATE METHODS */
_getWalletForAccount (account) {
- let wallet = this.wallets.find(w => ethUtil.bufferToHex(w.getAddress()) === account)
+ const address = sigUtil.normalize(account)
+ let wallet = this.wallets.find(w => ethUtil.bufferToHex(w.getAddress()) === address)
if (!wallet) throw new Error('Simple Keyring - Unable to find matching address.')
return wallet
}