diff options
author | Frankie <frankie.diamond@gmail.com> | 2018-07-11 06:56:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-11 06:56:02 +0800 |
commit | 33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b (patch) | |
tree | cfc56d4ae8499be0e6acab17460921340d580baf /app/scripts | |
parent | f6de948e42ae633d40aef72595a01caa622a280d (diff) | |
parent | b30499886f5f738aeb93df2571cf07e2b9897ae1 (diff) | |
download | tangerine-wallet-browser-33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b.tar.gz tangerine-wallet-browser-33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b.tar.zst tangerine-wallet-browser-33e6b9483c61ae240d1c5c832be3eb3b5b00dc7b.zip |
Merge pull request #4667 from MetaMask/i#3896
transactions - remove rejected transactions from history
Diffstat (limited to 'app/scripts')
-rw-r--r-- | app/scripts/controllers/transactions/tx-state-manager.js | 6 | ||||
-rw-r--r-- | app/scripts/migrations/027.js | 35 |
2 files changed, 41 insertions, 0 deletions
diff --git a/app/scripts/controllers/transactions/tx-state-manager.js b/app/scripts/controllers/transactions/tx-state-manager.js index 0aae4774b..28a18ca2e 100644 --- a/app/scripts/controllers/transactions/tx-state-manager.js +++ b/app/scripts/controllers/transactions/tx-state-manager.js @@ -288,6 +288,7 @@ class TransactionStateManager extends EventEmitter { */ setTxStatusRejected (txId) { this._setTxStatus(txId, 'rejected') + this._removeTx(txId) } /** @@ -422,6 +423,11 @@ class TransactionStateManager extends EventEmitter { _saveTxList (transactions) { this.store.updateState({ transactions }) } + + _removeTx (txId) { + const transactionList = this.getFullTxList() + this._saveTxList(transactionList.filter((txMeta) => txMeta.id !== txId)) + } } module.exports = TransactionStateManager diff --git a/app/scripts/migrations/027.js b/app/scripts/migrations/027.js new file mode 100644 index 000000000..d6ebef580 --- /dev/null +++ b/app/scripts/migrations/027.js @@ -0,0 +1,35 @@ +// next version number +const version = 27 + +/* + +normalizes txParams on unconfirmed txs + +*/ +const clone = require('clone') + +module.exports = { + version, + + migrate: async function (originalVersionedData) { + const versionedData = clone(originalVersionedData) + versionedData.meta.version = version + const state = versionedData.data + const newState = transformState(state) + versionedData.data = newState + return versionedData + }, +} + +function transformState (state) { + const newState = state + + if (newState.TransactionController) { + if (newState.TransactionController.transactions) { + const transactions = newState.TransactionController.transactions + newState.TransactionController.transactions = transactions.filter((txMeta) => txMeta.status !== 'rejected') + } + } + + return newState +} |