aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/scripts/controllers/transactions.js27
1 files changed, 14 insertions, 13 deletions
diff --git a/app/scripts/controllers/transactions.js b/app/scripts/controllers/transactions.js
index 42baaaadc..b855f910c 100644
--- a/app/scripts/controllers/transactions.js
+++ b/app/scripts/controllers/transactions.js
@@ -241,23 +241,24 @@ module.exports = class TransactionController extends EventEmitter {
this.txProviderUtils.publishTransaction(rawTx, (err, txHash) => {
if (err) {
- const errorMessage = err.message.toLowerCase()
/*
- Dont marked as failed if the error is because
- it's a "known" transaction
+ Dont marked as failed if the error is a "known" transaction warning
"there is already a transaction with the same sender-nonce
but higher/same gas price"
*/
-
- // geth
- if (errorMessage !== 'replacement transaction underpriced'
- // geth
- && !errorMessage.startsWith('known transaction')
- // parity
- && errorMessage !== 'gas price too low to replace'
- ) {
- this.setTxStatusFailed(txId)
- }
+ const errorMessage = err.message.toLowerCase()
+ const isKnownTx = (
+ // geth
+ errorMessage === 'replacement transaction underpriced'
+ || errorMessage.startsWith('known transaction')
+ // parity
+ || errorMessage === 'gas price too low to replace'
+ )
+ // ignore resubmit warnings, return early
+ if (isKnownTx) return cb()
+
+ // encountered unknown error, set status to failed
+ this.setTxStatusFailed(txId, err.message)
return cb(err)
}
this.setTxHash(txId, txHash)