Do not mark slowly mined txs as failed.

Fixes #1567

Also seems to fix #1556

Also improves resubmit performance by only resubmitting on `latest`.
This commit is contained in:
Dan Finlay 2017-06-14 12:01:45 -07:00
parent 1a4f982739
commit 0fd32e67d4
2 changed files with 5 additions and 8 deletions

View File

@ -3,6 +3,7 @@
## Current Master
- Add a warning to JSON file import.
- Fix bug where slowly mined txs would sometimes be incorrectly marked as failed.
## 3.7.8 2017-6-12

View File

@ -25,7 +25,7 @@ module.exports = class TransactionController extends EventEmitter {
this.query = opts.ethQuery
this.txProviderUtils = new TxProviderUtil(this.query)
this.blockTracker.on('block', this.checkForTxInBlock.bind(this))
this.blockTracker.on('block', this.resubmitPendingTxs.bind(this))
this.blockTracker.on('latest', this.resubmitPendingTxs.bind(this))
this.signEthTx = opts.signTransaction
this.nonceLock = Semaphore(1)
@ -339,7 +339,7 @@ module.exports = class TransactionController extends EventEmitter {
// checks if a signed tx is in a block and
// if included sets the tx status as 'confirmed'
checkForTxInBlock () {
var signedTxList = this.getFilteredTxList({status: 'submitted'})
var signedTxList = this.getFilteredTxList({ status: 'submitted' })
if (!signedTxList.length) return
signedTxList.forEach((txMeta) => {
var txHash = txMeta.hash
@ -430,12 +430,8 @@ module.exports = class TransactionController extends EventEmitter {
}
if (txMeta.retryCount > RETRY_LIMIT) {
txMeta.err = {
isWarning: true,
message: 'Gave up submitting tx.',
}
this.updateTx(txMeta)
return log.error(txMeta.err.message)
const message = 'Gave up submitting tx ' + txMeta.hash
return log.warning(message)
}
txMeta.retryCount++