aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/conf-tx.js
diff options
context:
space:
mode:
authorSergey Ukustov <sergey@ukstv.me>2017-09-30 00:24:08 +0800
committerSergey Ukustov <sergey@ukstv.me>2017-09-30 00:40:46 +0800
commitc2b8dada91c90788dcd81a0318c52a66b4b769d1 (patch)
tree599c21d3ff09e5ac1c01062940337d6eb2c5d4fb /ui/app/conf-tx.js
parentcdf41c28573822c7c4d50efe7dfa34a062825d7f (diff)
downloadtangerine-wallet-browser-c2b8dada91c90788dcd81a0318c52a66b4b769d1.tar
tangerine-wallet-browser-c2b8dada91c90788dcd81a0318c52a66b4b769d1.tar.gz
tangerine-wallet-browser-c2b8dada91c90788dcd81a0318c52a66b4b769d1.tar.bz2
tangerine-wallet-browser-c2b8dada91c90788dcd81a0318c52a66b4b769d1.tar.lz
tangerine-wallet-browser-c2b8dada91c90788dcd81a0318c52a66b4b769d1.tar.xz
tangerine-wallet-browser-c2b8dada91c90788dcd81a0318c52a66b4b769d1.tar.zst
tangerine-wallet-browser-c2b8dada91c90788dcd81a0318c52a66b4b769d1.zip
Add eth_signTypedData handler
Diffstat (limited to 'ui/app/conf-tx.js')
-rw-r--r--ui/app/conf-tx.js25
1 files changed, 23 insertions, 2 deletions
diff --git a/ui/app/conf-tx.js b/ui/app/conf-tx.js
index 15fb9a59f..f93fc2373 100644
--- a/ui/app/conf-tx.js
+++ b/ui/app/conf-tx.js
@@ -10,6 +10,7 @@ const isPopupOrNotification = require('../../app/scripts/lib/is-popup-or-notific
const PendingTx = require('./components/pending-tx')
const PendingMsg = require('./components/pending-msg')
const PendingPersonalMsg = require('./components/pending-personal-msg')
+const PendingTypedMsg = require('./components/pending-typed-msg')
const Loading = require('./components/loading')
module.exports = connect(mapStateToProps)(ConfirmTxScreen)
@@ -22,6 +23,7 @@ function mapStateToProps (state) {
unapprovedTxs: state.metamask.unapprovedTxs,
unapprovedMsgs: state.metamask.unapprovedMsgs,
unapprovedPersonalMsgs: state.metamask.unapprovedPersonalMsgs,
+ unapprovedTypedMessages: state.metamask.unapprovedTypedMessages,
index: state.appState.currentView.context,
warning: state.appState.warning,
network: state.metamask.network,
@@ -41,9 +43,9 @@ function ConfirmTxScreen () {
ConfirmTxScreen.prototype.render = function () {
const props = this.props
const { network, provider, unapprovedTxs, currentCurrency, computedBalances,
- unapprovedMsgs, unapprovedPersonalMsgs, conversionRate, blockGasLimit } = props
+ unapprovedMsgs, unapprovedPersonalMsgs, unapprovedTypedMessages, conversionRate, blockGasLimit } = props
- var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, network)
+ var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, unapprovedTypedMessages, network)
var txData = unconfTxList[props.index] || {}
var txParams = txData.params || {}
@@ -112,8 +114,10 @@ ConfirmTxScreen.prototype.render = function () {
cancelAllTransactions: this.cancelAllTransactions.bind(this, unconfTxList),
signMessage: this.signMessage.bind(this, txData),
signPersonalMessage: this.signPersonalMessage.bind(this, txData),
+ signTypedMessage: this.signTypedMessage.bind(this, txData),
cancelMessage: this.cancelMessage.bind(this, txData),
cancelPersonalMessage: this.cancelPersonalMessage.bind(this, txData),
+ cancelTypedMessage: this.cancelTypedMessage.bind(this, txData)
}),
])
)
@@ -136,6 +140,9 @@ function currentTxView (opts) {
} else if (type === 'personal_sign') {
log.debug('rendering personal_sign message')
return h(PendingPersonalMsg, opts)
+ } else if (type === 'eth_signTypedData') {
+ log.debug('rendering eth_signTypedData message')
+ return h(PendingTypedMsg, opts)
}
}
}
@@ -184,6 +191,14 @@ ConfirmTxScreen.prototype.signPersonalMessage = function (msgData, event) {
this.props.dispatch(actions.signPersonalMsg(params))
}
+ConfirmTxScreen.prototype.signTypedMessage = function (msgData, event) {
+ log.info('conf-tx.js: signing typed message')
+ var params = msgData.msgParams
+ params.metamaskId = msgData.id
+ this.stopPropagation(event)
+ this.props.dispatch(actions.signTypedMsg(params))
+}
+
ConfirmTxScreen.prototype.cancelMessage = function (msgData, event) {
log.info('canceling message')
this.stopPropagation(event)
@@ -196,6 +211,12 @@ ConfirmTxScreen.prototype.cancelPersonalMessage = function (msgData, event) {
this.props.dispatch(actions.cancelPersonalMsg(msgData))
}
+ConfirmTxScreen.prototype.cancelTypedMessage = function (msgData, event) {
+ log.info('canceling typed message')
+ this.stopPropagation(event)
+ this.props.dispatch(actions.cancelTypedMsg(msgData))
+}
+
ConfirmTxScreen.prototype.goHome = function (event) {
this.stopPropagation(event)
this.props.dispatch(actions.goHome())