aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2017-01-17 15:39:03 +0800
committerGitHub <noreply@github.com>2017-01-17 15:39:03 +0800
commit4bc09be6473539c4889143621af6681ac3a838b6 (patch)
tree883071638cf94a842e416757b4ce388eb063b49c
parent3b617230647282e35375011463882fb48ee7dece (diff)
parent0bd38ae69a12fe32855f0cce5392a88c4fa9b715 (diff)
downloadtangerine-wallet-browser-4bc09be6473539c4889143621af6681ac3a838b6.tar.gz
tangerine-wallet-browser-4bc09be6473539c4889143621af6681ac3a838b6.tar.zst
tangerine-wallet-browser-4bc09be6473539c4889143621af6681ac3a838b6.zip
Merge pull request #1016 from MetaMask/i1014-FixSigning
dev: fix signing
-rw-r--r--app/scripts/keyrings/simple.js3
-rw-r--r--test/unit/keyrings/simple-test.js18
2 files changed, 19 insertions, 2 deletions
diff --git a/app/scripts/keyrings/simple.js b/app/scripts/keyrings/simple.js
index 6b16137ae..d604430b8 100644
--- a/app/scripts/keyrings/simple.js
+++ b/app/scripts/keyrings/simple.js
@@ -54,8 +54,7 @@ class SimpleKeyring extends EventEmitter {
// For eth_sign, we need to sign transactions:
signMessage (withAccount, data) {
const wallet = this._getWalletForAccount(withAccount)
-
- const message = ethUtil.removeHexPrefix(data)
+ 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))
diff --git a/test/unit/keyrings/simple-test.js b/test/unit/keyrings/simple-test.js
index 687318f99..77eeb834c 100644
--- a/test/unit/keyrings/simple-test.js
+++ b/test/unit/keyrings/simple-test.js
@@ -49,6 +49,24 @@ describe('simple-keyring', function() {
})
})
+ describe('#signMessage', function() {
+ const address = '0x9858e7d8b79fc3e6d989636721584498926da38a'
+ const message = '0x879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0'
+ const privateKey = '0x7dd98753d7b4394095de7d176c58128e2ed6ee600abe97c9f6d9fd65015d9b18'
+ const expectedResult = '0x28fcb6768e5110144a55b2e6ce9d1ea5a58103033632d272d2b5cf506906f7941a00b539383fd872109633d8c71c404e13dba87bc84166ee31b0e36061a69e161c'
+
+ it('passes the dennis test', function(done) {
+ keyring.deserialize([ privateKey ])
+ .then(() => {
+ return keyring.signMessage(address, message)
+ })
+ .then((result) => {
+ assert.equal(result, expectedResult)
+ done()
+ })
+ })
+ })
+
describe('#addAccounts', function() {
describe('with no arguments', function() {
it('creates a single wallet', function() {