Merge pull request #377 from poanetwork/vb-fix-sign-msg

Sign message screen: do not decode message if it is not hex encoded
This commit is contained in:
Victor Baranov 2020-05-04 17:47:18 +03:00 committed by GitHub
commit ee1fece5c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 10 deletions

View File

@ -2,7 +2,8 @@
## Current Master
- [#364](https://github.com/poanetwork/nifty-wallet/pull/364) - Fix notifications order in batch requests
- [#377](https://github.com/poanetwork/nifty-wallet/pull/377) - (Fix) Sign message screen: do not decode message if it is not hex encoded
- [#364](https://github.com/poanetwork/nifty-wallet/pull/364) - (Fix) notifications order in batch requests
## 5.0.3 Fri May 01 2020

View File

@ -1,8 +1,8 @@
const Component = require('react').Component
import { Component } from 'react'
const h = require('react-hyperscript')
const inherits = require('util').inherits
const ethUtil = require('ethereumjs-util')
const extend = require('xtend')
import ethUtil from 'ethereumjs-util'
import extend from 'xtend'
module.exports = BinaryRenderer
@ -14,7 +14,7 @@ function BinaryRenderer () {
BinaryRenderer.prototype.render = function () {
const props = this.props
const { value, style } = props
const text = this.hexToText(value)
const message = this.msgHexToText(value)
const defaultStyle = extend({
width: '100%',
@ -30,16 +30,16 @@ BinaryRenderer.prototype.render = function () {
h('textarea.font-small', {
readOnly: true,
style: defaultStyle,
defaultValue: text,
defaultValue: message,
})
)
}
BinaryRenderer.prototype.hexToText = function (hex) {
BinaryRenderer.prototype.msgHexToText = (hex) => {
try {
const stripped = ethUtil.stripHexPrefix(hex)
const buff = Buffer.from(stripped, 'hex')
return buff.toString('utf8')
return buff.length === 32 ? hex : buff.toString('utf8')
} catch (e) {
return hex
}

View File

@ -12,12 +12,12 @@ describe('BinaryRenderer', function () {
})
it('recovers message', function () {
const result = binaryRenderer.hexToText(hex)
const result = binaryRenderer.msgHexToText(hex)
assert.equal(result, message)
})
it('recovers message with hex prefix', function () {
const result = binaryRenderer.hexToText('0x' + hex)
const result = binaryRenderer.msgHexToText('0x' + hex)
assert.equal(result, message)
})
})