From 592fc44407739fa7490bee81edfd3c28470dcd3f Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 19 Feb 2020 15:29:49 +0100 Subject: [PATCH] fix signature --- src/blockchain/providers/injected.js | 8 ++++---- src/blockchain/providers/node.js | 8 ++++---- src/blockchain/providers/vm.js | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/blockchain/providers/injected.js b/src/blockchain/providers/injected.js index cc02cef9b0..81ff6764fb 100644 --- a/src/blockchain/providers/injected.js +++ b/src/blockchain/providers/injected.js @@ -1,5 +1,5 @@ const Web3 = require('web3') -const { stripHexPrefix } = require('ethereumjs-util') +const { stripHexPrefix, hashPersonalMessage } = require('ethereumjs-util') class InjectedProvider { @@ -35,10 +35,10 @@ class InjectedProvider { } signMessage (message, account, _passphrase, cb) { - const hashedMsg = Web3.utils.sha3(message) + const messageHash = hashPersonalMessage(Buffer.from(message)) try { - this.executionContext.web3().eth.sign(hashedMsg, account, (error, signedData) => { - cb(error, hashedMsg, signedData) + this.executionContext.web3().eth.sign(message, account, (error, signedData) => { + cb(error, '0x' + messageHash.toString('hex'), signedData) }) } catch (e) { cb(e.message) diff --git a/src/blockchain/providers/node.js b/src/blockchain/providers/node.js index 9ed468e542..ae30d547de 100644 --- a/src/blockchain/providers/node.js +++ b/src/blockchain/providers/node.js @@ -1,5 +1,5 @@ const Web3 = require('web3') -const { stripHexPrefix } = require('ethereumjs-util') +const { stripHexPrefix, hashPersonalMessage } = require('ethereumjs-util') const Personal = require('web3-eth-personal') class NodeProvider { @@ -43,11 +43,11 @@ class NodeProvider { } signMessage (message, account, passphrase, cb) { - const hashedMsg = Web3.utils.sha3(message) + const messageHash = hashPersonalMessage(Buffer.from(message)) try { const personal = new Personal(this.executionContext.web3().currentProvider) - personal.sign(hashedMsg, account, passphrase, (error, signedData) => { - cb(error, hashedMsg, signedData) + personal.sign(message, account, passphrase, (error, signedData) => { + cb(error, '0x' + messageHash.toString('hex'), signedData) }) } catch (e) { cb(e.message) diff --git a/src/blockchain/providers/vm.js b/src/blockchain/providers/vm.js index 6da0240d30..7b8379cc34 100644 --- a/src/blockchain/providers/vm.js +++ b/src/blockchain/providers/vm.js @@ -1,5 +1,5 @@ const Web3 = require('web3') -const { BN, privateToAddress, stripHexPrefix } = require('ethereumjs-util') +const { BN, privateToAddress, stripHexPrefix, hashPersonalMessage } = require('ethereumjs-util') const RemixSimulator = require('remix-simulator') class VMProvider { @@ -54,12 +54,12 @@ class VMProvider { } signMessage (message, account, _passphrase, cb) { - const hashedMsg = Web3.utils.sha3(message) - this.web3.eth.sign(hashedMsg, account, (error, signedData) => { + const messageHash = hashPersonalMessage(Buffer.from(message)) + this.web3.eth.sign(message, account, (error, signedData) => { if (error) { return cb(error) } - cb(null, hashedMsg, signedData) + cb(null, '0x' + messageHash.toString('hex'), signedData) }) }