aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/migrations/024.js
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-04-05 06:12:07 +0800
committerGitHub <noreply@github.com>2018-04-05 06:12:07 +0800
commitbcb5f14b06959a9fd147361fa341e587b45baa76 (patch)
tree72dd6dbf4c97409b54bfe857bbe8cb18b6dc7849 /app/scripts/migrations/024.js
parente1b1da9113e6d2d7adf0096bbfbbc4a807c07613 (diff)
parent245c01bc0fed585c4ac8ed05edf7ebe1a65de80b (diff)
downloadtangerine-wallet-browser-bcb5f14b06959a9fd147361fa341e587b45baa76.tar
tangerine-wallet-browser-bcb5f14b06959a9fd147361fa341e587b45baa76.tar.gz
tangerine-wallet-browser-bcb5f14b06959a9fd147361fa341e587b45baa76.tar.bz2
tangerine-wallet-browser-bcb5f14b06959a9fd147361fa341e587b45baa76.tar.lz
tangerine-wallet-browser-bcb5f14b06959a9fd147361fa341e587b45baa76.tar.xz
tangerine-wallet-browser-bcb5f14b06959a9fd147361fa341e587b45baa76.tar.zst
tangerine-wallet-browser-bcb5f14b06959a9fd147361fa341e587b45baa76.zip
Merge pull request #3879 from MetaMask/normalize-transactions
Normalize transactions
Diffstat (limited to 'app/scripts/migrations/024.js')
-rw-r--r--app/scripts/migrations/024.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/app/scripts/migrations/024.js b/app/scripts/migrations/024.js
new file mode 100644
index 000000000..7a0391805
--- /dev/null
+++ b/app/scripts/migrations/024.js
@@ -0,0 +1,45 @@
+
+const version = 24
+
+/*
+
+This migration ensures that the from address in txParams is to lower case for
+all unapproved transactions
+
+*/
+
+const clone = require('clone')
+
+module.exports = {
+ version,
+
+ migrate: function (originalVersionedData) {
+ const versionedData = clone(originalVersionedData)
+ versionedData.meta.version = version
+ try {
+ const state = versionedData.data
+ const newState = transformState(state)
+ versionedData.data = newState
+ } catch (err) {
+ console.warn(`MetaMask Migration #${version}` + err.stack)
+ }
+ return Promise.resolve(versionedData)
+ },
+}
+
+function transformState (state) {
+ const newState = state
+ const transactions = newState.TransactionController.transactions
+
+ newState.TransactionController.transactions = transactions.map((txMeta, _, txList) => {
+ if (
+ txMeta.status === 'unapproved' &&
+ txMeta.txParams &&
+ txMeta.txParams.from
+ ) {
+ txMeta.txParams.from = txMeta.txParams.from.toLowerCase()
+ }
+ return txMeta
+ })
+ return newState
+}