diff options
author | Kevin Serrano <kevin.serrano@consensys.net> | 2017-09-06 00:03:44 +0800 |
---|---|---|
committer | Kevin Serrano <kevin.serrano@consensys.net> | 2017-09-06 00:03:44 +0800 |
commit | e647337a8a34d8fb4b5a8081888ec32ce5fd27a0 (patch) | |
tree | 2060fcf05407d4cec876332a70d25418237a724d /app/scripts/lib/pending-tx-tracker.js | |
parent | 45fc1d6ec356232e51fe4a9cc1f01929e35e8014 (diff) | |
parent | 2885a9547187ce1ad0fb3bed1935387d901942a8 (diff) | |
download | tangerine-wallet-browser-e647337a8a34d8fb4b5a8081888ec32ce5fd27a0.tar tangerine-wallet-browser-e647337a8a34d8fb4b5a8081888ec32ce5fd27a0.tar.gz tangerine-wallet-browser-e647337a8a34d8fb4b5a8081888ec32ce5fd27a0.tar.bz2 tangerine-wallet-browser-e647337a8a34d8fb4b5a8081888ec32ce5fd27a0.tar.lz tangerine-wallet-browser-e647337a8a34d8fb4b5a8081888ec32ce5fd27a0.tar.xz tangerine-wallet-browser-e647337a8a34d8fb4b5a8081888ec32ce5fd27a0.tar.zst tangerine-wallet-browser-e647337a8a34d8fb4b5a8081888ec32ce5fd27a0.zip |
Resolve merge conflict from master
Diffstat (limited to 'app/scripts/lib/pending-tx-tracker.js')
-rw-r--r-- | app/scripts/lib/pending-tx-tracker.js | 8 |
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 +} |