aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Finlay <542863+danfinlay@users.noreply.github.com>2017-10-06 03:34:56 +0800
committerGitHub <noreply@github.com>2017-10-06 03:34:56 +0800
commit833d73da566f5d5d379f594c309318bab6eadbfb (patch)
treeb9a52ea4ca362d79b3f515e3eae78c59ded077f6
parentc880d81ec3bfcd4d46c5d454cf9828adff15a0f5 (diff)
parent554a3ac4e4f4493f318753410bb4332204f2efb7 (diff)
downloadtangerine-wallet-browser-833d73da566f5d5d379f594c309318bab6eadbfb.tar
tangerine-wallet-browser-833d73da566f5d5d379f594c309318bab6eadbfb.tar.gz
tangerine-wallet-browser-833d73da566f5d5d379f594c309318bab6eadbfb.tar.bz2
tangerine-wallet-browser-833d73da566f5d5d379f594c309318bab6eadbfb.tar.lz
tangerine-wallet-browser-833d73da566f5d5d379f594c309318bab6eadbfb.tar.xz
tangerine-wallet-browser-833d73da566f5d5d379f594c309318bab6eadbfb.tar.zst
tangerine-wallet-browser-833d73da566f5d5d379f594c309318bab6eadbfb.zip
Merge pull request #2292 from MetaMask/rebrocast-by-timeStamp
Rebrocast by time stamp
-rw-r--r--CHANGELOG.md1
-rw-r--r--app/scripts/controllers/transactions.js2
-rw-r--r--app/scripts/lib/pending-tx-tracker.js8
3 files changed, 7 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 069602915..7fc74a9d7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
## Current Master
+- Only rebrodcast transactions for a day not a days worth of blocks
- Remove Slack link from info page, since it is a big phishing target.
## 3.10.8 2017-9-28
diff --git a/app/scripts/controllers/transactions.js b/app/scripts/controllers/transactions.js
index 94e04c429..a0f983deb 100644
--- a/app/scripts/controllers/transactions.js
+++ b/app/scripts/controllers/transactions.js
@@ -59,7 +59,7 @@ module.exports = class TransactionController extends EventEmitter {
this.pendingTxTracker = new PendingTransactionTracker({
provider: this.provider,
nonceTracker: this.nonceTracker,
- retryLimit: 3500, // Retry 3500 blocks, or about 1 day.
+ retryTimePeriod: 86400000, // Retry 3500 blocks, or about 1 day.
publishTransaction: (rawTx) => this.query.sendRawTransaction(rawTx),
getPendingTransactions: this.txStateManager.getPendingTransactions.bind(this.txStateManager),
})
diff --git a/app/scripts/lib/pending-tx-tracker.js b/app/scripts/lib/pending-tx-tracker.js
index 6f1601586..8a626e222 100644
--- a/app/scripts/lib/pending-tx-tracker.js
+++ b/app/scripts/lib/pending-tx-tracker.js
@@ -22,7 +22,8 @@ module.exports = class PendingTransactionTracker extends EventEmitter {
super()
this.query = new EthQuery(config.provider)
this.nonceTracker = config.nonceTracker
- this.retryLimit = config.retryLimit || Infinity
+ // default is one day
+ this.retryTimePeriod = config.retryTimePeriod || 86400000
this.getPendingTransactions = config.getPendingTransactions
this.publishTransaction = config.publishTransaction
}
@@ -99,8 +100,9 @@ module.exports = class PendingTransactionTracker extends EventEmitter {
}
async _resubmitTx (txMeta) {
- if (txMeta.retryCount > this.retryLimit) {
- const err = new Error(`Gave up submitting after ${this.retryLimit} blocks un-mined.`)
+ if (Date.now() > txMeta.time + this.retryTimePeriod) {
+ const hours = (this.retryTimePeriod / 3.6e+6).toFixed(1)
+ const err = new Error(`Gave up submitting after ${hours} hours.`)
return this.emit('tx:failed', txMeta.id, err)
}