diff options
author | Dan Finlay <542863+danfinlay@users.noreply.github.com> | 2018-09-18 01:25:12 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-18 01:25:12 +0800 |
commit | 934b10307c97793dd2cf5ac10c3b4d96fb8cbfcc (patch) | |
tree | f00bcf3853428dc785024bc07564d1f02c061c3e /old-ui/app | |
parent | 2f14f978e390772e78e4cc2ee7a778c9106d053c (diff) | |
parent | daca7f9b41d784a44c7f5469b8f9b710e0a08e4b (diff) | |
download | tangerine-wallet-browser-934b10307c97793dd2cf5ac10c3b4d96fb8cbfcc.tar.gz tangerine-wallet-browser-934b10307c97793dd2cf5ac10c3b4d96fb8cbfcc.tar.zst tangerine-wallet-browser-934b10307c97793dd2cf5ac10c3b4d96fb8cbfcc.zip |
Merge pull request #4803 from MetaMask/eip-712
EIP-712: Sign typed data
Diffstat (limited to 'old-ui/app')
-rw-r--r-- | old-ui/app/components/pending-typed-msg-details.js | 3 | ||||
-rw-r--r-- | old-ui/app/components/typed-message-renderer.js | 27 |
2 files changed, 27 insertions, 3 deletions
diff --git a/old-ui/app/components/pending-typed-msg-details.js b/old-ui/app/components/pending-typed-msg-details.js index b5fd29f71..f95bf43a7 100644 --- a/old-ui/app/components/pending-typed-msg-details.js +++ b/old-ui/app/components/pending-typed-msg-details.js @@ -21,7 +21,7 @@ PendingMsgDetails.prototype.render = function () { var identity = state.identities[address] || { address: address } var account = state.accounts[address] || { address: address } - var { data } = msgParams + var { data, version } = msgParams return ( h('div', { @@ -48,6 +48,7 @@ PendingMsgDetails.prototype.render = function () { h('label.font-small', { style: { display: 'block' } }, 'YOU ARE SIGNING'), h(TypedMessageRenderer, { value: data, + version, style: { height: '215px', }, diff --git a/old-ui/app/components/typed-message-renderer.js b/old-ui/app/components/typed-message-renderer.js index 19e46f4fc..0dc673b8a 100644 --- a/old-ui/app/components/typed-message-renderer.js +++ b/old-ui/app/components/typed-message-renderer.js @@ -2,6 +2,7 @@ const Component = require('react').Component const h = require('react-hyperscript') const inherits = require('util').inherits const extend = require('xtend') +const { ObjectInspector } = require('react-inspector') module.exports = TypedMessageRenderer @@ -12,8 +13,16 @@ function TypedMessageRenderer () { TypedMessageRenderer.prototype.render = function () { const props = this.props - const { value, style } = props - const text = renderTypedData(value) + const { value, version, style } = props + let text + switch (version) { + case 'V1': + text = renderTypedData(value) + break + case 'V3': + text = renderTypedDataV3(value) + break + } const defaultStyle = extend({ width: '315px', @@ -44,3 +53,17 @@ function renderTypedData (values) { ]) }) } + +function renderTypedDataV3 (values) { + const { domain, message } = JSON.parse(values) + return [ + domain ? h('div', [ + h('h1', 'Domain'), + h(ObjectInspector, { data: domain, expandLevel: 1, name: 'domain' }), + ]) : '', + message ? h('div', [ + h('h1', 'Message'), + h(ObjectInspector, { data: message, expandLevel: 1, name: 'message' }), + ]) : '', + ] +} |