From f4c255b7c79d5e8f3716adcd7df8deb069b63d3a Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Wed, 10 Jun 2020 11:44:04 -0230 Subject: [PATCH] Delete unused InfuraController & tests (#8773) --- app/scripts/background.js | 1 - app/scripts/controllers/infura.js | 39 ----------- app/scripts/metamask-controller.js | 8 --- .../app/controllers/infura-controller-test.js | 66 ------------------- 4 files changed, 114 deletions(-) delete mode 100644 app/scripts/controllers/infura.js delete mode 100644 test/unit/app/controllers/infura-controller-test.js diff --git a/app/scripts/background.js b/app/scripts/background.js index 6eedeeea4..cf273d31a 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -134,7 +134,6 @@ initialize().catch(log.error) * @property {string} currentCurrency - A string identifying the user's preferred display currency, for use in showing conversion rates. * @property {number} conversionRate - A number representing the current exchange rate from the user's preferred currency to Ether. * @property {number} conversionDate - A unix epoch date (ms) for the time the current conversion rate was last retrieved. - * @property {Object} infuraNetworkStatus - An object of infura network status checks. * @property {boolean} forgottenPassword - Returns true if the user has initiated the password recovery screen, is recovering from seed phrase. */ diff --git a/app/scripts/controllers/infura.js b/app/scripts/controllers/infura.js deleted file mode 100644 index 75be7ef3c..000000000 --- a/app/scripts/controllers/infura.js +++ /dev/null @@ -1,39 +0,0 @@ -import ObservableStore from 'obs-store' -import log from 'loglevel' - -// every ten minutes -const POLLING_INTERVAL = 10 * 60 * 1000 - -export default class InfuraController { - - constructor (opts = {}) { - const initState = Object.assign({ - infuraNetworkStatus: {}, - }, opts.initState) - this.store = new ObservableStore(initState) - } - - // - // PUBLIC METHODS - // - - // Responsible for retrieving the status of Infura's nodes. Can return either - // ok, degraded, or down. - async checkInfuraNetworkStatus () { - const response = await window.fetch('https://api.infura.io/v1/status/metamask') - const parsedResponse = await response.json() - this.store.updateState({ - infuraNetworkStatus: parsedResponse, - }) - return parsedResponse - } - - scheduleInfuraNetworkCheck () { - if (this.conversionInterval) { - clearInterval(this.conversionInterval) - } - this.conversionInterval = setInterval(() => { - this.checkInfuraNetworkStatus().catch(log.warn) - }, POLLING_INTERVAL) - } -} diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index e6f973e59..5c36d8d23 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -29,7 +29,6 @@ import EnsController from './controllers/ens' import NetworkController from './controllers/network' import PreferencesController from './controllers/preferences' import AppStateController from './controllers/app-state' -import InfuraController from './controllers/infura' import CachedBalancesController from './controllers/cached-balances' import AlertController from './controllers/alert' import OnboardingController from './controllers/onboarding' @@ -128,11 +127,6 @@ export default class MetamaskController extends EventEmitter { this.currencyRateController = new CurrencyRateController(undefined, initState.CurrencyController) - this.infuraController = new InfuraController({ - initState: initState.InfuraController, - }) - this.infuraController.scheduleInfuraNetworkCheck() - this.phishingController = new PhishingController() // now we can initialize the RPC provider, which other controllers require @@ -292,7 +286,6 @@ export default class MetamaskController extends EventEmitter { AddressBookController: this.addressBookController, CurrencyController: this.currencyRateController, NetworkController: this.networkController.store, - InfuraController: this.infuraController.store, CachedBalancesController: this.cachedBalancesController.store, AlertController: this.alertController.store, OnboardingController: this.onboardingController.store, @@ -318,7 +311,6 @@ export default class MetamaskController extends EventEmitter { PreferencesController: this.preferencesController.store, AddressBookController: this.addressBookController, CurrencyController: this.currencyRateController, - InfuraController: this.infuraController.store, AlertController: this.alertController.store, OnboardingController: this.onboardingController.store, IncomingTransactionsController: this.incomingTransactionsController.store, diff --git a/test/unit/app/controllers/infura-controller-test.js b/test/unit/app/controllers/infura-controller-test.js deleted file mode 100644 index 26ee91e5b..000000000 --- a/test/unit/app/controllers/infura-controller-test.js +++ /dev/null @@ -1,66 +0,0 @@ -import assert from 'assert' -import sinon from 'sinon' -import InfuraController from '../../../../app/scripts/controllers/infura' - -describe('infura-controller', function () { - let infuraController, networkStatus - const response = { 'mainnet': 'degraded', 'ropsten': 'ok', 'kovan': 'ok', 'rinkeby': 'down', 'goerli': 'ok' } - - describe('Network status queries', function () { - before(async function () { - infuraController = new InfuraController() - sinon.stub(infuraController, 'checkInfuraNetworkStatus').resolves(response) - networkStatus = await infuraController.checkInfuraNetworkStatus() - }) - - describe('Mainnet', function () { - it('should have Mainnet', function () { - assert.equal(Object.keys(networkStatus)[0], 'mainnet') - }) - - it('should have a value for Mainnet status', function () { - assert.equal(networkStatus.mainnet, 'degraded') - }) - }) - - describe('Ropsten', function () { - it('should have Ropsten', function () { - assert.equal(Object.keys(networkStatus)[1], 'ropsten') - }) - - it('should have a value for Ropsten status', function () { - assert.equal(networkStatus.ropsten, 'ok') - }) - }) - - describe('Kovan', function () { - it('should have Kovan', function () { - assert.equal(Object.keys(networkStatus)[2], 'kovan') - }) - - it('should have a value for Kovan status', function () { - assert.equal(networkStatus.kovan, 'ok') - }) - }) - - describe('Rinkeby', function () { - it('should have Rinkeby', function () { - assert.equal(Object.keys(networkStatus)[3], 'rinkeby') - }) - - it('should have a value for Rinkeby status', function () { - assert.equal(networkStatus.rinkeby, 'down') - }) - }) - - describe('Goerli', function () { - it('should have Goerli', function () { - assert.equal(Object.keys(networkStatus)[4], 'goerli') - }) - - it('should have a value for Goerli status', function () { - assert.equal(networkStatus.goerli, 'ok') - }) - }) - }) -})