aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2017-03-07 08:51:16 +0800
committerGitHub <noreply@github.com>2017-03-07 08:51:16 +0800
commit2acf991b67bc42fb904ff77af6ff6a7ca3a683fd (patch)
treee2c21a396f4cbb4653693082d1a6d2a6bc4e8696 /ui
parente91ddfcacc37c0b45289a6df017c32e803b55d88 (diff)
parent51aa95a65cf0a12d273fc3655b5407d3e23f1997 (diff)
downloadtangerine-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.js43
-rw-r--r--ui/app/components/pending-personal-msg-details.js14
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 }),
]),
])