|
|
@ -4,12 +4,13 @@ const ObservableStore = require('obs-store') |
|
|
|
const ethUtil = require('ethereumjs-util') |
|
|
|
const ethUtil = require('ethereumjs-util') |
|
|
|
const BN = ethUtil.BN |
|
|
|
const BN = ethUtil.BN |
|
|
|
const ConfigManager = require('../../app/scripts/lib/config-manager') |
|
|
|
const ConfigManager = require('../../app/scripts/lib/config-manager') |
|
|
|
|
|
|
|
const firstTimeState = require('../../app/scripts/first-time-state') |
|
|
|
const delegateCallCode = require('../lib/example-code.json').delegateCallCode |
|
|
|
const delegateCallCode = require('../lib/example-code.json').delegateCallCode |
|
|
|
|
|
|
|
const clone = require('clone') |
|
|
|
|
|
|
|
|
|
|
|
// The old way:
|
|
|
|
// The old way:
|
|
|
|
const IdentityStore = require('../../app/scripts/lib/idStore') |
|
|
|
const IdentityStore = require('../../app/scripts/lib/idStore') |
|
|
|
const STORAGE_KEY = 'metamask-config' |
|
|
|
const STORAGE_KEY = 'metamask-config' |
|
|
|
const extend = require('xtend') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// The new ways:
|
|
|
|
// The new ways:
|
|
|
|
var KeyringController = require('../../app/scripts/keyring-controller') |
|
|
|
var KeyringController = require('../../app/scripts/keyring-controller') |
|
|
@ -42,12 +43,9 @@ describe('IdentityStore to KeyringController migration', function() { |
|
|
|
// and THEN create a new one, before we can run tests on it.
|
|
|
|
// and THEN create a new one, before we can run tests on it.
|
|
|
|
beforeEach(function(done) { |
|
|
|
beforeEach(function(done) { |
|
|
|
this.sinon = sinon.sandbox.create() |
|
|
|
this.sinon = sinon.sandbox.create() |
|
|
|
window.localStorage = {} // Hacking localStorage support into JSDom
|
|
|
|
let store = new ObservableStore(clone(firstTimeState)) |
|
|
|
let store = new ObservableStore(loadData()) |
|
|
|
|
|
|
|
store.subscribe(setData) |
|
|
|
|
|
|
|
configManager = new ConfigManager({ store }) |
|
|
|
configManager = new ConfigManager({ store }) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
idStore = new IdentityStore({ |
|
|
|
idStore = new IdentityStore({ |
|
|
|
configManager: configManager, |
|
|
|
configManager: configManager, |
|
|
|
ethStore: { |
|
|
|
ethStore: { |
|
|
@ -94,53 +92,3 @@ describe('IdentityStore to KeyringController migration', function() { |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
function loadData () { |
|
|
|
|
|
|
|
var oldData = getOldStyleData() |
|
|
|
|
|
|
|
var newData |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
newData = JSON.parse(window.localStorage[STORAGE_KEY]) |
|
|
|
|
|
|
|
} catch (e) {} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var data = extend({ |
|
|
|
|
|
|
|
meta: { |
|
|
|
|
|
|
|
version: 0, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
data: { |
|
|
|
|
|
|
|
config: { |
|
|
|
|
|
|
|
provider: { |
|
|
|
|
|
|
|
type: 'testnet', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, oldData || null, newData || null) |
|
|
|
|
|
|
|
return data |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function setData (data) { |
|
|
|
|
|
|
|
window.localStorage[STORAGE_KEY] = JSON.stringify(data) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getOldStyleData () { |
|
|
|
|
|
|
|
var config, wallet, seedWords |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var result = { |
|
|
|
|
|
|
|
meta: { version: 0 }, |
|
|
|
|
|
|
|
data: {}, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
config = JSON.parse(window.localStorage['config']) |
|
|
|
|
|
|
|
result.data.config = config |
|
|
|
|
|
|
|
} catch (e) {} |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
wallet = JSON.parse(window.localStorage['lightwallet']) |
|
|
|
|
|
|
|
result.data.wallet = wallet |
|
|
|
|
|
|
|
} catch (e) {} |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
seedWords = window.localStorage['seedWords'] |
|
|
|
|
|
|
|
result.data.seedWords = seedWords |
|
|
|
|
|
|
|
} catch (e) {} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|