aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/pending-tx-tracker.js
diff options
context:
space:
mode:
authorChi Kei Chan <chikeichan@gmail.com>2017-09-19 02:38:39 +0800
committerGitHub <noreply@github.com>2017-09-19 02:38:39 +0800
commita190bb60437e2edcdf7b9be39e69f2d34f2b0957 (patch)
tree64d0547165cbed1af2df5eec1d856c6c1847448d /app/scripts/lib/pending-tx-tracker.js
parent54bbf8d8590014b92e7857f30bdc2d8f3779431a (diff)
parent162a3827c7ba418ce8180d81c54ad09d9b9560b8 (diff)
downloadtangerine-wallet-browser-a190bb60437e2edcdf7b9be39e69f2d34f2b0957.tar
tangerine-wallet-browser-a190bb60437e2edcdf7b9be39e69f2d34f2b0957.tar.gz
tangerine-wallet-browser-a190bb60437e2edcdf7b9be39e69f2d34f2b0957.tar.bz2
tangerine-wallet-browser-a190bb60437e2edcdf7b9be39e69f2d34f2b0957.tar.lz
tangerine-wallet-browser-a190bb60437e2edcdf7b9be39e69f2d34f2b0957.tar.xz
tangerine-wallet-browser-a190bb60437e2edcdf7b9be39e69f2d34f2b0957.tar.zst
tangerine-wallet-browser-a190bb60437e2edcdf7b9be39e69f2d34f2b0957.zip
Merge pull request #2116 from chikeichan/nm
[NewUI] Fix merge conflict with latest master
Diffstat (limited to 'app/scripts/lib/pending-tx-tracker.js')
-rw-r--r--app/scripts/lib/pending-tx-tracker.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/app/scripts/lib/pending-tx-tracker.js b/app/scripts/lib/pending-tx-tracker.js
index 19720db3f..b90851b58 100644
--- a/app/scripts/lib/pending-tx-tracker.js
+++ b/app/scripts/lib/pending-tx-tracker.js
@@ -1,6 +1,7 @@
const EventEmitter = require('events')
const EthQuery = require('ethjs-query')
const sufficientBalance = require('./util').sufficientBalance
+const RETRY_LIMIT = 3500 // Retry 3500 blocks, or about 1 day.
/*
Utility class for tracking the transactions as they
@@ -28,6 +29,7 @@ module.exports = class PendingTransactionTracker extends EventEmitter {
this.getBalance = config.getBalance
this.getPendingTransactions = config.getPendingTransactions
this.publishTransaction = config.publishTransaction
+ this.giveUpOnTransaction = config.giveUpOnTransaction
}
// checks if a signed tx is in a block and
@@ -100,6 +102,10 @@ module.exports = class PendingTransactionTracker extends EventEmitter {
if (balance === undefined) return
if (!('retryCount' in txMeta)) txMeta.retryCount = 0
+ if (txMeta.retryCount > RETRY_LIMIT) {
+ return this.giveUpOnTransaction(txMeta.id)
+ }
+
// if the value of the transaction is greater then the balance, fail.
if (!sufficientBalance(txMeta.txParams, balance)) {
const insufficientFundsError = new Error('Insufficient balance during rebroadcast.')
@@ -160,4 +166,4 @@ module.exports = class PendingTransactionTracker extends EventEmitter {
}
nonceGlobalLock.releaseLock()
}
-} \ No newline at end of file
+}