From acd5940f797f988975c6772ceeb3bf16d76c7b74 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 4 May 2020 14:52:34 +0300 Subject: [PATCH 1/2] Return contract test --- test/e2e/nw.spec.js | 10 +++++----- test/e2e/test-cases/delete-imported-account.spec.js | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/e2e/nw.spec.js b/test/e2e/nw.spec.js index 6fe5afa9b..b776415c9 100644 --- a/test/e2e/nw.spec.js +++ b/test/e2e/nw.spec.js @@ -8,10 +8,10 @@ const account2 = '0xd7b7AFeCa35e32594e29504771aC847E2a803742' const testsFolder = './test-cases' const setup = require(`${testsFolder}/setup.spec`) const login = require(`${testsFolder}/login.spec`) -const { accountCreation } = require(`${testsFolder}/account-creation.spec`) +const { accountCreation, getCreatedAccounts } = require(`${testsFolder}/account-creation.spec`) const connectHDWallet = require(`${testsFolder}/connect-hd-wallet.spec`) const importAccount = require(`${testsFolder}/import-account.spec`) -// const importContractAccount = require(`${testsFolder}/import-contract-account.spec`) +const importContractAccount = require(`${testsFolder}/import-contract-account.spec`) const deleteImportedAccount = require(`${testsFolder}/delete-imported-account.spec`) const signData = require(`${testsFolder}/sign-data.spec`) const exportPrivateKey = require(`${testsFolder}/export-private-key.spec`) @@ -100,9 +100,9 @@ describe('Metamask popup page', async function () { await importAccount(f) }) - // describe('Import Contract account', async () => { - // await importContractAccount(f, account1, getCreatedAccounts) - // }) + describe('Import Contract account', async () => { + await importContractAccount(f, account1, getCreatedAccounts) + }) describe('Delete Imported Account', async () => { await deleteImportedAccount(f) diff --git a/test/e2e/test-cases/delete-imported-account.spec.js b/test/e2e/test-cases/delete-imported-account.spec.js index bf32aa997..389a1e4ef 100644 --- a/test/e2e/test-cases/delete-imported-account.spec.js +++ b/test/e2e/test-cases/delete-imported-account.spec.js @@ -15,7 +15,7 @@ const deleteImportedAccount = async (f) => { }) it("Can't remove imported account with 'No' button", async function () { - const button = await f.waitUntilShowUp(deleteImportedAccountScr.buttons.no) + const button = await f.waitUntilShowUp(deleteImportedAccountScr.buttons.no2) assert.equal(await button.getText(), 'No', 'button has incorrect name') await f.click(button) await f.driver.findElements(main.container) From d93bd0bd3d07677a137f7dfcbbeb22e7e8165b1b Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 4 May 2020 16:12:25 +0300 Subject: [PATCH 2/2] 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) }) })