diff options
Merge branch 'master' into i765-gaslimits
Diffstat (limited to 'ui/app/conf-tx.js')
-rw-r--r-- | ui/app/conf-tx.js | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/ui/app/conf-tx.js b/ui/app/conf-tx.js index 0bf308990..cd4bef2b9 100644 --- a/ui/app/conf-tx.js +++ b/ui/app/conf-tx.js @@ -12,6 +12,7 @@ const BN = ethUtil.BN const PendingTx = require('./components/pending-tx') const PendingMsg = require('./components/pending-msg') +const PendingPersonalMsg = require('./components/pending-personal-msg') module.exports = connect(mapStateToProps)(ConfirmTxScreen) @@ -22,6 +23,7 @@ function mapStateToProps (state) { selectedAddress: state.metamask.selectedAddress, unapprovedTxs: state.metamask.unapprovedTxs, unapprovedMsgs: state.metamask.unapprovedMsgs, + unapprovedPersonalMsgs: state.metamask.unapprovedPersonalMsgs, index: state.appState.currentView.context, warning: state.appState.warning, network: state.metamask.network, @@ -35,14 +37,11 @@ function ConfirmTxScreen () { } ConfirmTxScreen.prototype.render = function () { - var props = this.props - - var network = props.network - var provider = props.provider - var unapprovedTxs = props.unapprovedTxs - var unapprovedMsgs = props.unapprovedMsgs + const props = this.props + const { network, provider, unapprovedTxs, + unapprovedMsgs, unapprovedPersonalMsgs } = props - var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, network) + var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, network) var index = props.index !== undefined && unconfTxList[index] ? props.index : 0 var txData = unconfTxList[index] || {} var txParams = txData.params || {} @@ -110,7 +109,9 @@ ConfirmTxScreen.prototype.render = function () { sendTransaction: this.sendTransaction.bind(this, txData), cancelTransaction: this.cancelTransaction.bind(this, txData), signMessage: this.signMessage.bind(this, txData), + signPersonalMessage: this.signPersonalMessage.bind(this, txData), cancelMessage: this.cancelMessage.bind(this, txData), + cancelPersonalMessage: this.cancelPersonalMessage.bind(this, txData), }), ]), @@ -119,18 +120,25 @@ ConfirmTxScreen.prototype.render = function () { } function currentTxView (opts) { + log.info('rendering current tx view') const { txData } = opts - const { txParams, msgParams } = txData + const { txParams, msgParams, type } = txData - log.info('rendering current tx view') if (txParams) { - // This is a pending transaction log.debug('txParams detected, rendering pending tx') return h(PendingTx, opts) + } else if (msgParams) { - // This is a pending message to sign log.debug('msgParams detected, rendering pending msg') - return h(PendingMsg, opts) + + if (type === 'eth_sign') { + log.debug('rendering eth_sign message') + return h(PendingMsg, opts) + + } else if (type === 'personal_sign') { + log.debug('rendering personal_sign message') + return h(PendingPersonalMsg, opts) + } } } @@ -162,17 +170,33 @@ ConfirmTxScreen.prototype.cancelTransaction = function (txData, event) { } ConfirmTxScreen.prototype.signMessage = function (msgData, event) { + log.info('conf-tx.js: signing message') var params = msgData.msgParams params.metamaskId = msgData.id event.stopPropagation() this.props.dispatch(actions.signMsg(params)) } +ConfirmTxScreen.prototype.signPersonalMessage = function (msgData, event) { + log.info('conf-tx.js: signing personal message') + var params = msgData.msgParams + params.metamaskId = msgData.id + event.stopPropagation() + this.props.dispatch(actions.signPersonalMsg(params)) +} + ConfirmTxScreen.prototype.cancelMessage = function (msgData, event) { + log.info('canceling message') event.stopPropagation() this.props.dispatch(actions.cancelMsg(msgData)) } +ConfirmTxScreen.prototype.cancelPersonalMessage = function (msgData, event) { + log.info('canceling personal message') + event.stopPropagation() + this.props.dispatch(actions.cancelPersonalMsg(msgData)) +} + ConfirmTxScreen.prototype.goHome = function (event) { event.stopPropagation() this.props.dispatch(actions.goHome()) @@ -180,7 +204,7 @@ ConfirmTxScreen.prototype.goHome = function (event) { function warningIfExists (warning) { if (warning && - // Do not display user rejections on this screen: + // Do not display user rejections on this screen: warning.indexOf('User denied transaction signature') === -1) { return h('.error', { style: { |