From 48047f81947c28cc21f0fb93fe98a2d308078714 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 12 Mar 2019 21:47:21 +0800 Subject: mascara - remove from project (#6283) --- mascara/src/background.js | 134 --------------------------------------------- mascara/src/metamascara.js | 1 - mascara/src/proxy.js | 25 --------- mascara/src/ui.js | 73 ------------------------ 4 files changed, 233 deletions(-) delete mode 100644 mascara/src/background.js delete mode 100644 mascara/src/metamascara.js delete mode 100644 mascara/src/proxy.js delete mode 100644 mascara/src/ui.js (limited to 'mascara/src') diff --git a/mascara/src/background.js b/mascara/src/background.js deleted file mode 100644 index d8d1c8c54..000000000 --- a/mascara/src/background.js +++ /dev/null @@ -1,134 +0,0 @@ -global.window = global - -const SwGlobalListener = require('sw-stream/lib/sw-global-listener.js') -const connectionListener = new SwGlobalListener(global) -const setupMultiplex = require('../../app/scripts/lib/stream-utils.js').setupMultiplex - -const DbController = require('idb-global') - -const SwPlatform = require('../../app/scripts/platforms/sw') -const MetamaskController = require('../../app/scripts/metamask-controller') - -const Migrator = require('../../app/scripts/lib/migrator/') -const migrations = require('../../app/scripts/migrations/') -const firstTimeState = require('../../app/scripts/first-time-state') - -const STORAGE_KEY = 'metamask-config' -const METAMASK_DEBUG = process.env.METAMASK_DEBUG -global.metamaskPopupIsOpen = false - -const log = require('loglevel') -global.log = log -log.setDefaultLevel(METAMASK_DEBUG ? 'debug' : 'warn') - -global.addEventListener('install', function (event) { - event.waitUntil(global.skipWaiting()) -}) -global.addEventListener('activate', function (event) { - event.waitUntil(global.clients.claim()) -}) - -log.debug('inside:open') - -// state persistence -const dbController = new DbController({ - key: STORAGE_KEY, -}) - -start().catch(log.error) - -async function start () { - log.debug('MetaMask initializing...') - const initState = await loadStateFromPersistence() - await setupController(initState) - log.debug('MetaMask initialization complete.') -} - -// -// State and Persistence -// -async function loadStateFromPersistence () { - // migrations - const migrator = new Migrator({ migrations }) - const initialState = migrator.generateInitialState(firstTimeState) - dbController.initialState = initialState - const versionedData = await dbController.open() - const migratedData = await migrator.migrateData(versionedData) - await dbController.put(migratedData) - return migratedData.data -} - -async function setupController (initState, client) { - - // - // MetaMask Controller - // - - const platform = new SwPlatform() - - const controller = new MetamaskController({ - // platform specific implementation - platform, - // User confirmation callbacks: - showUnconfirmedMessage: noop, - unlockAccountMessage: noop, - showUnapprovedTx: noop, - // initial state - initState, - }) - global.metamaskController = controller - - controller.store.subscribe(async (state) => { - try { - const versionedData = await versionifyData(state) - await dbController.put(versionedData) - } catch (e) { console.error('METAMASK Error:', e) } - }) - - async function versionifyData (state) { - const rawData = await dbController.get() - return { - data: state, - meta: rawData.meta, - } - } - - // - // connect to other contexts - // - - connectionListener.on('remote', (portStream, messageEvent) => { - log.debug('REMOTE CONECTION FOUND***********') - connectRemote(portStream, messageEvent.data.context) - }) - - function connectRemote (connectionStream, context) { - var isMetaMaskInternalProcess = (context === 'popup') - if (isMetaMaskInternalProcess) { - // communication with popup - controller.setupTrustedCommunication(connectionStream, 'MetaMask') - global.metamaskPopupIsOpen = true - } else { - // communication with page - setupUntrustedCommunication(connectionStream, context) - } - } - - function setupUntrustedCommunication (connectionStream, originDomain) { - // setup multiplexing - var mx = setupMultiplex(connectionStream) - // connect features - controller.setupProviderConnection(mx.createStream('provider'), originDomain) - controller.setupPublicConfig(mx.createStream('publicConfig')) - } -} -// // this will be useful later but commented out for linting for now (liiiinting) -// function sendMessageToAllClients (message) { -// global.clients.matchAll().then(function (clients) { -// clients.forEach(function (client) { -// client.postMessage(message) -// }) -// }) -// } - -function noop () {} diff --git a/mascara/src/metamascara.js b/mascara/src/metamascara.js deleted file mode 100644 index 0af6f532f..000000000 --- a/mascara/src/metamascara.js +++ /dev/null @@ -1 +0,0 @@ -global.metamask = require('metamascara') diff --git a/mascara/src/proxy.js b/mascara/src/proxy.js deleted file mode 100644 index 80b4dc516..000000000 --- a/mascara/src/proxy.js +++ /dev/null @@ -1,25 +0,0 @@ -const createParentStream = require('iframe-stream').ParentStream -const SwController = require('sw-controller') -const SwStream = require('sw-stream/lib/sw-stream.js') - -const keepAliveDelay = Math.floor(Math.random() * (30000 - 1000)) + 1000 -const background = new SwController({ - fileName: './scripts/background.js', - keepAlive: true, - keepAliveInterval: 30000, - keepAliveDelay, -}) - -const pageStream = createParentStream() -background.on('ready', () => { - const swStream = SwStream({ - serviceWorker: background.controller, - context: 'dapp', - }) - pageStream.pipe(swStream).pipe(pageStream) - -}) -background.on('updatefound', () => window.location.reload()) - -background.on('error', console.error) -background.startWorker() diff --git a/mascara/src/ui.js b/mascara/src/ui.js deleted file mode 100644 index f9e7670ea..000000000 --- a/mascara/src/ui.js +++ /dev/null @@ -1,73 +0,0 @@ -const injectCss = require('inject-css') -const SwController = require('sw-controller') -const SwStream = require('sw-stream') -const MetaMaskUiCss = require('../../ui/css') -const MetamascaraPlatform = require('../../app/scripts/platforms/window') -const startPopup = require('../../app/scripts/popup-core') - -// create platform global -global.platform = new MetamascaraPlatform() - -var css = MetaMaskUiCss() -injectCss(css) -const container = document.getElementById('app-content') - -const name = 'popup' -window.METAMASK_UI_TYPE = name -window.METAMASK_PLATFORM_TYPE = 'mascara' - -const keepAliveDelay = Math.floor(Math.random() * (30000 - 1000)) + 1000 - -const swController = new SwController({ - fileName: './background.js', - keepAlive: true, - keepAliveDelay, - keepAliveInterval: 20000, -}) - -swController.once('updatefound', windowReload) -swController.once('ready', async () => { - try { - swController.removeListener('updatefound', windowReload) - console.log('swController ready') - await timeout(1000) - console.log('connecting to app') - await connectApp() - console.log('app connected') - } catch (err) { - console.error(err) - } -}) - -console.log('starting service worker') -swController.startWorker() - -// Setup listener for when the service worker is read -function connectApp () { - const connectionStream = SwStream({ - serviceWorker: swController.getWorker(), - context: name, - }) - return new Promise((resolve, reject) => { - startPopup({ container, connectionStream }, (err, store) => { - console.log('hello from MetaMascara ui!') - if (err) reject(err) - store.subscribe(() => { - const state = store.getState() - if (state.appState.shouldClose) window.close() - }) - resolve() - }) - }) -} - -function windowReload () { - if (window.METAMASK_SKIP_RELOAD) return - window.location.reload() -} - -function timeout (time) { - return new Promise((resolve) => { - setTimeout(resolve, time || 1500) - }) -} -- cgit