earliest tx by submittedTime

This commit is contained in:
Esteban MIno 2018-07-25 20:58:20 -04:00
parent c8d45cb4a8
commit b580f60d74
2 changed files with 16 additions and 10 deletions

View File

@ -36,6 +36,7 @@ TransactionListItem.prototype.showRetryButton = function () {
return false return false
} }
let currentTxIsLatest = false
const currentNonce = txParams.nonce const currentNonce = txParams.nonce
const currentNonceTxs = transactions.filter(tx => tx.txParams.nonce === currentNonce) const currentNonceTxs = transactions.filter(tx => tx.txParams.nonce === currentNonce)
const currentNonceSubmittedTxs = currentNonceTxs.filter(tx => tx.status === 'submitted') const currentNonceSubmittedTxs = currentNonceTxs.filter(tx => tx.status === 'submitted')
@ -43,12 +44,14 @@ TransactionListItem.prototype.showRetryButton = function () {
const lastSubmittedTxWithCurrentNonce = currentNonceSubmittedTxs[0] const lastSubmittedTxWithCurrentNonce = currentNonceSubmittedTxs[0]
const currentTxIsLatestWithNonce = lastSubmittedTxWithCurrentNonce && const currentTxIsLatestWithNonce = lastSubmittedTxWithCurrentNonce &&
lastSubmittedTxWithCurrentNonce.id === transaction.id lastSubmittedTxWithCurrentNonce.id === transaction.id
const lastTx = currentSubmittedTxs.reduce((tx1, tx2) => { if (currentSubmittedTxs.length > 0) {
if (tx1.id < tx2.id) return tx1 const lastTx = currentSubmittedTxs.reduce((tx1, tx2) => {
return tx2 if (tx1.submittedTime < tx2.submittedTime) return tx1
}) return tx2
})
currentTxIsLatest = lastTx.id === transaction.id
}
const currentTxIsLatest = lastTx.id === transaction.id
return currentTxIsLatestWithNonce && Date.now() - submittedTime > 30000 && currentTxIsLatest return currentTxIsLatestWithNonce && Date.now() - submittedTime > 30000 && currentTxIsLatest
} }

View File

@ -213,6 +213,7 @@ TxListItem.prototype.showRetryButton = function () {
if (!txParams) { if (!txParams) {
return false return false
} }
let currentTxIsLatest = false
const currentNonce = txParams.nonce const currentNonce = txParams.nonce
const currentNonceTxs = selectedAddressTxList.filter(tx => tx.txParams.nonce === currentNonce) const currentNonceTxs = selectedAddressTxList.filter(tx => tx.txParams.nonce === currentNonce)
const currentNonceSubmittedTxs = currentNonceTxs.filter(tx => tx.status === 'submitted') const currentNonceSubmittedTxs = currentNonceTxs.filter(tx => tx.status === 'submitted')
@ -220,11 +221,13 @@ TxListItem.prototype.showRetryButton = function () {
const lastSubmittedTxWithCurrentNonce = currentNonceSubmittedTxs[currentNonceSubmittedTxs.length - 1] const lastSubmittedTxWithCurrentNonce = currentNonceSubmittedTxs[currentNonceSubmittedTxs.length - 1]
const currentTxIsLatestWithNonce = lastSubmittedTxWithCurrentNonce && const currentTxIsLatestWithNonce = lastSubmittedTxWithCurrentNonce &&
lastSubmittedTxWithCurrentNonce.id === transactionId lastSubmittedTxWithCurrentNonce.id === transactionId
const lastTx = currentSubmittedTxs.reduce((tx1, tx2) => { if (currentSubmittedTxs.length > 0) {
if (tx1.id < tx2.id) return tx1 const lastTx = currentSubmittedTxs.reduce((tx1, tx2) => {
return tx2 if (tx1.submittedTime < tx2.submittedTime) return tx1
}) return tx2
const currentTxIsLatest = lastTx.id === transactionId })
currentTxIsLatest = lastTx.id === transactionId
}
return currentTxIsLatestWithNonce && Date.now() - transactionSubmittedTime > 30000 && currentTxIsLatest return currentTxIsLatestWithNonce && Date.now() - transactionSubmittedTime > 30000 && currentTxIsLatest
} }