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

only show retry button on earliest pending tx

This commit is contained in:
Esteban MIno 2018-07-25 20:02:12 -04:00
parent 3667f3cb85
commit c8d45cb4a8
2 changed files with 14 additions and 2 deletions

View File

@ -39,11 +39,17 @@ TransactionListItem.prototype.showRetryButton = function () {
const currentNonce = txParams.nonce
const currentNonceTxs = transactions.filter(tx => tx.txParams.nonce === currentNonce)
const currentNonceSubmittedTxs = currentNonceTxs.filter(tx => tx.status === 'submitted')
const currentSubmittedTxs = transactions.filter(tx => tx.status === 'submitted')
const lastSubmittedTxWithCurrentNonce = currentNonceSubmittedTxs[0]
const currentTxIsLatestWithNonce = lastSubmittedTxWithCurrentNonce &&
lastSubmittedTxWithCurrentNonce.id === transaction.id
const lastTx = currentSubmittedTxs.reduce((tx1, tx2) => {
if (tx1.id < tx2.id) return tx1
return tx2
})
return currentTxIsLatestWithNonce && Date.now() - submittedTime > 30000
const currentTxIsLatest = lastTx.id === transaction.id
return currentTxIsLatestWithNonce && Date.now() - submittedTime > 30000 && currentTxIsLatest
}
TransactionListItem.prototype.render = function () {

View File

@ -216,11 +216,17 @@ TxListItem.prototype.showRetryButton = function () {
const currentNonce = txParams.nonce
const currentNonceTxs = selectedAddressTxList.filter(tx => tx.txParams.nonce === currentNonce)
const currentNonceSubmittedTxs = currentNonceTxs.filter(tx => tx.status === 'submitted')
const currentSubmittedTxs = selectedAddressTxList.filter(tx => tx.status === 'submitted')
const lastSubmittedTxWithCurrentNonce = currentNonceSubmittedTxs[currentNonceSubmittedTxs.length - 1]
const currentTxIsLatestWithNonce = lastSubmittedTxWithCurrentNonce &&
lastSubmittedTxWithCurrentNonce.id === transactionId
const lastTx = currentSubmittedTxs.reduce((tx1, tx2) => {
if (tx1.id < tx2.id) return tx1
return tx2
})
const currentTxIsLatest = lastTx.id === transactionId
return currentTxIsLatestWithNonce && Date.now() - transactionSubmittedTime > 30000
return currentTxIsLatestWithNonce && Date.now() - transactionSubmittedTime > 30000 && currentTxIsLatest
}
TxListItem.prototype.setSelectedToken = function (tokenAddress) {