diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index dcc761386ac7..61a24aabc839 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -834,8 +834,6 @@ export default class MetamaskController extends EventEmitter { stalelistRefreshInterval: process.env.IN_TEST ? 30 * SECOND : undefined, }); - this.phishingController.maybeUpdateState(); - ///: BEGIN:ONLY_INCLUDE_IF(blockaid) this.ppomController = new PPOMController({ messenger: this.controllerMessenger.getRestricted({ @@ -2270,7 +2268,13 @@ export default class MetamaskController extends EventEmitter { } postOnboardingInitialization() { + const { usePhishDetect } = this.preferencesController.store.getState(); + this.networkController.lookupNetwork(); + + if (usePhishDetect) { + this.phishingController.maybeUpdateState(); + } } triggerNetworkrequests() { diff --git a/test/e2e/tests/privacy/basic-functionality.spec.js b/test/e2e/tests/privacy/basic-functionality.spec.js index eea5e02229a4..99ee75b46c0b 100644 --- a/test/e2e/tests/privacy/basic-functionality.spec.js +++ b/test/e2e/tests/privacy/basic-functionality.spec.js @@ -7,10 +7,17 @@ const { tinyDelayMs, defaultGanacheOptions, } = require('../../helpers'); +const { METAMASK_STALELIST_URL } = require('../phishing-controller/helpers'); const FixtureBuilder = require('../../fixture-builder'); async function mockApis(mockServer) { return [ + await mockServer.forGet(METAMASK_STALELIST_URL).thenCallback(() => { + return { + statusCode: 200, + body: [{ fakedata: true }], + }; + }), await mockServer .forGet('https://token-api.metaswap.codefi.network/tokens/1') .thenCallback(() => { diff --git a/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js b/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js index f4597bdc81d6..8613011028e7 100644 --- a/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js +++ b/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js @@ -66,7 +66,6 @@ export default function PrivacySettings() { const defaultState = useSelector((state) => state.metamask); const { incomingTransactionsPreferences, - usePhishDetect, use4ByteResolution, useTokenDetection, useCurrencyRateCheck, @@ -77,8 +76,7 @@ export default function PrivacySettings() { } = defaultState; const petnamesEnabled = useSelector(getPetnamesEnabled); - const [usePhishingDetection, setUsePhishingDetection] = - useState(usePhishDetect); + const [usePhishingDetection, setUsePhishingDetection] = useState(null); const [turnOn4ByteResolution, setTurnOn4ByteResolution] = useState(use4ByteResolution); const [turnOnTokenDetection, setTurnOnTokenDetection] = @@ -107,9 +105,14 @@ export default function PrivacySettings() { getExternalServicesOnboardingToggleState, ); + const phishingToggleState = + usePhishingDetection === null + ? externalServicesOnboardingToggleState + : usePhishingDetection; + const handleSubmit = () => { dispatch(toggleExternalServices(externalServicesOnboardingToggleState)); - dispatch(setUsePhishDetect(usePhishingDetection)); + dispatch(setUsePhishDetect(phishingToggleState)); dispatch(setUse4ByteResolution(turnOn4ByteResolution)); dispatch(setUseTokenDetection(turnOnTokenDetection)); dispatch( @@ -198,7 +201,7 @@ export default function PrivacySettings() { incomingTransactionsPreferences={incomingTransactionsPreferences} />