Merge pull request #1177 from MetaMask/i1173-ShowPersonalMessage
Render personal_sign messages as utf-8 textfeature/default_network_editable
commit
2acf991b67
@ -0,0 +1,25 @@ |
||||
var assert = require('assert') |
||||
var BinaryRenderer = require('../../../ui/app/components/binary-renderer') |
||||
|
||||
describe('BinaryRenderer', function() { |
||||
|
||||
let binaryRenderer |
||||
const message = 'Hello, world!' |
||||
const buffer = new Buffer(message, 'utf8') |
||||
const hex = buffer.toString('hex') |
||||
|
||||
beforeEach(function() { |
||||
binaryRenderer = new BinaryRenderer() |
||||
}) |
||||
|
||||
it('recovers message', function() { |
||||
const result = binaryRenderer.hexToText(hex) |
||||
assert.equal(result, message) |
||||
}) |
||||
|
||||
|
||||
it('recovers message with hex prefix', function() { |
||||
const result = binaryRenderer.hexToText('0x' + hex) |
||||
assert.equal(result, message) |
||||
}) |
||||
}) |
@ -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 |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue