diff --git a/.storybook/test-data.js b/.storybook/test-data.js index 7acce27bc431..353064992c42 100644 --- a/.storybook/test-data.js +++ b/.storybook/test-data.js @@ -1137,7 +1137,6 @@ const state = { lostIdentities: {}, forgottenPassword: false, ipfsGateway: 'dweb.link', - infuraBlocked: false, migratedPrivacyMode: false, selectedAddress: '0x9d0ba4ddac06032527b140912ec808ab9451b788', metaMetricsId: diff --git a/app/scripts/controllers/detect-tokens.test.js b/app/scripts/controllers/detect-tokens.test.js index c7306dc83295..17927cfcfbd2 100644 --- a/app/scripts/controllers/detect-tokens.test.js +++ b/app/scripts/controllers/detect-tokens.test.js @@ -231,8 +231,6 @@ describe('DetectTokensController', function () { network, provider, tokenListController, - onInfuraIsBlocked: sinon.stub(), - onInfuraIsUnblocked: sinon.stub(), networkConfigurations: {}, onAccountRemoved: sinon.stub(), }); diff --git a/app/scripts/controllers/mmi-controller.test.js b/app/scripts/controllers/mmi-controller.test.js index 31fe04e9bb0b..754b163ab939 100644 --- a/app/scripts/controllers/mmi-controller.test.js +++ b/app/scripts/controllers/mmi-controller.test.js @@ -56,8 +56,6 @@ describe('MMIController', function () { }), preferencesController: new PreferencesController({ initState: {}, - onInfuraIsBlocked: jest.fn(), - onInfuraIsUnblocked: jest.fn(), onAccountRemoved: jest.fn(), provider: {}, networkConfigurations: {}, diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js index e396ae3b41f0..3a4aab3781b5 100644 --- a/app/scripts/controllers/preferences.js +++ b/app/scripts/controllers/preferences.js @@ -96,7 +96,6 @@ export default class PreferencesController { // ENS decentralized website resolution ipfsGateway: IPFS_DEFAULT_GATEWAY_URL, useAddressBarEnsResolution: true, - infuraBlocked: null, ledgerTransportType: window.navigator.hid ? LedgerTransportTypes.webhid : LedgerTransportTypes.u2f, @@ -112,14 +111,10 @@ export default class PreferencesController { this.network = opts.network; - this._onInfuraIsBlocked = opts.onInfuraIsBlocked; - this._onInfuraIsUnblocked = opts.onInfuraIsUnblocked; this.store = new ObservableStore(initState); this.store.setMaxListeners(13); this.tokenListController = opts.tokenListController; - this._subscribeToInfuraAvailability(); - // subscribe to account removal opts.onAccountRemoved((address) => this.removeAddress(address)); @@ -638,36 +633,6 @@ export default class PreferencesController { ///: END:ONLY_INCLUDE_IN - // - // PRIVATE METHODS - // - - _subscribeToInfuraAvailability() { - this._onInfuraIsBlocked(() => { - this._setInfuraBlocked(true); - }); - - this._onInfuraIsUnblocked(() => { - this._setInfuraBlocked(false); - }); - } - - /** - * - * A setter for the `infuraBlocked` property - * - * @param {boolean} isBlocked - Bool indicating whether Infura is blocked - */ - _setInfuraBlocked(isBlocked) { - const { infuraBlocked } = this.store.getState(); - - if (infuraBlocked === isBlocked) { - return; - } - - this.store.updateState({ infuraBlocked: isBlocked }); - } - /** * A method to check is the linea mainnet network should be displayed */ diff --git a/app/scripts/controllers/preferences.test.js b/app/scripts/controllers/preferences.test.js index de312b7e0fa3..0ae29fba084a 100644 --- a/app/scripts/controllers/preferences.test.js +++ b/app/scripts/controllers/preferences.test.js @@ -40,8 +40,6 @@ describe('preferences controller', () => { preferencesController = new PreferencesController({ initLangCode: 'en_US', tokenListController, - onInfuraIsBlocked: jest.fn(), - onInfuraIsUnblocked: jest.fn(), onAccountRemoved: jest.fn(), networkConfigurations: NETWORK_CONFIGURATION_DATA, }); @@ -120,8 +118,6 @@ describe('preferences controller', () => { preferencesController = new PreferencesController({ initLangCode: 'en_US', tokenListController, - onInfuraIsBlocked: jest.fn(), - onInfuraIsUnblocked: jest.fn(), initState: { identities: { [testAddress]: { @@ -150,8 +146,6 @@ describe('preferences controller', () => { preferencesController = new PreferencesController({ initLangCode: 'en_US', tokenListController, - onInfuraIsBlocked: jest.fn(), - onInfuraIsUnblocked: jest.fn(), initState: { identities: { '0x7e57e2': { diff --git a/app/scripts/lib/backup.test.js b/app/scripts/lib/backup.test.js index 93aee74bddd7..f2d2336d792f 100644 --- a/app/scripts/lib/backup.test.js +++ b/app/scripts/lib/backup.test.js @@ -142,7 +142,6 @@ const jsonData = JSON.stringify({ useNativeCurrencyAsPrimaryCurrency: true, }, ipfsGateway: 'dweb.link', - infuraBlocked: false, ledgerTransportType: 'webhid', theme: 'light', customNetworkListEnabled: false, diff --git a/app/scripts/lib/setupSentry.js b/app/scripts/lib/setupSentry.js index b44c9b83eb7e..0d117f87e475 100644 --- a/app/scripts/lib/setupSentry.js +++ b/app/scripts/lib/setupSentry.js @@ -173,7 +173,6 @@ export const SENTRY_BACKGROUND_STATE = { forgottenPassword: true, identities: false, incomingTransactionsPreferences: true, - infuraBlocked: true, ipfsGateway: false, isLineaMainnetReleased: true, knownMethodData: false, diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index e4c0d18f0e41..c02f711a04c5 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -440,14 +440,6 @@ export default class MetamaskController extends EventEmitter { this.preferencesController = new PreferencesController({ initState: initState.PreferencesController, initLangCode: opts.initLangCode, - onInfuraIsBlocked: networkControllerMessenger.subscribe.bind( - networkControllerMessenger, - 'NetworkController:infuraIsBlocked', - ), - onInfuraIsUnblocked: networkControllerMessenger.subscribe.bind( - networkControllerMessenger, - 'NetworkController:infuraIsUnblocked', - ), onAccountRemoved: this.controllerMessenger.subscribe.bind( this.controllerMessenger, 'KeyringController:accountRemoved', diff --git a/test/e2e/fixture-builder.js b/test/e2e/fixture-builder.js index 01db5a279bcd..42c4fea640a3 100644 --- a/test/e2e/fixture-builder.js +++ b/test/e2e/fixture-builder.js @@ -259,7 +259,6 @@ function defaultFixture() { name: 'Account 1', }, }, - infuraBlocked: false, ipfsGateway: 'dweb.link', knownMethodData: {}, ledgerTransportType: 'webhid', @@ -382,7 +381,6 @@ function onboardingFixture() { featureFlags: {}, forgottenPassword: false, identities: {}, - infuraBlocked: false, ipfsGateway: 'dweb.linkssssss', knownMethodData: {}, ledgerTransportType: 'webhid', diff --git a/test/e2e/restore/MetaMaskUserData.json b/test/e2e/restore/MetaMaskUserData.json index 5215b9620011..250b3cb3e852 100644 --- a/test/e2e/restore/MetaMaskUserData.json +++ b/test/e2e/restore/MetaMaskUserData.json @@ -27,7 +27,6 @@ "ticker": "ETH" } ], - "infuraBlocked": false, "ipfsGateway": "dweb.link", "knownMethodData": {}, "ledgerTransportType": "webhid", diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json index cb176a312b2b..6325ba3e6376 100644 --- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json +++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json @@ -148,7 +148,6 @@ }, "ipfsGateway": "string", "useAddressBarEnsResolution": true, - "infuraBlocked": false, "ledgerTransportType": "webhid", "snapRegistryList": "object", "transactionSecurityCheckEnabled": false, diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json index 23503e30bac0..31aa72b082ee 100644 --- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json +++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json @@ -96,7 +96,6 @@ "forgottenPassword": false, "ipfsGateway": "string", "useAddressBarEnsResolution": true, - "infuraBlocked": false, "ledgerTransportType": "webhid", "snapRegistryList": "object", "transactionSecurityCheckEnabled": false, diff --git a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json index 98f21ebd506a..75bd62d27908 100644 --- a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json +++ b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-background-state.json @@ -80,7 +80,6 @@ "featureFlags": {}, "forgottenPassword": false, "identities": "object", - "infuraBlocked": false, "ipfsGateway": "string", "knownMethodData": "object", "ledgerTransportType": "webhid", diff --git a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json index bf25106ca50b..5fa13c429985 100644 --- a/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json +++ b/test/e2e/tests/state-snapshots/errors-before-init-opt-in-ui-state.json @@ -80,7 +80,6 @@ "featureFlags": {}, "forgottenPassword": false, "identities": "object", - "infuraBlocked": false, "ipfsGateway": "string", "knownMethodData": "object", "ledgerTransportType": "webhid", diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js index 01b60ce21496..2d76d4838bfa 100644 --- a/ui/selectors/selectors.js +++ b/ui/selectors/selectors.js @@ -752,7 +752,10 @@ export function getIpfsGateway(state) { } export function getInfuraBlocked(state) { - return Boolean(state.metamask.infuraBlocked); + return ( + state.metamask.networksMetadata[getSelectedNetworkClientId(state)] + .status === NetworkStatus.Blocked + ); } export function getUSDConversionRate(state) { diff --git a/ui/selectors/selectors.test.js b/ui/selectors/selectors.test.js index bbfa6f0bb1a5..bfa8c412f2c6 100644 --- a/ui/selectors/selectors.test.js +++ b/ui/selectors/selectors.test.js @@ -760,4 +760,24 @@ describe('Selectors', () => { mockState.metamask.snapsInstallPrivacyWarningShown = null; expect(selectors.getSnapsInstallPrivacyWarningShown(mockState)).toBe(false); }); + + it('#getInfuraBlocked', () => { + let isInfuraBlocked = selectors.getInfuraBlocked(mockState); + expect(isInfuraBlocked).toBe(false); + + const modifiedMockState = { + ...mockState, + metamask: { + ...mockState.metamask, + networksMetadata: { + ...mockState.metamask.networksMetadata, + goerli: { + status: 'blocked', + }, + }, + }, + }; + isInfuraBlocked = selectors.getInfuraBlocked(modifiedMockState); + expect(isInfuraBlocked).toBe(true); + }); }); diff --git a/yarn.lock b/yarn.lock index 9fb2e813cb4d..7c407e6c4bb8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3029,12 +3029,12 @@ __metadata: linkType: hard "@jest/expect@npm:^29.1.2": - version: 29.6.2 - resolution: "@jest/expect@npm:29.6.2" + version: 29.1.2 + resolution: "@jest/expect@npm:29.1.2" dependencies: - expect: "npm:^29.6.2" - jest-snapshot: "npm:^29.6.2" - checksum: 2beed96e3d24945a72aa2ae4843c99f4c631564569258fdde6746fae3efcbfbff96dbf92ed28d6531299bd12b2766075bacaaae88ebf84b99316e77151b43a9f + expect: "npm:^29.1.2" + jest-snapshot: "npm:^29.1.2" + checksum: 7bb80bf176f39becdbd2ef54be615c3e7010f3230ccc419f22c97fa5b66e0fa14bb6b05019840d01cd1892e42be8158bea4c94487f05da1dd2b85a4ac097dd15 languageName: node linkType: hard @@ -16720,7 +16720,7 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.6.2": +"expect@npm:^29.0.0, expect@npm:^29.1.2, expect@npm:^29.6.2": version: 29.6.2 resolution: "expect@npm:29.6.2" dependencies: @@ -21807,7 +21807,7 @@ __metadata: languageName: node linkType: hard -"jest-snapshot@npm:^29.1.2, jest-snapshot@npm:^29.6.2": +"jest-snapshot@npm:^29.1.2": version: 29.6.2 resolution: "jest-snapshot@npm:29.6.2" dependencies: