From d93bd0bd3d07677a137f7dfcbbeb22e7e8165b1b Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 4 May 2020 16:12:25 +0300 Subject: [PATCH] Do not decode message if it is not hex encoded --- CHANGELOG.md | 3 ++- old-ui/app/components/binary-renderer.js | 14 +++++++------- test/unit/components/binary-renderer-test.js | 4 ++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9e97eec4..5d2c8f51d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/old-ui/app/components/binary-renderer.js b/old-ui/app/components/binary-renderer.js index eb7dfceb0..d0c613dc8 100644 --- a/old-ui/app/components/binary-renderer.js +++ b/old-ui/app/components/binary-renderer.js @@ -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 } diff --git a/test/unit/components/binary-renderer-test.js b/test/unit/components/binary-renderer-test.js index e428c26ad..8450871d7 100644 --- a/test/unit/components/binary-renderer-test.js +++ b/test/unit/components/binary-renderer-test.js @@ -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) }) })