diff options
author | kumavis <kumavis@users.noreply.github.com> | 2017-03-07 08:51:16 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-07 08:51:16 +0800 |
commit | 2acf991b67bc42fb904ff77af6ff6a7ca3a683fd (patch) | |
tree | e2c21a396f4cbb4653693082d1a6d2a6bc4e8696 /ui | |
parent | e91ddfcacc37c0b45289a6df017c32e803b55d88 (diff) | |
parent | 51aa95a65cf0a12d273fc3655b5407d3e23f1997 (diff) | |
download | tangerine-wallet-browser-2acf991b67bc42fb904ff77af6ff6a7ca3a683fd.tar tangerine-wallet-browser-2acf991b67bc42fb904ff77af6ff6a7ca3a683fd.tar.gz tangerine-wallet-browser-2acf991b67bc42fb904ff77af6ff6a7ca3a683fd.tar.bz2 tangerine-wallet-browser-2acf991b67bc42fb904ff77af6ff6a7ca3a683fd.tar.lz tangerine-wallet-browser-2acf991b67bc42fb904ff77af6ff6a7ca3a683fd.tar.xz tangerine-wallet-browser-2acf991b67bc42fb904ff77af6ff6a7ca3a683fd.tar.zst tangerine-wallet-browser-2acf991b67bc42fb904ff77af6ff6a7ca3a683fd.zip |
Merge pull request #1177 from MetaMask/i1173-ShowPersonalMessage
Render personal_sign messages as utf-8 text
Diffstat (limited to 'ui')
-rw-r--r-- | ui/app/components/binary-renderer.js | 43 | ||||
-rw-r--r-- | ui/app/components/pending-personal-msg-details.js | 14 |
2 files changed, 45 insertions, 12 deletions
diff --git a/ui/app/components/binary-renderer.js b/ui/app/components/binary-renderer.js new file mode 100644 index 000000000..a9d49b128 --- /dev/null +++ b/ui/app/components/binary-renderer.js @@ -0,0 +1,43 @@ +const Component = require('react').Component +const h = require('react-hyperscript') +const inherits = require('util').inherits +const ethUtil = require('ethereumjs-util') + +module.exports = BinaryRenderer + +inherits(BinaryRenderer, Component) +function BinaryRenderer () { + Component.call(this) +} + +BinaryRenderer.prototype.render = function () { + const props = this.props + const { value } = props + const text = this.hexToText(value) + + return ( + h('textarea.font-small', { + readOnly: true, + style: { + width: '315px', + maxHeight: '210px', + resize: 'none', + border: 'none', + background: 'white', + padding: '3px', + }, + defaultValue: text, + }) + ) +} + +BinaryRenderer.prototype.hexToText = function (hex) { + try { + const stripped = ethUtil.stripHexPrefix(hex) + const buff = Buffer.from(stripped, 'hex') + return buff.toString('utf8') + } catch (e) { + return hex + } +} + diff --git a/ui/app/components/pending-personal-msg-details.js b/ui/app/components/pending-personal-msg-details.js index ffd11ca0b..fa2c6416c 100644 --- a/ui/app/components/pending-personal-msg-details.js +++ b/ui/app/components/pending-personal-msg-details.js @@ -3,6 +3,7 @@ const h = require('react-hyperscript') const inherits = require('util').inherits const AccountPanel = require('./account-panel') +const BinaryRenderer = require('./binary-renderer') module.exports = PendingMsgDetails @@ -41,18 +42,7 @@ PendingMsgDetails.prototype.render = function () { // message data h('div', [ h('label.font-small', { style: { display: 'block' } }, 'MESSAGE'), - h('textarea.font-small', { - readOnly: true, - style: { - width: '315px', - maxHeight: '210px', - resize: 'none', - border: 'none', - background: 'white', - padding: '3px', - }, - defaultValue: data, - }), + h(BinaryRenderer, { value: data }), ]), ]) |