Merge pull request #16516 from MetaMask/Version-v10.22.2
Version v10.22.2 RCfeature/default_network_editable
commit
5f1a5d1a3c
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 294 B After Width: | Height: | Size: 493 B |
@ -1,305 +0,0 @@ |
||||
import { ObservableStore } from '@metamask/obs-store'; |
||||
|
||||
/* eslint-disable import/first,import/order */ |
||||
const Box = process.env.IN_TEST |
||||
? require('../../../development/mock-3box') |
||||
: require('3box'); |
||||
/* eslint-enable import/order */ |
||||
|
||||
import log from 'loglevel'; |
||||
import { JsonRpcEngine } from 'json-rpc-engine'; |
||||
import { providerFromEngine } from 'eth-json-rpc-middleware'; |
||||
import Migrator from '../lib/migrator'; |
||||
import migrations from '../migrations'; |
||||
import createOriginMiddleware from '../lib/createOriginMiddleware'; |
||||
import createMetamaskMiddleware from './network/createMetamaskMiddleware'; |
||||
/* eslint-enable import/first */ |
||||
|
||||
const SYNC_TIMEOUT = 60 * 1000; // one minute
|
||||
|
||||
export default class ThreeBoxController { |
||||
constructor(opts = {}) { |
||||
const { |
||||
preferencesController, |
||||
keyringController, |
||||
addressBookController, |
||||
version, |
||||
getKeyringControllerState, |
||||
trackMetaMetricsEvent, |
||||
} = opts; |
||||
|
||||
this.preferencesController = preferencesController; |
||||
this.addressBookController = addressBookController; |
||||
this.keyringController = keyringController; |
||||
this.provider = this._createProvider({ |
||||
version, |
||||
getAccounts: async ({ origin }) => { |
||||
if (origin !== '3Box') { |
||||
return []; |
||||
} |
||||
const { isUnlocked } = getKeyringControllerState(); |
||||
|
||||
const accounts = await this.keyringController.getAccounts(); |
||||
|
||||
if (isUnlocked && accounts[0]) { |
||||
const appKeyAddress = await this.keyringController.getAppKeyAddress( |
||||
accounts[0], |
||||
'wallet://3box.metamask.io', |
||||
); |
||||
return [appKeyAddress]; |
||||
} |
||||
return []; |
||||
}, |
||||
processPersonalMessage: async (msgParams) => { |
||||
const accounts = await this.keyringController.getAccounts(); |
||||
return keyringController.signPersonalMessage( |
||||
{ ...msgParams, from: accounts[0] }, |
||||
{ |
||||
withAppKeyOrigin: 'wallet://3box.metamask.io', |
||||
}, |
||||
); |
||||
}, |
||||
}); |
||||
this._trackMetaMetricsEvent = trackMetaMetricsEvent; |
||||
|
||||
const initState = { |
||||
threeBoxSyncingAllowed: false, |
||||
showRestorePrompt: true, |
||||
threeBoxLastUpdated: 0, |
||||
...opts.initState, |
||||
threeBoxAddress: null, |
||||
threeBoxSynced: false, |
||||
threeBoxDisabled: false, |
||||
}; |
||||
this.store = new ObservableStore(initState); |
||||
this.registeringUpdates = false; |
||||
this.lastMigration = migrations |
||||
.sort((a, b) => a.version - b.version) |
||||
.slice(-1)[0]; |
||||
|
||||
if (initState.threeBoxSyncingAllowed) { |
||||
this.init(); |
||||
} |
||||
} |
||||
|
||||
async init() { |
||||
const accounts = await this.keyringController.getAccounts(); |
||||
this.address = accounts[0]; |
||||
|
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Initiated', |
||||
category: '3Box', |
||||
}); |
||||
|
||||
if (this.address && !(this.box && this.store.getState().threeBoxSynced)) { |
||||
await this.new3Box(); |
||||
} |
||||
} |
||||
|
||||
async _update3Box() { |
||||
try { |
||||
const { threeBoxSyncingAllowed, threeBoxSynced } = this.store.getState(); |
||||
if (threeBoxSyncingAllowed && threeBoxSynced) { |
||||
const newState = { |
||||
preferences: this.preferencesController.store.getState(), |
||||
addressBook: this.addressBookController.state, |
||||
lastUpdated: Date.now(), |
||||
lastMigration: this.lastMigration, |
||||
}; |
||||
|
||||
await this.space.private.set( |
||||
'metamaskBackup', |
||||
JSON.stringify(newState), |
||||
); |
||||
await this.setShowRestorePromptToFalse(); |
||||
} |
||||
} catch (error) { |
||||
console.error(error); |
||||
} |
||||
} |
||||
|
||||
_createProvider(providerOpts) { |
||||
const metamaskMiddleware = createMetamaskMiddleware(providerOpts); |
||||
const engine = new JsonRpcEngine(); |
||||
engine.push(createOriginMiddleware({ origin: '3Box' })); |
||||
engine.push(metamaskMiddleware); |
||||
const provider = providerFromEngine(engine); |
||||
return provider; |
||||
} |
||||
|
||||
_waitForOnSyncDone() { |
||||
return new Promise((resolve) => { |
||||
this.box.onSyncDone(() => { |
||||
log.debug('3Box box sync done'); |
||||
return resolve(); |
||||
}); |
||||
}); |
||||
} |
||||
|
||||
async new3Box() { |
||||
const accounts = await this.keyringController.getAccounts(); |
||||
this.address = await this.keyringController.getAppKeyAddress( |
||||
accounts[0], |
||||
'wallet://3box.metamask.io', |
||||
); |
||||
let backupExists; |
||||
try { |
||||
const threeBoxConfig = await Box.getConfig(this.address); |
||||
backupExists = threeBoxConfig.spaces && threeBoxConfig.spaces.metamask; |
||||
} catch (e) { |
||||
if (e.message.match(/^Error: Invalid response \(404\)/u)) { |
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Backup does not exist', |
||||
category: '3Box', |
||||
}); |
||||
|
||||
backupExists = false; |
||||
} else { |
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Config Error', |
||||
category: '3Box', |
||||
}); |
||||
|
||||
throw e; |
||||
} |
||||
} |
||||
if (this.getThreeBoxSyncingState() || backupExists) { |
||||
this.store.updateState({ threeBoxSynced: false }); |
||||
|
||||
let timedOut = false; |
||||
const syncTimeout = setTimeout(() => { |
||||
log.error(`3Box sync timed out after ${SYNC_TIMEOUT} ms`); |
||||
timedOut = true; |
||||
this.store.updateState({ |
||||
threeBoxDisabled: true, |
||||
threeBoxSyncingAllowed: false, |
||||
}); |
||||
}, SYNC_TIMEOUT); |
||||
try { |
||||
this.box = await Box.openBox(this.address, this.provider); |
||||
await this._waitForOnSyncDone(); |
||||
this.space = await this.box.openSpace('metamask', { |
||||
onSyncDone: async () => { |
||||
const stateUpdate = { |
||||
threeBoxSynced: true, |
||||
threeBoxAddress: this.address, |
||||
}; |
||||
if (timedOut) { |
||||
log.info(`3Box sync completed after timeout; no longer disabled`); |
||||
stateUpdate.threeBoxDisabled = false; |
||||
} |
||||
|
||||
clearTimeout(syncTimeout); |
||||
this.store.updateState(stateUpdate); |
||||
|
||||
log.debug('3Box space sync done'); |
||||
|
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Synced', |
||||
category: '3Box', |
||||
}); |
||||
}, |
||||
}); |
||||
} catch (e) { |
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Initiation Error', |
||||
category: '3Box', |
||||
}); |
||||
|
||||
console.error(e); |
||||
throw e; |
||||
} |
||||
} |
||||
} |
||||
|
||||
async getLastUpdated() { |
||||
const res = await this.space.private.get('metamaskBackup'); |
||||
const parsedRes = JSON.parse(res || '{}'); |
||||
return parsedRes.lastUpdated; |
||||
} |
||||
|
||||
async migrateBackedUpState(backedUpState) { |
||||
const migrator = new Migrator({ migrations }); |
||||
const { preferences, addressBook } = JSON.parse(backedUpState); |
||||
const formattedStateBackup = { |
||||
PreferencesController: preferences, |
||||
AddressBookController: addressBook, |
||||
}; |
||||
const initialMigrationState = |
||||
migrator.generateInitialState(formattedStateBackup); |
||||
const migratedState = await migrator.migrateData(initialMigrationState); |
||||
return { |
||||
preferences: migratedState.data.PreferencesController, |
||||
addressBook: migratedState.data.AddressBookController, |
||||
}; |
||||
} |
||||
|
||||
async restoreFromThreeBox() { |
||||
const backedUpState = await this.space.private.get('metamaskBackup'); |
||||
const { preferences, addressBook } = await this.migrateBackedUpState( |
||||
backedUpState, |
||||
); |
||||
this.store.updateState({ threeBoxLastUpdated: backedUpState.lastUpdated }); |
||||
preferences && this.preferencesController.store.updateState(preferences); |
||||
addressBook && this.addressBookController.update(addressBook, true); |
||||
this.setShowRestorePromptToFalse(); |
||||
|
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Restored Data', |
||||
category: '3Box', |
||||
}); |
||||
} |
||||
|
||||
turnThreeBoxSyncingOn() { |
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Sync Turned On', |
||||
category: '3Box', |
||||
}); |
||||
|
||||
this._registerUpdates(); |
||||
} |
||||
|
||||
turnThreeBoxSyncingOff() { |
||||
this._trackMetaMetricsEvent({ |
||||
event: '3Box Sync Turned Off', |
||||
category: '3Box', |
||||
}); |
||||
|
||||
this.box.logout(); |
||||
} |
||||
|
||||
setShowRestorePromptToFalse() { |
||||
this.store.updateState({ showRestorePrompt: false }); |
||||
} |
||||
|
||||
setThreeBoxSyncingPermission(newThreeboxSyncingState) { |
||||
if (this.store.getState().threeBoxDisabled) { |
||||
return; |
||||
} |
||||
this.store.updateState({ |
||||
threeBoxSyncingAllowed: newThreeboxSyncingState, |
||||
}); |
||||
|
||||
if (newThreeboxSyncingState && this.box) { |
||||
this.turnThreeBoxSyncingOn(); |
||||
} |
||||
|
||||
if (!newThreeboxSyncingState && this.box) { |
||||
this.turnThreeBoxSyncingOff(); |
||||
} |
||||
} |
||||
|
||||
getThreeBoxSyncingState() { |
||||
return this.store.getState().threeBoxSyncingAllowed; |
||||
} |
||||
|
||||
_registerUpdates() { |
||||
if (!this.registeringUpdates) { |
||||
const updatePreferences = this._update3Box.bind(this); |
||||
this.preferencesController.store.subscribe(updatePreferences); |
||||
const updateAddressBook = this._update3Box.bind(this); |
||||
this.addressBookController.subscribe(updateAddressBook); |
||||
this.registeringUpdates = true; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,79 @@ |
||||
import browser from 'webextension-polyfill'; |
||||
import LocalStore from './local-store'; |
||||
|
||||
jest.mock('webextension-polyfill', () => ({ |
||||
storage: { local: true }, |
||||
})); |
||||
|
||||
const setup = ({ isSupported }) => { |
||||
browser.storage.local = isSupported; |
||||
return new LocalStore(); |
||||
}; |
||||
describe('LocalStore', () => { |
||||
afterEach(() => { |
||||
jest.resetModules(); |
||||
}); |
||||
describe('contructor', () => { |
||||
it('should set isSupported property to false when browser does not support local storage', () => { |
||||
const localStore = setup({ isSupported: false }); |
||||
|
||||
expect(localStore.isSupported).toBe(false); |
||||
}); |
||||
|
||||
it('should set isSupported property to true when browser supports local storage', () => { |
||||
const localStore = setup({ isSupported: true }); |
||||
expect(localStore.isSupported).toBe(true); |
||||
}); |
||||
}); |
||||
|
||||
describe('setMetadata', () => { |
||||
it('should set the metadata property on LocalStore', () => { |
||||
const metadata = { version: 74 }; |
||||
const localStore = setup({ isSupported: true }); |
||||
localStore.setMetadata(metadata); |
||||
|
||||
expect(localStore.metadata).toStrictEqual(metadata); |
||||
}); |
||||
}); |
||||
|
||||
describe('set', () => { |
||||
it('should throw an error if called in a browser that does not support local storage', async () => { |
||||
const localStore = setup({ isSupported: false }); |
||||
await expect(() => localStore.set()).rejects.toThrow( |
||||
'Metamask- cannot persist state to local store as this browser does not support this action', |
||||
); |
||||
}); |
||||
|
||||
it('should throw an error if not passed a truthy value as an argument', async () => { |
||||
const localStore = setup({ isSupported: true }); |
||||
await expect(() => localStore.set()).rejects.toThrow( |
||||
'MetaMask - updated state is missing', |
||||
); |
||||
}); |
||||
|
||||
it('should throw an error if passed a valid argument but metadata has not yet been set', async () => { |
||||
const localStore = setup({ isSupported: true }); |
||||
await expect(() => |
||||
localStore.set({ appState: { test: true } }), |
||||
).rejects.toThrow( |
||||
'MetaMask - metadata must be set on instance of ExtensionStore before calling "set"', |
||||
); |
||||
}); |
||||
|
||||
it('should not throw if passed a valid argument and metadata has been set', async () => { |
||||
const localStore = setup({ isSupported: true }); |
||||
localStore.setMetadata({ version: 74 }); |
||||
await expect(async function () { |
||||
localStore.set({ appState: { test: true } }); |
||||
}).not.toThrow(); |
||||
}); |
||||
}); |
||||
|
||||
describe('get', () => { |
||||
it('should return undefined if called in a browser that does not support local storage', async () => { |
||||
const localStore = setup({ isSupported: false }); |
||||
const result = await localStore.get(); |
||||
expect(result).toStrictEqual(undefined); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,275 @@ |
||||
import removeSlash from 'remove-trailing-slash'; |
||||
import looselyValidate from '@segment/loosely-validate-event'; |
||||
import { isString } from 'lodash'; |
||||
import isRetryAllowed from 'is-retry-allowed'; |
||||
|
||||
const noop = () => ({}); |
||||
|
||||
// Taken from https://stackoverflow.com/a/1349426/3696652
|
||||
const characters = |
||||
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
||||
const generateRandomId = () => { |
||||
let result = ''; |
||||
const charactersLength = characters.length; |
||||
for (let i = 0; i < 20; i++) { |
||||
result += characters.charAt(Math.floor(Math.random() * charactersLength)); |
||||
} |
||||
return result; |
||||
}; |
||||
|
||||
// Method below is inspired from axios-retry https://github.com/softonic/axios-retry
|
||||
function isNetworkError(error) { |
||||
return ( |
||||
!error.response && |
||||
Boolean(error.code) && // Prevents retrying cancelled requests
|
||||
error.code !== 'ECONNABORTED' && // Prevents retrying timed out requests
|
||||
isRetryAllowed(error) |
||||
); // Prevents retrying unsafe errors
|
||||
} |
||||
|
||||
export default class Analytics { |
||||
/** |
||||
* Initialize a new `Analytics` with Segment project's `writeKey` and an |
||||
* optional dictionary of `options`. |
||||
* |
||||
* @param {string} writeKey |
||||
* @param {object} [options] - (optional) |
||||
* @property {number} [flushAt] (default: 20) |
||||
* @property {number} [flushInterval] (default: 10000) |
||||
* @property {string} [host] (default: 'https://api.segment.io') |
||||
*/ |
||||
constructor(writeKey, options = {}) { |
||||
this.writeKey = writeKey; |
||||
|
||||
this.host = removeSlash(options.host || 'https://api.segment.io'); |
||||
this.flushInterval = options.flushInterval || 10000; |
||||
this.flushAt = options.flushAt || Math.max(options.flushAt, 1) || 20; |
||||
|
||||
this.queue = []; |
||||
this.path = '/v1/batch'; |
||||
this.maxQueueSize = 1024 * 450; |
||||
this.flushed = false; |
||||
this.retryCount = 3; |
||||
|
||||
Object.defineProperty(this, 'enable', { |
||||
configurable: false, |
||||
writable: false, |
||||
enumerable: true, |
||||
value: true, |
||||
}); |
||||
} |
||||
|
||||
_validate(message, type) { |
||||
looselyValidate(message, type); |
||||
} |
||||
|
||||
_message(type, message, callback) { |
||||
this._validate(message, type); |
||||
this.enqueue(type, message, callback); |
||||
return this; |
||||
} |
||||
|
||||
/** |
||||
* Send an identify `message`. |
||||
* |
||||
* @param {object} message |
||||
* @param {Function} [callback] - (optional) |
||||
* @returns {Analytics} |
||||
*/ |
||||
identify(message, callback) { |
||||
return this._message('identify', message, callback); |
||||
} |
||||
|
||||
/** |
||||
* Send a track `message`. |
||||
* |
||||
* @param {object} message |
||||
* @param {Function} [callback] - (optional) |
||||
* @returns {Analytics} |
||||
*/ |
||||
track(message, callback) { |
||||
return this._message('track', message, callback); |
||||
} |
||||
|
||||
/** |
||||
* Send a page `message`. |
||||
* |
||||
* @param {object} message |
||||
* @param {Function} [callback] - (optional) |
||||
* @returns {Analytics} |
||||
*/ |
||||
page(message, callback) { |
||||
return this._message('page', message, callback); |
||||
} |
||||
|
||||
/** |
||||
* Add a `message` of type `type` to the queue and |
||||
* check whether it should be flushed. |
||||
* |
||||
* @param {string} type |
||||
* @param {object} msg |
||||
* @param {Function} [callback] - (optional) |
||||
*/ |
||||
enqueue(type, msg, callback = noop) { |
||||
if (!this.enable) { |
||||
setImmediate(callback); |
||||
return; |
||||
} |
||||
|
||||
const message = { ...msg, type }; |
||||
|
||||
// Specifying library here helps segment to understand structure of request.
|
||||
// Currently segment seems to support these source libraries only.
|
||||
message.context = { |
||||
...message.context, |
||||
library: { |
||||
name: 'analytics-node', |
||||
}, |
||||
}; |
||||
|
||||
if (!message.timestamp) { |
||||
message.timestamp = new Date(); |
||||
} |
||||
|
||||
if (!message.messageId) { |
||||
message.messageId = generateRandomId(); |
||||
} |
||||
|
||||
if (message.anonymousId && !isString(message.anonymousId)) { |
||||
message.anonymousId = JSON.stringify(message.anonymousId); |
||||
} |
||||
if (message.userId && !isString(message.userId)) { |
||||
message.userId = JSON.stringify(message.userId); |
||||
} |
||||
this.queue.push({ message, callback }); |
||||
|
||||
if (!this.flushed) { |
||||
this.flushed = true; |
||||
this.flush(); |
||||
return; |
||||
} |
||||
|
||||
const hasReachedFlushAt = this.queue.length >= this.flushAt; |
||||
const hasReachedQueueSize = |
||||
this.queue.reduce((acc, item) => acc + JSON.stringify(item).length, 0) >= |
||||
this.maxQueueSize; |
||||
if (hasReachedFlushAt || hasReachedQueueSize) { |
||||
this.flush(); |
||||
} |
||||
|
||||
if (this.flushInterval && !this.timer) { |
||||
this.timer = setTimeout(this.flush.bind(this), this.flushInterval); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Flush the current queue |
||||
* |
||||
* @param {Function} [callback] - (optional) |
||||
*/ |
||||
flush(callback = noop) { |
||||
if (!this.enable) { |
||||
setImmediate(callback); |
||||
return Promise.resolve(); |
||||
} |
||||
|
||||
if (this.timer) { |
||||
clearTimeout(this.timer); |
||||
this.timer = null; |
||||
} |
||||
|
||||
if (!this.queue.length) { |
||||
setImmediate(callback); |
||||
return Promise.resolve(); |
||||
} |
||||
|
||||
const items = this.queue.splice(0, this.flushAt); |
||||
const callbacks = items.map((item) => item.callback); |
||||
const messages = items.map((item) => item.message); |
||||
|
||||
const data = { |
||||
batch: messages, |
||||
timestamp: new Date(), |
||||
sentAt: new Date(), |
||||
}; |
||||
|
||||
const done = (err) => { |
||||
setImmediate(() => { |
||||
callbacks.forEach((fn) => fn(err, data)); |
||||
callback(err, data); |
||||
}); |
||||
}; |
||||
|
||||
const headers = { |
||||
Authorization: `Basic ${Buffer.from(this.writeKey, 'utf8').toString( |
||||
'base64', |
||||
)}`,
|
||||
}; |
||||
|
||||
return this._sendRequest( |
||||
`${this.host}${this.path}`, |
||||
{ |
||||
method: 'POST', |
||||
body: JSON.stringify(data), |
||||
headers, |
||||
}, |
||||
done, |
||||
0, |
||||
); |
||||
} |
||||
|
||||
_retryRequest(url, body, done, retryNo) { |
||||
const delay = Math.pow(2, retryNo) * 100; |
||||
setTimeout(() => { |
||||
this._sendRequest(url, body, done, retryNo + 1); |
||||
}, delay); |
||||
} |
||||
|
||||
async _sendRequest(url, body, done, retryNo) { |
||||
return fetch(url, body) |
||||
.then(async (response) => { |
||||
if (response.ok) { |
||||
done(); |
||||
} else if ( |
||||
this._isErrorRetryable({ response }) && |
||||
retryNo <= this.retryCount |
||||
) { |
||||
this._retryRequest(url, body, done, retryNo); |
||||
} else { |
||||
const error = new Error(response.statusText); |
||||
done(error); |
||||
} |
||||
}) |
||||
.catch((error) => { |
||||
if (this._isErrorRetryable(error) && retryNo <= this.retryCount) { |
||||
this._retryRequest(url, body, done, retryNo); |
||||
} else { |
||||
done(error); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
_isErrorRetryable(error) { |
||||
// Retry Network Errors.
|
||||
if (isNetworkError(error)) { |
||||
return true; |
||||
} |
||||
|
||||
if (!error.response) { |
||||
// Cannot determine if the request can be retried
|
||||
return false; |
||||
} |
||||
|
||||
// Retry Server Errors (5xx).
|
||||
if (error.response.status >= 500 && error.response.status <= 599) { |
||||
return true; |
||||
} |
||||
|
||||
// Retry if rate limited.
|
||||
if (error.response.status === 429) { |
||||
return true; |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
} |
@ -0,0 +1,116 @@ |
||||
import Analytics from './analytics'; |
||||
|
||||
const DUMMY_KEY = 'DUMMY_KEY'; |
||||
const DUMMY_MESSAGE = { |
||||
userId: 'userId', |
||||
idValue: 'idValue', |
||||
event: 'event', |
||||
}; |
||||
const FLUSH_INTERVAL = 10000; |
||||
|
||||
global.setImmediate = (arg) => { |
||||
arg(); |
||||
}; |
||||
|
||||
global.fetch = () => |
||||
Promise.resolve({ |
||||
ok: true, |
||||
json: () => Promise.resolve({ success: true }), |
||||
}); |
||||
|
||||
describe('Analytics', function () { |
||||
let analytics; |
||||
|
||||
beforeEach(() => { |
||||
analytics = new Analytics(DUMMY_KEY); |
||||
}); |
||||
|
||||
describe('#flush', function () { |
||||
it('first message is immediately flushed', function () { |
||||
const mock = jest.fn(analytics.flush); |
||||
analytics.flush = mock; |
||||
analytics.track(DUMMY_MESSAGE); |
||||
expect(analytics.queue).toHaveLength(0); |
||||
expect(mock).toHaveBeenCalledTimes(1); |
||||
}); |
||||
|
||||
it('after first message it is called when queue size equals flushAt value', function () { |
||||
analytics = new Analytics(DUMMY_KEY, { flushAt: 3 }); |
||||
const mock = jest.fn(analytics.flush); |
||||
analytics.flush = mock; |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
expect(analytics.queue).toHaveLength(0); |
||||
expect(mock).toHaveBeenCalledTimes(2); |
||||
}); |
||||
|
||||
it('except for first message it is called until queue size is less than flushAt value', function () { |
||||
analytics = new Analytics(DUMMY_KEY, { flushAt: 3 }); |
||||
const mock = jest.fn(analytics.flush); |
||||
analytics.flush = mock; |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
expect(analytics.queue).toHaveLength(2); |
||||
expect(mock).toHaveBeenCalledTimes(1); |
||||
}); |
||||
|
||||
it('after first message it is called after flushInterval is elapsed', function () { |
||||
jest.useFakeTimers(); |
||||
analytics = new Analytics(DUMMY_KEY, { flushInterval: FLUSH_INTERVAL }); |
||||
const mock = jest.fn(analytics.flush); |
||||
analytics.flush = mock; |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
jest.advanceTimersByTime(FLUSH_INTERVAL); |
||||
expect(analytics.queue).toHaveLength(0); |
||||
expect(mock).toHaveBeenCalledTimes(2); |
||||
}); |
||||
|
||||
it('after first message it is not called until flushInterval is elapsed', function () { |
||||
jest.useFakeTimers(); |
||||
analytics = new Analytics(DUMMY_KEY, { flushInterval: FLUSH_INTERVAL }); |
||||
const mock = jest.fn(analytics.flush); |
||||
analytics.flush = mock; |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
jest.advanceTimersByTime(FLUSH_INTERVAL - 100); |
||||
expect(analytics.queue).toHaveLength(1); |
||||
expect(mock).toHaveBeenCalledTimes(1); |
||||
}); |
||||
|
||||
it('invokes callbacks', async function () { |
||||
const callback = jest.fn(); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE, callback); |
||||
await analytics.flush(); |
||||
expect(callback).toHaveBeenCalledTimes(1); |
||||
}); |
||||
}); |
||||
|
||||
describe('#track', function () { |
||||
it('adds messages to ququq', function () { |
||||
analytics.track(DUMMY_MESSAGE); |
||||
analytics.track(DUMMY_MESSAGE); |
||||
expect(analytics.queue).toHaveLength(1); |
||||
}); |
||||
}); |
||||
|
||||
describe('#page', function () { |
||||
it('adds messages to ququq', function () { |
||||
analytics.page(DUMMY_MESSAGE); |
||||
analytics.page(DUMMY_MESSAGE); |
||||
expect(analytics.queue).toHaveLength(1); |
||||
}); |
||||
}); |
||||
|
||||
describe('#identify', function () { |
||||
it('adds messages to ququq', function () { |
||||
analytics.identify(DUMMY_MESSAGE); |
||||
analytics.identify(DUMMY_MESSAGE); |
||||
expect(analytics.queue).toHaveLength(1); |
||||
}); |
||||
}); |
||||
}); |
@ -1,5 +1,5 @@ |
||||
import Analytics from 'analytics-node'; |
||||
import { SECOND } from '../../../shared/constants/time'; |
||||
import { SECOND } from '../../../../shared/constants/time'; |
||||
import Analytics from './analytics'; |
||||
|
||||
const SEGMENT_WRITE_KEY = process.env.SEGMENT_WRITE_KEY ?? null; |
||||
const SEGMENT_HOST = process.env.SEGMENT_HOST ?? null; |
@ -0,0 +1,23 @@ |
||||
import { cloneDeep } from 'lodash'; |
||||
|
||||
const version = 75; |
||||
|
||||
/** |
||||
* Delete the ThreeBoxController. |
||||
*/ |
||||
export default { |
||||
version, |
||||
async migrate(originalVersionedData) { |
||||
const versionedData = cloneDeep(originalVersionedData); |
||||
versionedData.meta.version = version; |
||||
const state = versionedData.data; |
||||
const newState = transformState(state); |
||||
versionedData.data = newState; |
||||
return versionedData; |
||||
}, |
||||
}; |
||||
|
||||
function transformState(state) { |
||||
delete state.ThreeBoxController; |
||||
return state; |
||||
} |
@ -0,0 +1,63 @@ |
||||
import migration75 from './075'; |
||||
|
||||
describe('migration #75', () => { |
||||
it('should update the version metadata', async () => { |
||||
const oldStorage = { |
||||
meta: { |
||||
version: 74, |
||||
}, |
||||
data: {}, |
||||
}; |
||||
|
||||
const newStorage = await migration75.migrate(oldStorage); |
||||
expect(newStorage.meta).toStrictEqual({ |
||||
version: 75, |
||||
}); |
||||
}); |
||||
|
||||
it('should delete the ThreeBoxController', async () => { |
||||
const oldStorage = { |
||||
meta: { |
||||
version: 74, |
||||
}, |
||||
data: { |
||||
FooController: { a: 'b' }, |
||||
ThreeBoxController: { |
||||
stuff: 'stuff!', |
||||
moreStuff: { moreStuff: ['stuff', 'stuff', 'stuff'] }, |
||||
}, |
||||
}, |
||||
}; |
||||
|
||||
const newStorage = await migration75.migrate(oldStorage); |
||||
expect(newStorage).toStrictEqual({ |
||||
meta: { |
||||
version: 75, |
||||
}, |
||||
data: { |
||||
FooController: { a: 'b' }, |
||||
}, |
||||
}); |
||||
}); |
||||
|
||||
it('should handle missing ThreeBoxController', async () => { |
||||
const oldStorage = { |
||||
meta: { |
||||
version: 74, |
||||
}, |
||||
data: { |
||||
FooController: { a: 'b' }, |
||||
}, |
||||
}; |
||||
|
||||
const newStorage = await migration75.migrate(oldStorage); |
||||
expect(newStorage).toStrictEqual({ |
||||
meta: { |
||||
version: 75, |
||||
}, |
||||
data: { |
||||
FooController: { a: 'b' }, |
||||
}, |
||||
}); |
||||
}); |
||||
}); |
@ -1,68 +0,0 @@ |
||||
function delay(time) { |
||||
return new Promise((resolve) => setTimeout(resolve, time)); |
||||
} |
||||
|
||||
async function loadFromMock3Box(key) { |
||||
const res = await window.fetch(`http://localhost:8889?key=${key}`); |
||||
const text = await res.text(); |
||||
return text.length ? JSON.parse(text) : null; |
||||
} |
||||
|
||||
async function saveToMock3Box(key, newDataAtKey) { |
||||
const res = await window.fetch('http://localhost:8889', { |
||||
method: 'POST', |
||||
body: JSON.stringify({ |
||||
key, |
||||
data: newDataAtKey, |
||||
}), |
||||
}); |
||||
|
||||
return res.text(); |
||||
} |
||||
|
||||
class Mock3Box { |
||||
static openBox(address) { |
||||
this.address = address; |
||||
return Promise.resolve({ |
||||
onSyncDone: (cb) => { |
||||
setTimeout(cb, 200); |
||||
}, |
||||
openSpace: async (spaceName, config) => { |
||||
const { onSyncDone } = config; |
||||
this.spaceName = spaceName; |
||||
|
||||
setTimeout(onSyncDone, 150); |
||||
|
||||
await delay(50); |
||||
|
||||
return { |
||||
private: { |
||||
get: async (key) => { |
||||
await delay(50); |
||||
const res = await loadFromMock3Box( |
||||
`${this.address}-${this.spaceName}-${key}`, |
||||
); |
||||
return res; |
||||
}, |
||||
set: async (key, data) => { |
||||
await saveToMock3Box( |
||||
`${this.address}-${this.spaceName}-${key}`, |
||||
data, |
||||
); |
||||
await delay(50); |
||||
return null; |
||||
}, |
||||
}, |
||||
}; |
||||
}, |
||||
logout: () => undefined, |
||||
}); |
||||
} |
||||
|
||||
static async getConfig(address) { |
||||
const backup = await loadFromMock3Box(`${address}-metamask-metamaskBackup`); |
||||
return backup ? { spaces: { metamask: {} } } : {}; |
||||
} |
||||
} |
||||
|
||||
module.exports = Mock3Box; |
@ -1,10 +1,3 @@ |
||||
# End-to-end tests |
||||
|
||||
This directory contains the fixture data used to bootstrap the individual e2e tests. Each sub-directory contains |
||||
one thing: |
||||
|
||||
1. A `state.json` file that represents a the saved state for the extension (see _Generating fixture data_ below) |
||||
|
||||
## Generating fixture data |
||||
|
||||
Fixture data can be generated by following these steps: |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,37 +0,0 @@ |
||||
lazy precompute for faster module initialization
|
||||
|
||||
diff --git a/node_modules/secp256k1/lib/js/ecpointg.js b/node_modules/secp256k1/lib/js/ecpointg.js
|
||||
index 0144364..09a87c5 100644
|
||||
--- a/node_modules/secp256k1/lib/js/ecpointg.js
|
||||
+++ b/node_modules/secp256k1/lib/js/ecpointg.js
|
||||
@@ -8,11 +8,12 @@ function ECPointG () {
|
||||
this.x = BN.fromBuffer(Buffer.from('79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798', 'hex'))
|
||||
this.y = BN.fromBuffer(Buffer.from('483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8', 'hex'))
|
||||
this.inf = false
|
||||
-
|
||||
- this._precompute()
|
||||
+ this.precomputed = undefined
|
||||
}
|
||||
|
||||
ECPointG.prototype._precompute = function () {
|
||||
+ if (this.precomputed !== undefined) return
|
||||
+
|
||||
var ecpoint = new ECPoint(this.x, this.y)
|
||||
|
||||
var dstep = 4
|
||||
@@ -34,6 +35,7 @@ ECPointG.prototype._precompute = function () {
|
||||
}
|
||||
|
||||
ECPointG.prototype.mul = function (num) {
|
||||
+ this._precompute()
|
||||
// Algorithm 3.42 Fixed-base NAF windowing method for point multiplication
|
||||
var step = this.precomputed.doubles.step
|
||||
var points = this.precomputed.doubles.points
|
||||
@@ -68,6 +70,7 @@ ECPointG.prototype.mul = function (num) {
|
||||
}
|
||||
|
||||
ECPointG.prototype.mulAdd = function (k1, p2, k2) {
|
||||
+ this._precompute()
|
||||
var nafPointsP1 = this.precomputed.naf
|
||||
var nafPointsP2 = p2._getNAFPoints1()
|
||||
var wnd = [nafPointsP1.points, nafPointsP2.points]
|
@ -1 +1,3 @@ |
||||
export const AUTO_LOCK_TIMEOUT_ALARM = 'AUTO_LOCK_TIMEOUT_ALARM'; |
||||
export const METAMETRICS_FINALIZE_EVENT_FRAGMENT_ALARM = |
||||
'METAMETRICS_FINALIZE_EVENT_FRAGMENT_ALARM'; |
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,169 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AddressBookController": { |
||||
"addressBook": { |
||||
"0x539": { |
||||
"0x2f318C334780961FB129D2a6c30D0763d9a5C970": { |
||||
"address": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"chainId": "0x539", |
||||
"isEns": false, |
||||
"memo": "", |
||||
"name": "Test Name 1" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"swapsWelcomeMessageHasBeenShown": true, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,200 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"connectedStatusPopoverHasBeenShown": false, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {}, |
||||
"1337": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": "0x15af1d78b58c40000" |
||||
} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1594348502.519, |
||||
"conversionRate": 240.09, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null, |
||||
"localhost": 98 |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
}, |
||||
"network": "1337" |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 1764280960, |
||||
"method": "eth_requestAccounts", |
||||
"methodType": "restricted", |
||||
"origin": "http://127.0.0.1:8080", |
||||
"request": { |
||||
"method": "eth_requestAccounts", |
||||
"jsonrpc": "2.0", |
||||
"id": 1764280960, |
||||
"origin": "http://127.0.0.1:8080", |
||||
"tabId": 2 |
||||
}, |
||||
"requestTime": 1594348329232, |
||||
"response": { |
||||
"id": 1764280960, |
||||
"jsonrpc": "2.0", |
||||
"result": ["0x5cfe73b6021e818b776b421b1c4db2474086a7e1"] |
||||
}, |
||||
"responseTime": 1594348332276, |
||||
"success": true |
||||
} |
||||
], |
||||
"permissionsHistory": { |
||||
"http://127.0.0.1:8080": { |
||||
"eth_accounts": { |
||||
"accounts": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": 1594348332276 |
||||
}, |
||||
"lastApproved": 1594348332276 |
||||
} |
||||
} |
||||
}, |
||||
"domainMetadata": { |
||||
"http://127.0.0.1:8080": { |
||||
"name": "E2E Test Dapp", |
||||
"icon": "http://127.0.0.1:8080/metamask-fox.svg", |
||||
"lastUpdated": 1594348323811, |
||||
"host": "127.0.0.1:8080" |
||||
} |
||||
} |
||||
}, |
||||
"PreferencesController": { |
||||
"frequentRpcListDetail": [], |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"tokens": [], |
||||
"suggestedTokens": {}, |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"knownMethodData": {}, |
||||
"participateInMetaMetrics": false, |
||||
"firstTimeFlowType": "create", |
||||
"currentLocale": "en", |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"lostIdentities": {}, |
||||
"forgottenPassword": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"completedOnboarding": true, |
||||
"metaMetricsId": null, |
||||
"ipfsGateway": "dweb.link", |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1" |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
}, |
||||
"PermissionsController": { |
||||
"permissionsRequests": [], |
||||
"permissionsDescriptions": {}, |
||||
"domains": { |
||||
"http://127.0.0.1:8080": { |
||||
"permissions": [ |
||||
{ |
||||
"@context": ["https://github.com/MetaMask/rpc-cap"], |
||||
"parentCapability": "eth_accounts", |
||||
"id": "f55a1c15-ea48-4088-968e-63be474d42fa", |
||||
"date": 1594348332268, |
||||
"invoker": "http://127.0.0.1:8080", |
||||
"caveats": [ |
||||
{ |
||||
"type": "limitResponseLength", |
||||
"value": 1, |
||||
"name": "primaryAccountOnly" |
||||
}, |
||||
{ |
||||
"type": "filterResponse", |
||||
"value": ["0x5cfe73b6021e818b776b421b1c4db2474086a7e1"], |
||||
"name": "exposedAccounts" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 47 |
||||
} |
||||
} |
@ -1,170 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"frequentRpcListDetail": [ |
||||
{ |
||||
"rpcUrl": "http://127.0.0.1:8545/1", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"nickname": "http://127.0.0.1:8545/1", |
||||
"rpcPrefs": {} |
||||
}, |
||||
{ |
||||
"rpcUrl": "http://127.0.0.1:8545/2", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"nickname": "http://127.0.0.1:8545/2", |
||||
"rpcPrefs": {} |
||||
} |
||||
], |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,178 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AlertController": { |
||||
"alertEnabledness": { |
||||
"unconnectedAccount": true, |
||||
"web3ShimUsage": true |
||||
}, |
||||
"unconnectedAccountAlertShownOrigins": {}, |
||||
"web3ShimUsageOrigins": {} |
||||
}, |
||||
"AppStateController": { |
||||
"connectedStatusPopoverHasBeenShown": true, |
||||
"defaultHomeActiveTabName": null, |
||||
"recoveryPhraseReminderHasBeenShown": true, |
||||
"recoveryPhraseReminderLastShown": "__FIXTURE_SUBSTITUTION__currentDateInMilliseconds", |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"0x5": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": "0x0" |
||||
} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1626907353.891, |
||||
"conversionRate": 1968.5, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH", |
||||
"pendingCurrentCurrency": null, |
||||
"pendingNativeCurrency": null, |
||||
"usdConversionRate": 1968.5 |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlockByChainId": { |
||||
"0x1": null, |
||||
"0x5": 8977934 |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"MetaMetricsController": { |
||||
"metaMetricsId": "0xff3e952b9f5a27ffcab42b0b4abf689e77dcc1f9f441871dc962d622b089fb51", |
||||
"participateInMetaMetrics": true |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"networkDetails": { |
||||
"EIPS": {} |
||||
}, |
||||
"previousProviderStore": { |
||||
"chainId": "0x5", |
||||
"ticker": "ETH", |
||||
"type": "goerli" |
||||
}, |
||||
"provider": { |
||||
"chainId": "0x539", |
||||
"nickname": "Localhost 8545", |
||||
"rpcPrefs": {}, |
||||
"rpcUrl": "http://localhost:8545", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": true |
||||
}, |
||||
"PermissionsController": { |
||||
"domains": {}, |
||||
"permissionsDescriptions": {}, |
||||
"permissionsRequests": [] |
||||
}, |
||||
"PreferencesController": { |
||||
"completedOnboarding": true, |
||||
"currentLocale": "en", |
||||
"dismissSeedBackUpReminder": true, |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true |
||||
}, |
||||
"firstTimeFlowType": "import", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"nickname": "Localhost 8545", |
||||
"rpcPrefs": {}, |
||||
"rpcUrl": "http://localhost:8545", |
||||
"ticker": "ETH" |
||||
} |
||||
], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"lastSelected": 1626907346643, |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"infuraBlocked": false, |
||||
"ipfsGateway": "dweb.link", |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"preferences": { |
||||
"hideZeroBalanceTokens": false, |
||||
"showFiatInTestnets": false, |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"useBlockie": false, |
||||
"useLedgerLive": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"useStaticTokenList": false |
||||
}, |
||||
"TokensController": { |
||||
"allTokens": { |
||||
"0x539": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": [ |
||||
{ |
||||
"address": "0x86002be4cdd922de1ccb831582bf99284b99ac12", |
||||
"decimals": 4, |
||||
"image": null, |
||||
"isERC721": false, |
||||
"symbol": "TST" |
||||
} |
||||
] |
||||
} |
||||
}, |
||||
"ignoredTokens": [], |
||||
"suggestedAssets": [], |
||||
"allIgnoredTokens": {}, |
||||
"tokens": [ |
||||
{ |
||||
"address": "0x86002be4cdd922de1ccb831582bf99284b99ac12", |
||||
"decimals": 4, |
||||
"image": null, |
||||
"isERC721": false, |
||||
"symbol": "TST" |
||||
} |
||||
] |
||||
}, |
||||
"TransactionController": { |
||||
"transactions": {} |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1626907328205, |
||||
"version": "9.8.1" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 63 |
||||
} |
||||
} |
@ -1,160 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"swapsWelcomeMessageHasBeenShown": true, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"eip1559V2Enabled": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true |
||||
}, |
||||
"TransactionController": { |
||||
"transactions": {} |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,229 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"swapsWelcomeMessageHasBeenShown": true, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"eip1559V2Enabled": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true |
||||
}, |
||||
"TransactionController": { |
||||
"transactions": { |
||||
"4046084157914634": { |
||||
"chainId": "0x539", |
||||
"primaryTransaction": { |
||||
"chainId": "0x539", |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"maxFeePerGas": "0x59682f0c", |
||||
"maxPriorityFeePerGas": "0x59682f00", |
||||
"type": "0x2", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0x1e87F85809dc0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
"history": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"maxFeePerGas": "0x59682f0c", |
||||
"maxPriorityFeePerGas": "0x59682f00", |
||||
"type": "0x2", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0x1e87F85809dc0000" |
||||
}, |
||||
"type": "simpleSend" |
||||
}, |
||||
[ |
||||
{ |
||||
"note": "Added new unapproved transaction.", |
||||
"op": "replace", |
||||
"path": "/loadingDefaults", |
||||
"timestamp": 1617228030069, |
||||
"value": false |
||||
} |
||||
] |
||||
], |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": false, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"maxFeePerGas": "0x59682f0c", |
||||
"maxPriorityFeePerGas": "0x59682f00", |
||||
"type": "0x2", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0x1e87F85809dc0000" |
||||
}, |
||||
"type": "simpleSend" |
||||
} |
||||
} |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,272 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"config": {}, |
||||
"PreferencesController": { |
||||
"frequentRpcListDetail": [ |
||||
{ |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"nickname": "Localhost 8545", |
||||
"rpcPrefs": {} |
||||
} |
||||
], |
||||
"accountTokens": { |
||||
"0x0cc5261ab8ce458dc977078a3623e2badd27afd3": { |
||||
"0x539": [] |
||||
}, |
||||
"0x3ed0ee22e0685ebbf07b2360a8331693c413cc59": {}, |
||||
"0xd38d853771fb546bd8b18b2f3638491bc0b0e906": { |
||||
"0x539": [] |
||||
} |
||||
}, |
||||
"accountHiddenTokens": { |
||||
"0x0cc5261ab8ce458dc977078a3623e2badd27afd3": { |
||||
"0x539": [] |
||||
}, |
||||
"0x3ed0ee22e0685ebbf07b2360a8331693c413cc59": {}, |
||||
"0xd38d853771fb546bd8b18b2f3638491bc0b0e906": { |
||||
"0x539": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"tokens": [], |
||||
"hiddenTokens": [], |
||||
"suggestedTokens": {}, |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true |
||||
}, |
||||
"knownMethodData": {}, |
||||
"firstTimeFlowType": "import", |
||||
"currentLocale": "en", |
||||
"identities": { |
||||
"0x0cc5261ab8ce458dc977078a3623e2badd27afd3": { |
||||
"name": "Account 1", |
||||
"address": "0x0cc5261ab8ce458dc977078a3623e2badd27afd3", |
||||
"lastSelected": 1618940443499 |
||||
}, |
||||
"0x3ed0ee22e0685ebbf07b2360a8331693c413cc59": { |
||||
"name": "Account 2", |
||||
"address": "0x3ed0ee22e0685ebbf07b2360a8331693c413cc59" |
||||
}, |
||||
"0xd38d853771fb546bd8b18b2f3638491bc0b0e906": { |
||||
"name": "2nd account", |
||||
"address": "0xd38d853771fb546bd8b18b2f3638491bc0b0e906", |
||||
"lastSelected": 1618940443010 |
||||
} |
||||
}, |
||||
"lostIdentities": {}, |
||||
"forgottenPassword": false, |
||||
"preferences": { |
||||
"showFiatInTestnets": false, |
||||
"useNativeCurrencyAsPrimaryCurrency": true, |
||||
"hideZeroBalanceTokens": false |
||||
}, |
||||
"completedOnboarding": true, |
||||
"ipfsGateway": "dweb.link", |
||||
"infuraBlocked": false, |
||||
"selectedAddress": "0x0cc5261ab8ce458dc977078a3623e2badd27afd3" |
||||
}, |
||||
"firstTimeInfo": { |
||||
"version": "9.3.0", |
||||
"date": 1617927806790 |
||||
}, |
||||
"NetworkController": { |
||||
"provider": { |
||||
"ticker": "ETH", |
||||
"type": "rpc", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"nickname": "Localhost 8545" |
||||
}, |
||||
"previousProviderStore": { |
||||
"ticker": "ETH", |
||||
"type": "rpc", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"nickname": "Localhost 8545" |
||||
}, |
||||
"network": "1337" |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1618940438.187, |
||||
"conversionRate": 2254.54, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH", |
||||
"usdConversionRate": 2254.54 |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"0x539": { |
||||
"0x0cc5261ab8ce458dc977078a3623e2badd27afd3": "0x14cffbeaf5a7d3000", |
||||
"0x3ed0ee22e0685ebbf07b2360a8331693c413cc59": "0x0", |
||||
"0xd38d853771fb546bd8b18b2f3638491bc0b0e906": "0x0" |
||||
} |
||||
} |
||||
}, |
||||
"MetaMetricsController": { |
||||
"participateInMetaMetrics": false, |
||||
"metaMetricsId": null |
||||
}, |
||||
"PermissionsController": { |
||||
"permissionsRequests": [], |
||||
"permissionsDescriptions": {}, |
||||
"domains": {} |
||||
}, |
||||
"TransactionController": { |
||||
"transactions": { |
||||
"1374812123920442": { |
||||
"id": 1374812123920442, |
||||
"time": 1618940444708, |
||||
"status": "confirmed", |
||||
"metamaskNetworkId": "1337", |
||||
"chainId": "0x539", |
||||
"loadingDefaults": false, |
||||
"txParams": { |
||||
"from": "0x0cc5261ab8ce458dc977078a3623e2badd27afd3", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"nonce": "0x0", |
||||
"value": "0xde0b6b3a7640000", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x363fe1da00" |
||||
}, |
||||
"origin": "metamask", |
||||
"type": "simpleSend", |
||||
"history": [], |
||||
"nonceDetails": { |
||||
"params": { |
||||
"highestLocallyConfirmed": 0, |
||||
"highestSuggested": 0, |
||||
"nextNetworkNonce": 0 |
||||
}, |
||||
"local": { |
||||
"name": "local", |
||||
"nonce": 0, |
||||
"details": { |
||||
"startPoint": 0, |
||||
"highest": 0 |
||||
} |
||||
}, |
||||
"network": { |
||||
"name": "network", |
||||
"nonce": 0, |
||||
"details": { |
||||
"blockNumber": "0x5", |
||||
"baseCount": 0 |
||||
} |
||||
} |
||||
}, |
||||
"r": "0x035de1d588f67547bd9c7bb9b34a8330c10085155e42af0017986911ca922e61", |
||||
"s": "0x36c3c12a323121afe6d63bc8c5929766d385e2e7b7fc892ecd0f10a7ec4ab59e", |
||||
"v": "0x0a95", |
||||
"rawTx": "0xf86e8085363fe1da00825208942f318c334780961fb129d2a6c30d0763d9a5c970880de0b6b3a764000080820a95a0035de1d588f67547bd9c7bb9b34a8330c10085155e42af0017986911ca922e61a036c3c12a323121afe6d63bc8c5929766d385e2e7b7fc892ecd0f10a7ec4ab59e", |
||||
"hash": "0xaba403a1dff459d7549b57369cfdd323c70fc79a307ed8f9cae811ddd6883a74", |
||||
"submittedTime": 1618940445208, |
||||
"txReceipt": { |
||||
"transactionHash": "0xaba403a1dff459d7549b57369cfdd323c70fc79a307ed8f9cae811ddd6883a74", |
||||
"transactionIndex": { |
||||
"negative": 0, |
||||
"words": [0, null], |
||||
"length": 1, |
||||
"red": null |
||||
}, |
||||
"blockHash": "0x734618e63369e7ea10872e68cec4d400d77c55ed525cbc295802d00d7b4bd1d2", |
||||
"blockNumber": { |
||||
"negative": 0, |
||||
"words": [6, null], |
||||
"length": 1, |
||||
"red": null |
||||
}, |
||||
"from": "0x0cc5261ab8ce458dc977078a3623e2badd27afd3", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"gasUsed": "5208", |
||||
"cumulativeGasUsed": { |
||||
"negative": 0, |
||||
"words": [21000, null], |
||||
"length": 1, |
||||
"red": null |
||||
}, |
||||
"contractAddress": null, |
||||
"logs": [], |
||||
"status": "0x1", |
||||
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"Ot+BTtJPag0xubdiv1nO9bsSvTHivHCd6CD7Lxgb1McYw3VqMjgp5rPMZmblJ1lscuMxyiqp99G52uXO9S0em6F9htpa+t/wn6qubRKTTNG9fxNzQrKXRDNhdgfYckVk5VAZ4fgl2iMZcRDvS8H/+gucVKJ33Sl6mXyPofdexXhWDCU6uR2YecnfaIum9cL2u/GqOMPE3jxzy0Wip0x2Jyp3QOKhvu8A3GIjzagLOaQ7a1APdl8=\",\"iv\":\"lbsyPeGYWU6U1+jvmW9UHg==\",\"salt\":\"Zmbhpskwxe4rYfXtELBvlcvW4HISPBATRmMqzsnZPMg=\"}" |
||||
}, |
||||
"AlertController": { |
||||
"alertEnabledness": { |
||||
"unconnectedAccount": true, |
||||
"web3ShimUsage": true |
||||
}, |
||||
"unconnectedAccountAlertShownOrigins": {}, |
||||
"web3ShimUsageOrigins": {} |
||||
}, |
||||
"OnboardingController": { |
||||
"seedPhraseBackedUp": true, |
||||
"onboardingTabs": {} |
||||
}, |
||||
"AddressBookController": { |
||||
"addressBook": { |
||||
"0x539": { |
||||
"0x2f318C334780961FB129D2a6c30D0763d9a5C970": { |
||||
"address": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"chainId": "0x539", |
||||
"isEns": false, |
||||
"memo": "", |
||||
"name": "" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"AppStateController": { |
||||
"connectedStatusPopoverHasBeenShown": true, |
||||
"swapsWelcomeMessageHasBeenShown": false, |
||||
"defaultHomeActiveTabName": "Activity", |
||||
"showPortfolioTooltip": false |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 57 |
||||
} |
||||
} |
@ -1,157 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"dismissSeedBackUpReminder": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"useTokenDetection": true |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,156 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1594323667.203, |
||||
"conversionRate": 14205.88, |
||||
"currentCurrency": "php", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"showFiatInTestnets": true, |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,200 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"connectedStatusPopoverHasBeenShown": false, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {}, |
||||
"1337": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": "0x15af1d78b58c40000" |
||||
} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1594348502.519, |
||||
"conversionRate": 240.09, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null, |
||||
"localhost": 98 |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
}, |
||||
"network": "1337" |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 1764280960, |
||||
"method": "eth_requestAccounts", |
||||
"methodType": "restricted", |
||||
"origin": "http://127.0.0.1:8080", |
||||
"request": { |
||||
"method": "eth_requestAccounts", |
||||
"jsonrpc": "2.0", |
||||
"id": 1764280960, |
||||
"origin": "http://127.0.0.1:8080", |
||||
"tabId": 2 |
||||
}, |
||||
"requestTime": 1594348329232, |
||||
"response": { |
||||
"id": 1764280960, |
||||
"jsonrpc": "2.0", |
||||
"result": ["0x5cfe73b6021e818b776b421b1c4db2474086a7e1"] |
||||
}, |
||||
"responseTime": 1594348332276, |
||||
"success": true |
||||
} |
||||
], |
||||
"permissionsHistory": { |
||||
"http://127.0.0.1:8080": { |
||||
"eth_accounts": { |
||||
"accounts": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": 1594348332276 |
||||
}, |
||||
"lastApproved": 1594348332276 |
||||
} |
||||
} |
||||
}, |
||||
"domainMetadata": { |
||||
"http://127.0.0.1:8080": { |
||||
"name": "E2E Test Dapp", |
||||
"icon": "http://127.0.0.1:8080/metamask-fox.svg", |
||||
"lastUpdated": 1594348323811, |
||||
"host": "127.0.0.1:8080" |
||||
} |
||||
} |
||||
}, |
||||
"PreferencesController": { |
||||
"frequentRpcListDetail": [], |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"tokens": [], |
||||
"suggestedTokens": {}, |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"knownMethodData": {}, |
||||
"participateInMetaMetrics": true, |
||||
"firstTimeFlowType": "create", |
||||
"currentLocale": "en", |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"lostIdentities": {}, |
||||
"forgottenPassword": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"completedOnboarding": true, |
||||
"metaMetricsId": "fake-metrics-id", |
||||
"ipfsGateway": "dweb.link", |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1" |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
}, |
||||
"PermissionsController": { |
||||
"permissionsRequests": [], |
||||
"permissionsDescriptions": {}, |
||||
"domains": { |
||||
"http://127.0.0.1:8080": { |
||||
"permissions": [ |
||||
{ |
||||
"@context": ["https://github.com/MetaMask/rpc-cap"], |
||||
"parentCapability": "eth_accounts", |
||||
"id": "f55a1c15-ea48-4088-968e-63be474d42fa", |
||||
"date": 1594348332268, |
||||
"invoker": "http://127.0.0.1:8080", |
||||
"caveats": [ |
||||
{ |
||||
"type": "limitResponseLength", |
||||
"value": 1, |
||||
"name": "primaryAccountOnly" |
||||
}, |
||||
{ |
||||
"type": "filterResponse", |
||||
"value": ["0x5cfe73b6021e818b776b421b1c4db2474086a7e1"], |
||||
"name": "exposedAccounts" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 47 |
||||
} |
||||
} |
@ -1,442 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"dismissSeedBackUpReminder": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"useTokenDetection": true |
||||
}, |
||||
"MetaMetricsController": { |
||||
"fragments": { |
||||
"transaction-added-7911313280012623": { |
||||
"category": "Transactions", |
||||
"initialEvent": "Transaction Added", |
||||
"successEvent": "Transaction Approved", |
||||
"failureEvent": "Transaction Rejected", |
||||
"properties": {}, |
||||
"persist": true, |
||||
"uniqueIdentifier": "transaction-added-7911313280012623" |
||||
}, |
||||
"transaction-added-7911313280012624": { |
||||
"category": "Transactions", |
||||
"initialEvent": "Transaction Added", |
||||
"successEvent": "Transaction Approved", |
||||
"failureEvent": "Transaction Rejected", |
||||
"properties": {}, |
||||
"persist": true, |
||||
"uniqueIdentifier": "transaction-added-7911313280012624" |
||||
}, |
||||
"transaction-added-7911313280012625": { |
||||
"category": "Transactions", |
||||
"initialEvent": "Transaction Added", |
||||
"successEvent": "Transaction Approved", |
||||
"failureEvent": "Transaction Rejected", |
||||
"properties": {}, |
||||
"persist": true, |
||||
"uniqueIdentifier": "transaction-added-7911313280012625" |
||||
}, |
||||
"transaction-added-7911313280012626": { |
||||
"category": "Transactions", |
||||
"initialEvent": "Transaction Added", |
||||
"successEvent": "Transaction Approved", |
||||
"failureEvent": "Transaction Rejected", |
||||
"properties": {}, |
||||
"persist": true, |
||||
"uniqueIdentifier": "transaction-added-7911313280012626" |
||||
} |
||||
} |
||||
}, |
||||
"TransactionController": { |
||||
"transactions": { |
||||
"7911313280012623": { |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"history": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"id": 7911313280012623, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545991949, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
[ |
||||
{ |
||||
"note": "Added new unapproved transaction.", |
||||
"op": "replace", |
||||
"path": "/loadingDefaults", |
||||
"timestamp": 1631545992244, |
||||
"value": false |
||||
} |
||||
] |
||||
], |
||||
"id": 7911313280012623, |
||||
"loadingDefaults": false, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545991949, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
"7911313280012624": { |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"history": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"id": 7911313280012624, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545994578, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
[ |
||||
{ |
||||
"note": "Added new unapproved transaction.", |
||||
"op": "replace", |
||||
"path": "/loadingDefaults", |
||||
"timestamp": 1631545994695, |
||||
"value": false |
||||
} |
||||
] |
||||
], |
||||
"id": 7911313280012624, |
||||
"loadingDefaults": false, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545994578, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
"7911313280012625": { |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"history": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"id": 7911313280012625, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545996673, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
[ |
||||
{ |
||||
"note": "Added new unapproved transaction.", |
||||
"op": "replace", |
||||
"path": "/loadingDefaults", |
||||
"timestamp": 1631545996678, |
||||
"value": false |
||||
} |
||||
] |
||||
], |
||||
"id": 7911313280012625, |
||||
"loadingDefaults": false, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545996673, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
"7911313280012626": { |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"history": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"dappSuggestedGasFees": { |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800" |
||||
}, |
||||
"id": 7911313280012626, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545998675, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
[ |
||||
{ |
||||
"note": "Added new unapproved transaction.", |
||||
"op": "replace", |
||||
"path": "/loadingDefaults", |
||||
"timestamp": 1631545998677, |
||||
"value": false |
||||
} |
||||
] |
||||
], |
||||
"id": 7911313280012626, |
||||
"loadingDefaults": false, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "https://metamask.github.io", |
||||
"status": "unapproved", |
||||
"time": 1631545998675, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x5208", |
||||
"gasPrice": "0x4a817c800", |
||||
"to": "0x2f318c334780961fb129d2a6c30d0763d9a5c970", |
||||
"value": "0x29a2241af62c0000" |
||||
}, |
||||
"type": "sentEther" |
||||
} |
||||
} |
||||
}, |
||||
"PermissionsController": { |
||||
"permissionsRequests": [], |
||||
"permissionsDescriptions": {}, |
||||
"domains": { |
||||
"http://127.0.0.1:8080": { |
||||
"permissions": [ |
||||
{ |
||||
"@context": ["https://github.com/MetaMask/rpc-cap"], |
||||
"parentCapability": "eth_accounts", |
||||
"id": "f55a1c15-ea48-4088-968e-63be474d42fa", |
||||
"date": 1594348332268, |
||||
"invoker": "http://127.0.0.1:8080", |
||||
"caveats": [ |
||||
{ |
||||
"type": "limitResponseLength", |
||||
"value": 1, |
||||
"name": "primaryAccountOnly" |
||||
}, |
||||
{ |
||||
"type": "filterResponse", |
||||
"value": ["0x5cfe73b6021e818b776b421b1c4db2474086a7e1"], |
||||
"name": "exposedAccounts" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,59 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"config": {}, |
||||
"PreferencesController": { |
||||
"frequentRpcListDetail": [ |
||||
{ |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"nickname": "Localhost 8545", |
||||
"rpcPrefs": {} |
||||
} |
||||
] |
||||
}, |
||||
"firstTimeInfo": { |
||||
"version": "9.3.0", |
||||
"date": 1617927806790 |
||||
}, |
||||
"NetworkController": { |
||||
"provider": { |
||||
"ticker": "ETH", |
||||
"type": "rpc", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"nickname": "Localhost 8545" |
||||
}, |
||||
"network": "1337" |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1617927806.941, |
||||
"conversionRate": 2084.64, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH", |
||||
"usdConversionRate": 2084.64 |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 57 |
||||
} |
||||
} |
@ -1,229 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"swapsWelcomeMessageHasBeenShown": true, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"eip1559V2Enabled": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true |
||||
}, |
||||
"TransactionController": { |
||||
"transactions": { |
||||
"4046084157914634": { |
||||
"chainId": "0x539", |
||||
"primaryTransaction": { |
||||
"chainId": "0x539", |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"maxFeePerGas": "0x59682f0c", |
||||
"maxPriorityFeePerGas": "0x59682f00", |
||||
"type": "0x2", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0xde0b6b3a7640000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
"history": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"maxFeePerGas": "0x59682f0c", |
||||
"maxPriorityFeePerGas": "0x59682f00", |
||||
"type": "0x2", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0xde0b6b3a7640000" |
||||
}, |
||||
"type": "simpleSend" |
||||
}, |
||||
[ |
||||
{ |
||||
"note": "Added new unapproved transaction.", |
||||
"op": "replace", |
||||
"path": "/loadingDefaults", |
||||
"timestamp": 1617228030069, |
||||
"value": false |
||||
} |
||||
] |
||||
], |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": false, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"maxFeePerGas": "0x59682f0c", |
||||
"maxPriorityFeePerGas": "0x59682f00", |
||||
"type": "0x2", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0xde0b6b3a7640000" |
||||
}, |
||||
"type": "simpleSend" |
||||
} |
||||
} |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,235 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"swapsWelcomeMessageHasBeenShown": true, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true |
||||
}, |
||||
"MetaMetricsController": { |
||||
"fragments": { |
||||
"transaction-added-4046084157914634": { |
||||
"category": "Transactions", |
||||
"initialEvent": "Transaction Added", |
||||
"successEvent": "Transaction Approved", |
||||
"failureEvent": "Transaction Rejected", |
||||
"properties": {}, |
||||
"persist": true, |
||||
"uniqueIdentifier": "transaction-added-4046084157914634" |
||||
} |
||||
} |
||||
}, |
||||
"TransactionController": { |
||||
"transactions": { |
||||
"4046084157914634": { |
||||
"chainId": "0x539", |
||||
"primaryTransaction": { |
||||
"chainId": "0x539", |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"gasPrice": "0x2540be400", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0xde0b6b3a7640000" |
||||
}, |
||||
"type": "sentEther" |
||||
}, |
||||
"history": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": true, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"gasPrice": "0x2540be400", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0xde0b6b3a7640000" |
||||
}, |
||||
"type": "simpleSend" |
||||
}, |
||||
[ |
||||
{ |
||||
"note": "Added new unapproved transaction.", |
||||
"op": "replace", |
||||
"path": "/loadingDefaults", |
||||
"timestamp": 1617228030069, |
||||
"value": false |
||||
} |
||||
] |
||||
], |
||||
"id": 4046084157914634, |
||||
"loadingDefaults": false, |
||||
"metamaskNetworkId": "1337", |
||||
"origin": "metamask", |
||||
"status": "unapproved", |
||||
"time": 1617228030067, |
||||
"txParams": { |
||||
"from": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"gas": "0x61a8", |
||||
"gasPrice": "0x2540be400", |
||||
"to": "0x2f318C334780961FB129D2a6c30D0763d9a5C970", |
||||
"value": "0xde0b6b3a7640000" |
||||
}, |
||||
"type": "simpleSend" |
||||
} |
||||
} |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,158 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"mkrMigrationReminderTimestamp": null, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"4": {} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1575697244.188, |
||||
"conversionRate": 149.61, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH" |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlocksByNetwork": { |
||||
"goerli": null, |
||||
"mainnet": null, |
||||
"sepolia": null |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"network": "1337", |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
} |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": false |
||||
}, |
||||
"PermissionsMetadata": { |
||||
"domainMetadata": { |
||||
"metamask.github.io": { |
||||
"icon": null, |
||||
"name": "M E T A M A S K M E S H T E S T" |
||||
} |
||||
}, |
||||
"permissionsHistory": {}, |
||||
"permissionsLog": [ |
||||
{ |
||||
"id": 746677923, |
||||
"method": "eth_accounts", |
||||
"methodType": "restricted", |
||||
"origin": "metamask.github.io", |
||||
"request": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"method": "eth_accounts", |
||||
"origin": "metamask.github.io", |
||||
"params": [] |
||||
}, |
||||
"requestTime": 1575697241368, |
||||
"response": { |
||||
"id": 746677923, |
||||
"jsonrpc": "2.0", |
||||
"result": [] |
||||
}, |
||||
"responseTime": 1575697241370, |
||||
"success": true |
||||
} |
||||
] |
||||
}, |
||||
"PreferencesController": { |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"goerli": [], |
||||
"sepolia": [] |
||||
} |
||||
}, |
||||
"assetImages": {}, |
||||
"completedOnboarding": true, |
||||
"dismissSeedBackUpReminder": true, |
||||
"currentLocale": "en", |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false, |
||||
"sendHexData": true |
||||
}, |
||||
"firstTimeFlowType": "create", |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [], |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"knownMethodData": {}, |
||||
"lostIdentities": {}, |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"suggestedTokens": {}, |
||||
"tokens": [], |
||||
"useBlockie": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"useTokenDetection": false |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 40 |
||||
} |
||||
} |
@ -1,155 +0,0 @@ |
||||
{ |
||||
"data": { |
||||
"AppStateController": { |
||||
"swapsWelcomeMessageHasBeenShown": true, |
||||
"connectedStatusPopoverHasBeenShown": false, |
||||
"showPortfolioTooltip": false |
||||
}, |
||||
"CachedBalancesController": { |
||||
"cachedBalances": { |
||||
"0x539": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": "0x15af1d78b58c40000" |
||||
} |
||||
} |
||||
}, |
||||
"CurrencyController": { |
||||
"conversionDate": 1617897791.928, |
||||
"conversionRate": 2072.49, |
||||
"currentCurrency": "usd", |
||||
"nativeCurrency": "ETH", |
||||
"usdConversionRate": 2072.49 |
||||
}, |
||||
"IncomingTransactionsController": { |
||||
"incomingTransactions": {}, |
||||
"incomingTxLastFetchedBlockByChainId": { |
||||
"0xaa36a7": null, |
||||
"0x1": null, |
||||
"0x5": 5570536 |
||||
} |
||||
}, |
||||
"KeyringController": { |
||||
"vault": "{\"data\":\"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT\",\"iv\":\"FbeHDAW5afeWNORfNJBR0Q==\",\"salt\":\"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8=\"}" |
||||
}, |
||||
"NetworkController": { |
||||
"provider": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
}, |
||||
"previousProviderStore": { |
||||
"nickname": "Localhost 8545", |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"type": "rpc" |
||||
}, |
||||
"network": "1337" |
||||
}, |
||||
"NotificationController": { |
||||
"notifications": { |
||||
"1": { |
||||
"isShown": true |
||||
}, |
||||
"3": { |
||||
"isShown": true |
||||
}, |
||||
"5": { |
||||
"isShown": true |
||||
}, |
||||
"6": { |
||||
"isShown": true |
||||
}, |
||||
"8": { |
||||
"isShown": true |
||||
}, |
||||
"10": { |
||||
"isShown": true |
||||
}, |
||||
"11": { |
||||
"isShown": true |
||||
}, |
||||
"12": { |
||||
"isShown": true |
||||
}, |
||||
"14": { |
||||
"isShown": true |
||||
}, |
||||
"15": { |
||||
"isShown": true |
||||
} |
||||
} |
||||
}, |
||||
"OnboardingController": { |
||||
"onboardingTabs": {}, |
||||
"seedPhraseBackedUp": true |
||||
}, |
||||
"PreferencesController": { |
||||
"frequentRpcListDetail": [ |
||||
{ |
||||
"rpcUrl": "http://localhost:8545", |
||||
"chainId": "0x539", |
||||
"ticker": "ETH", |
||||
"nickname": "Localhost 8545", |
||||
"rpcPrefs": {} |
||||
} |
||||
], |
||||
"accountTokens": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"0x5": [], |
||||
"0xaa36a7": [] |
||||
} |
||||
}, |
||||
"accountHiddenTokens": {}, |
||||
"assetImages": {}, |
||||
"tokens": [], |
||||
"hiddenTokens": [], |
||||
"suggestedTokens": {}, |
||||
"useBlockie": true, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true, |
||||
"transactionTime": false |
||||
}, |
||||
"knownMethodData": {}, |
||||
"firstTimeFlowType": "create", |
||||
"currentLocale": "en", |
||||
"identities": { |
||||
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": { |
||||
"address": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1", |
||||
"name": "Account 1" |
||||
} |
||||
}, |
||||
"lostIdentities": {}, |
||||
"forgottenPassword": false, |
||||
"preferences": { |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"completedOnboarding": true, |
||||
"ipfsGateway": "dweb.link", |
||||
"selectedAddress": "0x5cfe73b6021e818b776b421b1c4db2474086a7e1" |
||||
}, |
||||
"config": {}, |
||||
"firstTimeInfo": { |
||||
"date": 1575697234195, |
||||
"version": "7.7.0" |
||||
}, |
||||
"MetaMetricsController": { |
||||
"metaMetricsId": null, |
||||
"participateInMetaMetrics": false |
||||
}, |
||||
"ThreeBoxController": { |
||||
"threeBoxSyncingAllowed": true, |
||||
"showRestorePrompt": true, |
||||
"threeBoxLastUpdated": 0, |
||||
"threeBoxAddress": "0x64480aa2768ef12f3f19c5a01206ceb0f82d06b9", |
||||
"threeBoxSynced": true, |
||||
"threeBoxDisabled": false |
||||
} |
||||
}, |
||||
"meta": { |
||||
"version": 57 |
||||
} |
||||
} |
@ -1,57 +0,0 @@ |
||||
const http = require('http'); |
||||
|
||||
const PORT = 8889; |
||||
|
||||
class ThreeboxMockServer { |
||||
constructor() { |
||||
this.server = http.createServer(this.requestHandler); |
||||
this.database = {}; |
||||
} |
||||
|
||||
async start() { |
||||
return new Promise((resolve, reject) => { |
||||
this.server = this.server.listen(PORT); |
||||
this.server.once('error', reject); |
||||
this.server.once('listening', resolve); |
||||
}); |
||||
} |
||||
|
||||
async stop() { |
||||
if (!this.server) { |
||||
return; |
||||
} |
||||
|
||||
await new Promise((resolve, reject) => { |
||||
this.server.close(); |
||||
this.server.once('error', reject); |
||||
this.server.once('close', resolve); |
||||
}); |
||||
} |
||||
|
||||
requestHandler = (request, response) => { |
||||
response.setHeader('Content-Type', 'application/json'); |
||||
if (request.method === 'POST') { |
||||
let body = ''; |
||||
request.on('data', (chunk) => { |
||||
body += chunk.toString(); // convert Buffer to string
|
||||
}); |
||||
request.on('end', () => { |
||||
const { key, data } = JSON.parse(body); |
||||
this.database[key] = data; |
||||
response.setHeader('Access-Control-Allow-Headers', '*'); |
||||
response.end('ok'); |
||||
}); |
||||
} else if (request.method === 'GET') { |
||||
const key = new URL(request.url, 'https://example.org/').searchParams.get( |
||||
'key', |
||||
); |
||||
|
||||
response.setHeader('Access-Control-Allow-Headers', '*'); |
||||
response.end(JSON.stringify(this.database[key] || '')); |
||||
} else { |
||||
response.end('unknown request'); |
||||
} |
||||
}; |
||||
} |
||||
|
||||
module.exports = ThreeboxMockServer; |
@ -0,0 +1,50 @@ |
||||
{ |
||||
"addressBook": { |
||||
"addressBook": { |
||||
"0x539": { |
||||
"0x0c54FcCd2e384b4BB6f2E405Bf5Cbc15a017AaFb": { |
||||
"address": "0x0c54FcCd2e384b4BB6f2E405Bf5Cbc15a017AaFb", |
||||
"chainId": "0x539", |
||||
"isEns": false, |
||||
"memo": "", |
||||
"name": "Test Account" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"preferences": { |
||||
"advancedGasFee": null, |
||||
"currentLocale": "en", |
||||
"dismissSeedBackUpReminder": true, |
||||
"featureFlags": { |
||||
"showIncomingTransactions": true |
||||
}, |
||||
"forgottenPassword": false, |
||||
"frequentRpcListDetail": [ |
||||
{ |
||||
"chainId": "0x539", |
||||
"nickname": "Localhost 8545", |
||||
"rpcPrefs": {}, |
||||
"rpcUrl": "http://localhost:8545", |
||||
"ticker": "ETH" |
||||
} |
||||
], |
||||
"infuraBlocked": false, |
||||
"ipfsGateway": "dweb.link", |
||||
"knownMethodData": {}, |
||||
"ledgerTransportType": "webhid", |
||||
"openSeaEnabled": false, |
||||
"preferences": { |
||||
"hideZeroBalanceTokens": false, |
||||
"showFiatInTestnets": false, |
||||
"showTestNetworks": false, |
||||
"useNativeCurrencyAsPrimaryCurrency": true |
||||
}, |
||||
"theme": "light", |
||||
"useBlockie": false, |
||||
"useCollectibleDetection": false, |
||||
"useNonceField": false, |
||||
"usePhishDetect": true, |
||||
"useTokenDetection": false |
||||
} |
||||
} |
@ -1,3 +1,3 @@ |
||||
module.exports = { |
||||
TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/3.0.1', |
||||
TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/3.1.0', |
||||
}; |
||||
|
@ -0,0 +1,157 @@ |
||||
const { strict: assert } = require('assert'); |
||||
const { withFixtures } = require('../helpers'); |
||||
const FixtureBuilder = require('../fixture-builder'); |
||||
const { TEST_SNAPS_WEBSITE_URL } = require('./enums'); |
||||
|
||||
describe('Test Snap bip-32', function () { |
||||
it('tests various functions of bip-32', async function () { |
||||
const ganacheOptions = { |
||||
accounts: [ |
||||
{ |
||||
secretKey: |
||||
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC', |
||||
}, |
||||
], |
||||
}; |
||||
await withFixtures( |
||||
{ |
||||
fixtures: new FixtureBuilder() |
||||
.withPermissionControllerConnectedToSnapDapp() |
||||
.build(), |
||||
ganacheOptions, |
||||
title: this.test.title, |
||||
}, |
||||
async ({ driver }) => { |
||||
await driver.navigate(); |
||||
|
||||
// enter pw into extension
|
||||
await driver.fill('#password', 'correct horse battery staple'); |
||||
await driver.press('#password', driver.Key.ENTER); |
||||
|
||||
// navigate to test snaps page and connect
|
||||
await driver.driver.get(TEST_SNAPS_WEBSITE_URL); |
||||
await driver.delay(1000); |
||||
|
||||
// find and scroll to the correct card and click first
|
||||
const snapButton = await driver.findElement('#sendUpdateHello'); |
||||
await driver.scrollToElement(snapButton); |
||||
await driver.delay(500); |
||||
await driver.fill('#snapId6', 'npm:@metamask/test-snap-bip32'); |
||||
await driver.clickElement('#connectBip32'); |
||||
|
||||
// approve install of snap
|
||||
await driver.waitUntilXWindowHandles(2, 5000, 10000); |
||||
let windowHandles = await driver.getAllWindowHandles(); |
||||
await driver.switchToWindowWithTitle( |
||||
'MetaMask Notification', |
||||
windowHandles, |
||||
); |
||||
await driver.clickElement({ |
||||
text: 'Approve & install', |
||||
tag: 'button', |
||||
}); |
||||
|
||||
// wait for permissions popover, click checkboxes and confirm
|
||||
await driver.delay(1000); |
||||
await driver.clickElement('#key-access-bip32-m-44h-0h-secp256k1-0'); |
||||
await driver.clickElement('#key-access-bip32-m-44h-0h-ed25519-0'); |
||||
await driver.clickElement({ |
||||
text: 'Confirm', |
||||
tag: 'button', |
||||
}); |
||||
|
||||
// switch back to test-snaps window
|
||||
await driver.waitUntilXWindowHandles(1, 5000, 10000); |
||||
windowHandles = await driver.getAllWindowHandles(); |
||||
await driver.switchToWindowWithTitle('Test Snaps', windowHandles); |
||||
|
||||
// wait then run SECP256K1 test
|
||||
await driver.delay(1000); |
||||
await driver.fill('#bip32SignMessage', 'foo bar'); |
||||
await driver.clickElement('#sendBip32Secp256k1'); |
||||
|
||||
// hit 'approve' on the custom confirm
|
||||
await driver.waitUntilXWindowHandles(2, 5000, 10000); |
||||
windowHandles = await driver.getAllWindowHandles(); |
||||
await driver.switchToWindowWithTitle( |
||||
'MetaMask Notification', |
||||
windowHandles, |
||||
); |
||||
await driver.clickElement({ |
||||
text: 'Approve', |
||||
tag: 'button', |
||||
}); |
||||
|
||||
await driver.waitUntilXWindowHandles(1, 5000, 10000); |
||||
windowHandles = await driver.getAllWindowHandles(); |
||||
await driver.switchToWindowWithTitle('Test Snaps', windowHandles); |
||||
|
||||
// check result
|
||||
await driver.delay(1000); |
||||
const secp256k1Result = await driver.findElement( |
||||
'#bip32Secp256k1Result', |
||||
); |
||||
assert.equal( |
||||
await secp256k1Result.getText(), |
||||
'Signature: "0xd30561eb9e3195e47d49198fb0bc66eda867a7dff4c5e8b60c2ec13851aa7d8cc3d485da177de63dad331f315d440cbb693a629efe228389c4693ea90465b101"', |
||||
); |
||||
|
||||
// wait then run ed25519 test
|
||||
await driver.delay(1000); |
||||
await driver.clickElement('#sendBip32Ed25519'); |
||||
|
||||
// hit 'approve' on the custom confirm
|
||||
await driver.waitUntilXWindowHandles(2, 5000, 10000); |
||||
windowHandles = await driver.getAllWindowHandles(); |
||||
await driver.switchToWindowWithTitle( |
||||
'MetaMask Notification', |
||||
windowHandles, |
||||
); |
||||
await driver.clickElement({ |
||||
text: 'Approve', |
||||
tag: 'button', |
||||
}); |
||||
|
||||
await driver.waitUntilXWindowHandles(1, 5000, 10000); |
||||
windowHandles = await driver.getAllWindowHandles(); |
||||
await driver.switchToWindowWithTitle('Test Snaps', windowHandles); |
||||
|
||||
// check result
|
||||
await driver.delay(1000); |
||||
const ed25519Result = await driver.findElement('#bip32Ed25519Result'); |
||||
assert.equal( |
||||
await ed25519Result.getText(), |
||||
'Signature: "0xf3215b4d6c59aac7e01b4ceef530d1e2abf4857926b85a81aaae3894505699243768a887b7da4a8c2e0f25196196ba290b6531050db8dc15c252bdd508532a0a"', |
||||
); |
||||
|
||||
const publicKeyButton = await driver.findElement('#sendBip32PublicKey'); |
||||
await driver.scrollToElement(publicKeyButton); |
||||
// wait then run public key test
|
||||
await driver.delay(1000); |
||||
await driver.clickElement('#sendBip32PublicKey'); |
||||
// check result
|
||||
await driver.delay(1000); |
||||
const publicKeyResult = await driver.findElement( |
||||
'#bip32PublicKeyResult', |
||||
); |
||||
assert.equal( |
||||
await publicKeyResult.getText(), |
||||
'Public key: "043e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366606ece56791c361a2320e7fad8bcbb130f66d51c591fc39767ab2856e93f8dfb"', |
||||
); |
||||
|
||||
// wait then run compressed public key test
|
||||
await driver.delay(1000); |
||||
await driver.clickElement('#sendBip32CompressedPublicKey'); |
||||
// check result
|
||||
await driver.delay(1000); |
||||
const compressedPublicKeyResult = await driver.findElement( |
||||
'#bip32CompressedPublicKeyResult', |
||||
); |
||||
assert.equal( |
||||
await compressedPublicKeyResult.getText(), |
||||
'Public key: "033e98d696ae15caef75fa8dd204a7c5c08d1272b2218ba3c20feeb4c691eec366"', |
||||
); |
||||
}, |
||||
); |
||||
}); |
||||
}); |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue