1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Canceled, edited transactions show edited amount.

This commit is contained in:
Dan 2017-12-19 11:16:11 -03:30 committed by Chi Kei Chan
parent bccbf14b39
commit 1f1fc2c49e
5 changed files with 41 additions and 2 deletions

View File

@ -189,6 +189,11 @@ module.exports = class TransactionController extends EventEmitter {
await this.approveTransaction(txMeta.id)
}
async updateAndCancelTransaction (txMeta) {
this.txStateManager.updateTx(txMeta, 'confTx: user rejected transaction')
await this.cancelTransaction(txMeta.id)
}
async approveTransaction (txId) {
let nonceLock
try {

View File

@ -366,6 +366,7 @@ module.exports = class MetamaskController extends EventEmitter {
// txController
cancelTransaction: nodeify(txController.cancelTransaction, txController),
updateAndApproveTransaction: nodeify(txController.updateAndApproveTransaction, txController),
updateAndCancelTransaction: nodeify(txController.updateAndCancelTransaction, txController),
// messageManager
signMessage: nodeify(this.signMessage, this),

View File

@ -126,6 +126,7 @@ var actions = {
signTx: signTx,
signTokenTx: signTokenTx,
updateAndApproveTx,
updateAndCancelTx,
cancelTx: cancelTx,
completedTx: completedTx,
txError: txError,
@ -710,6 +711,24 @@ function updateAndApproveTx (txData) {
}
}
function updateAndCancelTx (txData) {
log.info('actions: updateAndCancelTx: ' + JSON.stringify(txData))
return (dispatch) => {
log.debug(`actions calling background.updateAndCancelTx`)
background.updateAndCancelTransaction(txData, (err) => {
dispatch(actions.hideLoadingIndication())
dispatch(actions.updateTransactionParams(txData.id, txData.txParams))
dispatch(actions.clearSend())
if (err) {
dispatch(actions.txError(err))
dispatch(actions.goHome())
return log.error(err.message)
}
dispatch(actions.completedTx(txData.id))
})
}
}
function completedTx (id) {
return {
type: actions.COMPLETED_TX,

View File

@ -55,6 +55,7 @@ function mapDispatchToProps (dispatch) {
dispatch(actions.showSendPage())
},
cancelTransaction: ({ id }) => dispatch(actions.cancelTx({ id })),
updateAndCancelTx: txMeta => dispatch(actions.updateAndCancelTx(txMeta)),
}
}
@ -421,7 +422,13 @@ ConfirmSendEther.prototype.onSubmit = function (event) {
ConfirmSendEther.prototype.cancel = function (event, txMeta) {
event.preventDefault()
this.props.cancelTransaction(txMeta)
const { send, updateAndCancelTx, cancelTransaction } = this.props
if (send.editingTransactionId) {
updateAndCancelTx(txMeta)
} else {
cancelTransaction(txMeta)
}
}
ConfirmSendEther.prototype.checkValidity = function () {

View File

@ -89,6 +89,7 @@ function mapDispatchToProps (dispatch, ownProps) {
}))
dispatch(actions.showSendTokenPage())
},
updateAndCancelTx: txMeta => dispatch(actions.updateAndCancelTx(txMeta)),
}
}
@ -415,7 +416,13 @@ ConfirmSendToken.prototype.onSubmit = function (event) {
ConfirmSendToken.prototype.cancel = function (event, txMeta) {
event.preventDefault()
this.props.cancelTransaction(txMeta)
const { send, updateAndCancelTx, cancelTransaction } = this.props
if (send.editingTransactionId) {
updateAndCancelTx(txMeta)
} else {
cancelTransaction(txMeta)
}
}
ConfirmSendToken.prototype.checkValidity = function () {