1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Made migrations non-destructive; fixed currency migration.

This commit is contained in:
Kevin Serrano 2017-02-15 11:14:53 -08:00
parent cd75d86187
commit 75f7c1244a
No known key found for this signature in database
GPG Key ID: 7CC862A58D2889B4
10 changed files with 49 additions and 22 deletions

View File

@ -1,9 +1,13 @@
const version = 2
const clone = require('clone')
module.exports = {
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
if (versionedData.data.config.provider.type === 'etherscan') {

View File

@ -2,10 +2,13 @@ const version = 3
const oldTestRpc = 'https://rawtestrpc.metamask.io/'
const newTestRpc = 'https://testrpc.metamask.io/'
const clone = require('clone')
module.exports = {
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
if (versionedData.data.config.provider.rpcTarget === oldTestRpc) {

View File

@ -1,25 +1,28 @@
const version = 4
const clone = require('clone')
module.exports = {
version,
version,
migrate: function (versionedData) {
versionedData.meta.version = version
let safeVersionedData = clone(versionedData)
safeVersionedData.meta.version = version
try {
if (versionedData.data.config.provider.type !== 'rpc') return Promise.resolve(versionedData)
switch (versionedData.data.config.provider.rpcTarget) {
if (safeVersionedData.data.config.provider.type !== 'rpc') return Promise.resolve(safeVersionedData)
switch (safeVersionedData.data.config.provider.rpcTarget) {
case 'https://testrpc.metamask.io/':
versionedData.data.config.provider = {
safeVersionedData.data.config.provider = {
type: 'testnet',
}
break
case 'https://rpc.metamask.io/':
versionedData.data.config.provider = {
safeVersionedData.data.config.provider = {
type: 'mainnet',
}
break
}
} catch (_) {}
return Promise.resolve(versionedData)
return Promise.resolve(safeVersionedData)
},
}

View File

@ -7,11 +7,14 @@ This migration moves state from the flat state trie into KeyringController subst
*/
const extend = require('xtend')
const clone = require('clone')
module.exports = {
version,
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
const state = versionedData.data

View File

@ -7,11 +7,13 @@ This migration moves KeyringController.selectedAddress to PreferencesController.
*/
const extend = require('xtend')
const clone = require('clone')
module.exports = {
version,
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
const state = versionedData.data

View File

@ -7,11 +7,13 @@ This migration breaks out the TransactionManager substate
*/
const extend = require('xtend')
const clone = require('clone')
module.exports = {
version,
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
const state = versionedData.data

View File

@ -7,11 +7,13 @@ This migration breaks out the NoticeController substate
*/
const extend = require('xtend')
const clone = require('clone')
module.exports = {
version,
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
const state = versionedData.data

View File

@ -7,11 +7,13 @@ This migration breaks out the CurrencyController substate
*/
const merge = require('deep-extend')
const clone = require('clone')
module.exports = {
version,
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
const state = versionedData.data
@ -27,12 +29,13 @@ module.exports = {
function transformState (state) {
const newState = merge({}, state, {
CurrencyController: {
currentCurrency: state.currentFiat || 'USD',
currentCurrency: state.currentFiat || state.fiatCurrency || 'USD',
conversionRate: state.conversionRate,
conversionDate: state.conversionDate,
},
})
delete newState.currentFiat
delete newState.fiatCurrency
delete newState.conversionRate
delete newState.conversionDate

View File

@ -7,11 +7,13 @@ This migration breaks out the CurrencyController substate
*/
const merge = require('deep-extend')
const clone = require('clone')
module.exports = {
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
const state = versionedData.data

View File

@ -6,10 +6,13 @@ This migration breaks out the CurrencyController substate
*/
const clone = require('clone')
module.exports = {
version,
migrate: function (versionedData) {
migrate: function (originalVersionedData) {
let versionedData = clone(originalVersionedData)
versionedData.meta.version = version
try {
const state = versionedData.data