diff options
author | Dan Finlay <542863+danfinlay@users.noreply.github.com> | 2018-11-17 13:27:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-17 13:27:01 +0800 |
commit | fdea642e6d5b23d4573759e4f1a1f4016557c0be (patch) | |
tree | f72b545aa959014be4e0ec53f75cf3b0d4bbf785 /app/scripts/migrations/029.js | |
parent | 1988e1e96b09a47ad5428083bb2ed38cb2d7e0a8 (diff) | |
download | tangerine-wallet-browser-fdea642e6d5b23d4573759e4f1a1f4016557c0be.tar.gz tangerine-wallet-browser-fdea642e6d5b23d4573759e4f1a1f4016557c0be.tar.zst tangerine-wallet-browser-fdea642e6d5b23d4573759e4f1a1f4016557c0be.zip |
Auto fail transactions that have been approved for over 12 hours (#5765)
* Auto fail transactions that have been approved for over 12 hours
Converts txs using a migration.
This migration uses a new helper function that generates tx-failing
migrations, and only requires a version, error message, and condition to
run on each transaction.
* Linted
* Only migrate approved txs to failed
* Cleanup
* Cleanup
* Small lint fixes
Diffstat (limited to 'app/scripts/migrations/029.js')
-rw-r--r-- | app/scripts/migrations/029.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/scripts/migrations/029.js b/app/scripts/migrations/029.js new file mode 100644 index 000000000..e17479ccc --- /dev/null +++ b/app/scripts/migrations/029.js @@ -0,0 +1,27 @@ +// next version number +const version = 29 +const failTxsThat = require('./fail-tx') + +// time +const seconds = 1000 +const minutes = 60 * seconds +const hours = 60 * minutes +const unacceptableDelay = 12 * hours + +/* + +normalizes txParams on unconfirmed txs + +*/ + +module.exports = { + version, + + migrate: failTxsThat(version, 'Stuck in approved state for too long.', (txMeta) => { + const isApproved = txMeta.status === 'approved' + const createdTime = txMeta.submittedTime + const now = Date.now() + return isApproved && now - createdTime > unacceptableDelay + }), +} + |