diff --git a/app/_locales/de/messages.json b/app/_locales/de/messages.json index cfde639e3175..ab4b13df9c47 100644 --- a/app/_locales/de/messages.json +++ b/app/_locales/de/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Dies ist eine erweiterte Funktion, verwenden Sie diese vorsichtig." }, - "editPermissions": { - "message": "Genehmigungen bearbeiten" - }, "editSpendingCap": { "message": "Ausgabenobergrenze bearbeiten" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "Sie erteilen dem Spender die Genehmigung, diese Menge an Tokens von Ihrem Konto auszugeben." }, - "permittedChainToastUpdate": { - "message": "$1 hat Zugang zu $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/el/messages.json b/app/_locales/el/messages.json index 783b47ee7c16..1abcbfd17929 100644 --- a/app/_locales/el/messages.json +++ b/app/_locales/el/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Αυτή είναι μια προηγμένη λειτουργία, χρησιμοποιήστε την με προσοχή." }, - "editPermissions": { - "message": "Επεξεργασία αδειών" - }, "editSpendingCap": { "message": "Επεξεργασία ανώτατου ορίου δαπανών" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "Δίνετε στον χρήστη την άδεια να ξοδέψει αυτά τα token από τον λογαριασμό σας." }, - "permittedChainToastUpdate": { - "message": "Το $1 έχει πρόσβαση στο $2." - }, "perps": { "message": "Συμβ.αορ." }, diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json index be2fce574ba1..8c2600676217 100644 --- a/app/_locales/en/messages.json +++ b/app/_locales/en/messages.json @@ -3707,9 +3707,6 @@ "editNonceMessage": { "message": "This is an advanced feature, use cautiously." }, - "editPermissions": { - "message": "Edit permissions" - }, "editSpendingCap": { "message": "Edit spending cap" }, @@ -6968,9 +6965,6 @@ "permitSimulationDetailInfo": { "message": "You're giving the spender permission to spend this many tokens from your account." }, - "permittedChainToastUpdate": { - "message": "$1 has access to $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/en_GB/messages.json b/app/_locales/en_GB/messages.json index be2fce574ba1..8c2600676217 100644 --- a/app/_locales/en_GB/messages.json +++ b/app/_locales/en_GB/messages.json @@ -3707,9 +3707,6 @@ "editNonceMessage": { "message": "This is an advanced feature, use cautiously." }, - "editPermissions": { - "message": "Edit permissions" - }, "editSpendingCap": { "message": "Edit spending cap" }, @@ -6968,9 +6965,6 @@ "permitSimulationDetailInfo": { "message": "You're giving the spender permission to spend this many tokens from your account." }, - "permittedChainToastUpdate": { - "message": "$1 has access to $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/es_419/messages.json b/app/_locales/es_419/messages.json index 37af4a9d6b9e..333eff2086f4 100644 --- a/app/_locales/es_419/messages.json +++ b/app/_locales/es_419/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Esta es una función avanzada, úsela con precaución." }, - "editPermissions": { - "message": "Editar permisos" - }, "editSpendingCap": { "message": "Editar límite de gasto" }, @@ -6830,9 +6827,6 @@ "permitSimulationDetailInfo": { "message": "Le está dando permiso al gastador para gastar esta cantidad de tokens de su cuenta." }, - "permittedChainToastUpdate": { - "message": "$1 tiene acceso a $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json index 47120903cca5..f0dec8f4a016 100644 --- a/app/_locales/fr/messages.json +++ b/app/_locales/fr/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Il s’agit d’une fonction avancée, à utiliser avec précaution." }, - "editPermissions": { - "message": "Modifier les autorisations" - }, "editSpendingCap": { "message": "Modifier le plafond des dépenses" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "Vous donnez au dépenseur l’autorisation de retirer ce nombre de jetons de votre compte." }, - "permittedChainToastUpdate": { - "message": "$1 a accès à $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/ga/messages.json b/app/_locales/ga/messages.json index 306d60f4c4d6..b00fcc2b3e53 100644 --- a/app/_locales/ga/messages.json +++ b/app/_locales/ga/messages.json @@ -1718,9 +1718,6 @@ "editNonceMessage": { "message": "Is gné ardteicneolaíochta í seo, bain úsáid as go cúramach." }, - "editPermissions": { - "message": "Ceadanna a chur in eagar" - }, "editSpendingCap": { "message": "Cuir an teorainn caiteachais in eagar" }, @@ -3905,9 +3902,6 @@ "permitSimulationDetailInfo": { "message": "Tá tú ag tabhairt cead don chaiteoir an líon seo comharthaí a chaitheamh ó do chuntas." }, - "permittedChainToastUpdate": { - "message": "Tá rochtain ag $1 ar $2." - }, "personalAddressDetected": { "message": "Seoladh pearsanta braite. Cuir isteach seoladh an chonartha comhartha." }, diff --git a/app/_locales/hi/messages.json b/app/_locales/hi/messages.json index 830a861545d1..b48f422598d1 100644 --- a/app/_locales/hi/messages.json +++ b/app/_locales/hi/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "यह एक एडवांस्ड सुविधा है, सावधानी से इस्तेमाल करें।" }, - "editPermissions": { - "message": "अनुमतियाँ बदलें" - }, "editSpendingCap": { "message": "खर्च करने की लिमिट बदलें" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "आप खर्च करने वाले को अपने अकाउंट से इतने सारे टोकन खर्च करने की अनुमति दे रहे हैं।" }, - "permittedChainToastUpdate": { - "message": "$1 की पहुंच $2 तक है।" - }, "perps": { "message": "पर्प्स" }, diff --git a/app/_locales/id/messages.json b/app/_locales/id/messages.json index 6e9ad56a0258..a7d6aedb8217 100644 --- a/app/_locales/id/messages.json +++ b/app/_locales/id/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Ini merupakan fitur lanjutan, gunakan dengan hati-hati." }, - "editPermissions": { - "message": "Edit izin" - }, "editSpendingCap": { "message": "Edit batas penggunaan" }, @@ -6830,9 +6827,6 @@ "permitSimulationDetailInfo": { "message": "Anda memberi izin kepada spender untuk menggunakan sejumlah token ini dari akun Anda." }, - "permittedChainToastUpdate": { - "message": "$1 memiliki akses ke $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/ja/messages.json b/app/_locales/ja/messages.json index b95b247892c7..e2fb1c445f9e 100644 --- a/app/_locales/ja/messages.json +++ b/app/_locales/ja/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "これは高度な機能であり、慎重に使用してください。" }, - "editPermissions": { - "message": "アクセス許可を編集" - }, "editSpendingCap": { "message": "使用上限の編集" }, @@ -6830,9 +6827,6 @@ "permitSimulationDetailInfo": { "message": "アカウントからこの量のトークンを使用する、使用者権限を付与しようとしています。" }, - "permittedChainToastUpdate": { - "message": "$1は$2にアクセスできます。" - }, "perps": { "message": "パーペチュアル" }, diff --git a/app/_locales/ko/messages.json b/app/_locales/ko/messages.json index 00f9006840eb..ade54de07cd7 100644 --- a/app/_locales/ko/messages.json +++ b/app/_locales/ko/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "이는 고급 기능으로, 주의해서 사용해야 합니다." }, - "editPermissions": { - "message": "권한 수정" - }, "editSpendingCap": { "message": "지출 한도 편집" }, @@ -6830,9 +6827,6 @@ "permitSimulationDetailInfo": { "message": "지출자에게 내 계정에서 이 정도의 토큰을 지출할 수 있는 권한을 부여합니다." }, - "permittedChainToastUpdate": { - "message": "$1은(는) $2에 액세스 할 수 있습니다." - }, "perps": { "message": "무기한 선물" }, diff --git a/app/_locales/pt/messages.json b/app/_locales/pt/messages.json index fd8868f2856d..7a8cf31406ed 100644 --- a/app/_locales/pt/messages.json +++ b/app/_locales/pt/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Esse é um recurso avançado; use com cautela." }, - "editPermissions": { - "message": "Editar permissões" - }, "editSpendingCap": { "message": "Editar limite de gastos" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "Você está autorizando o consumidor a gastar esta quantidade de tokens de sua conta." }, - "permittedChainToastUpdate": { - "message": "$1 tem acesso a $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/ru/messages.json b/app/_locales/ru/messages.json index e7e4c0d76144..5f2886612650 100644 --- a/app/_locales/ru/messages.json +++ b/app/_locales/ru/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Это продвинутая функция, используйте ее с осторожностью." }, - "editPermissions": { - "message": "Изменить разрешения" - }, "editSpendingCap": { "message": "Изменить лимит расходов" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "Вы даете отправителю разрешение потратить такое количество токенов с вашего счета." }, - "permittedChainToastUpdate": { - "message": "У $1 есть доступ к $2." - }, "perps": { "message": "Перпы" }, diff --git a/app/_locales/tl/messages.json b/app/_locales/tl/messages.json index 51bf18805cf1..1ab964a70111 100644 --- a/app/_locales/tl/messages.json +++ b/app/_locales/tl/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Ito ay isang advanced feature, maingat na gamitin." }, - "editPermissions": { - "message": "Mag-edit ng mga pahintulot" - }, "editSpendingCap": { "message": "I-edit ang limitasyon sa paggastos" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "Binibigyan mo ng pahintulot ang gumagastos na gastusin ang ganito karaming token mula sa account mo." }, - "permittedChainToastUpdate": { - "message": "Ang $1 ay may access sa $2." - }, "perps": { "message": "Perps" }, diff --git a/app/_locales/tr/messages.json b/app/_locales/tr/messages.json index 56005d167faa..613c7c14981f 100644 --- a/app/_locales/tr/messages.json +++ b/app/_locales/tr/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Bu gelişmiş bir özelliktir, dikkatli kullanın." }, - "editPermissions": { - "message": "İzinleri düzenle" - }, "editSpendingCap": { "message": "Harcama üst limitini düzenle" }, @@ -6830,9 +6827,6 @@ "permitSimulationDetailInfo": { "message": "Harcama yapan tarafa hesabınızdan bu kadar token harcama izni veriyorsunuz." }, - "permittedChainToastUpdate": { - "message": "$1 için $2 erişimi var." - }, "perps": { "message": "Sürekli Vadeli" }, diff --git a/app/_locales/vi/messages.json b/app/_locales/vi/messages.json index 7ed8b6ab73ab..05f6e4a84dcf 100644 --- a/app/_locales/vi/messages.json +++ b/app/_locales/vi/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "Đây là tính năng nâng cao, hãy dùng một cách thận trọng." }, - "editPermissions": { - "message": "Chỉnh sửa quyền" - }, "editSpendingCap": { "message": "Chỉnh sửa hạn mức chi tiêu" }, @@ -6830,9 +6827,6 @@ "permitSimulationDetailInfo": { "message": "Bạn đang cho phép người chi tiêu sử dụng số lượng token này từ tài khoản của bạn." }, - "permittedChainToastUpdate": { - "message": "$1 có quyền truy cập vào $2." - }, "perps": { "message": "Vĩnh cửu" }, diff --git a/app/_locales/zh_CN/messages.json b/app/_locales/zh_CN/messages.json index 3e6448fccc81..6d6516150e0c 100644 --- a/app/_locales/zh_CN/messages.json +++ b/app/_locales/zh_CN/messages.json @@ -3588,9 +3588,6 @@ "editNonceMessage": { "message": "这是高级功能,请谨慎使用。" }, - "editPermissions": { - "message": "编辑许可" - }, "editSpendingCap": { "message": "编辑支出上限" }, @@ -6826,9 +6823,6 @@ "permitSimulationDetailInfo": { "message": "您将授予支出者许可,才能从您的账户花费这些代币。" }, - "permittedChainToastUpdate": { - "message": "$1 可以访问 $2。" - }, "perps": { "message": "永续合约" }, diff --git a/test/data/mock-send-state.json b/test/data/mock-send-state.json index fea698037a87..9af34db16dd4 100644 --- a/test/data/mock-send-state.json +++ b/test/data/mock-send-state.json @@ -12,7 +12,6 @@ "appState": { "networkDropdownOpen": false, "importNftsModal": { "open": false }, - "showPermittedNetworkToastOpen": false, "isLoading": false, "modal": { "open": false, diff --git a/test/data/mock-state.json b/test/data/mock-state.json index b796ed7a4026..22f10c78fee9 100644 --- a/test/data/mock-state.json +++ b/test/data/mock-state.json @@ -18,7 +18,6 @@ "importNftsModal": { "open": false }, - "showPermittedNetworkToastOpen": false, "isLoading": false, "modal": { "open": false, diff --git a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json index 50f130448b90..5bf6dede9e0a 100644 --- a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json +++ b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json @@ -48,7 +48,6 @@ "showInfuraSwitchToast": "boolean", "showIpfsModalOpen": "boolean", "showKeyringRemovalSnapModal": "boolean", - "showPermittedNetworkToastOpen": "boolean", "showSupportDataConsentModal": "boolean", "singleExceptions": "object", "smartTransactionsError": null, diff --git a/test/e2e/tests/settings/state-logs.json b/test/e2e/tests/settings/state-logs.json index e57a9c9e4cb6..1b17902b75b5 100644 --- a/test/e2e/tests/settings/state-logs.json +++ b/test/e2e/tests/settings/state-logs.json @@ -74,7 +74,6 @@ "showInfuraSwitchToast": "boolean", "showIpfsModalOpen": "boolean", "showKeyringRemovalSnapModal": "boolean", - "showPermittedNetworkToastOpen": "boolean", "showSupportDataConsentModal": "boolean", "singleExceptions": { "testKey": "null" diff --git a/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.test.tsx b/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.test.tsx index d30443b4c114..3b7c4d2369b9 100644 --- a/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.test.tsx +++ b/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.test.tsx @@ -43,16 +43,6 @@ jest.mock('../../../../hooks/useAccountGroupsForPermissions', () => ({ })), })); -jest.mock( - '../../../../hooks/multichain-accounts/usePermittedNetworkToast', - () => ({ - usePermittedNetworkToast: () => ({ - dismissPermittedNetworkToast: jest.fn(), - showPermittedNetworkToast: jest.fn(), - }), - }), -); - jest.mock('../../../../store/actions', () => ({ forceUpdateMetamaskState: jest.fn(), removePermissionsFor: jest.fn(() => ({ type: 'REMOVE_PERMISSIONS_FOR' })), diff --git a/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.tsx b/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.tsx index 08f7120b8b16..72c2e0167d61 100644 --- a/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.tsx +++ b/ui/components/multichain-accounts/permissions/permission-review-page/multichain-review-permissions-page.tsx @@ -32,7 +32,6 @@ import { setPermittedAccounts, setPermittedChains, } from '../../../../store/actions'; -import { usePermittedNetworkToast } from '../../../../hooks/multichain-accounts/usePermittedNetworkToast'; import { toast, ToastContent } from '../../../ui/toast/toast'; import { NoConnectionContent } from '../../../multichain/pages/connections/components/no-connection'; import { Content, Footer, Page } from '../../../multichain/pages/page'; @@ -68,7 +67,6 @@ export const MultichainReviewPermissions = () => { const t = useI18nContext(); const dispatch = useDispatch(); const navigate = useNavigate(); - const { dismissPermittedNetworkToast } = usePermittedNetworkToast(); const [searchParams] = useSearchParams(); const originParam = searchParams.get('origin'); @@ -127,7 +125,6 @@ export const MultichainReviewPermissions = () => { dispatch(removePermissionsFor(permissionsRecord)); } } - dismissPermittedNetworkToast(); }; const handleDisconnectClick = () => { diff --git a/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.test.tsx b/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.test.tsx index 875192586866..4d03edee1b72 100644 --- a/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.test.tsx +++ b/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.test.tsx @@ -35,7 +35,6 @@ const mockSetNetworkClientIdForDomain = jest.fn( const mockAddPermittedChain = jest.fn( (_origin: string, _chainId: string) => () => Promise.resolve(), ); -const mockShowPermittedNetworkToast = jest.fn(); const mockUpdateCustomNonce = jest.fn(() => ({ type: 'UPDATE_CUSTOM_NONCE' })); const mockSetNextNonce = jest.fn(() => ({ type: 'SET_NEXT_NONCE' })); const mockDetectNfts = jest.fn((_) => () => Promise.resolve()); @@ -43,17 +42,6 @@ const mockSetTokenNetworkFilter = jest.fn((_) => ({ type: 'SET_TOKEN_NETWORK_FILTER', })); -jest.mock( - '../../../hooks/multichain-accounts/usePermittedNetworkToast', - () => ({ - usePermittedNetworkToast: () => ({ - showPermittedNetworkToast: (...args: unknown[]) => - mockShowPermittedNetworkToast(...args), - dismissPermittedNetworkToast: jest.fn(), - }), - }), -); - jest.mock('../../../store/actions', () => ({ ...jest.requireActual('../../../store/actions'), setActiveNetwork: (id: string) => mockSetActiveNetwork(id), @@ -315,10 +303,6 @@ describe('DappBarNetworkSelectorPopover', () => { expect(mockAddPermittedChain).not.toHaveBeenCalled(); }); - it('does not surface the permitted-network toast', () => { - expect(mockShowPermittedNetworkToast).not.toHaveBeenCalled(); - }); - it('activates the selected network client', () => { expect(mockSetActiveNetwork).toHaveBeenCalledWith(BNB_CLIENT_ID); }); @@ -381,10 +365,6 @@ describe('DappBarNetworkSelectorPopover', () => { ); }); - it('surfaces the permitted-network toast', () => { - expect(mockShowPermittedNetworkToast).toHaveBeenCalledTimes(1); - }); - it('persists the per-origin network client', () => { expect(mockSetNetworkClientIdForDomain).toHaveBeenCalledWith( DAPP_ORIGIN, @@ -429,7 +409,6 @@ describe('DappBarNetworkSelectorPopover', () => { }); expect(mockSetNetworkClientIdForDomain).not.toHaveBeenCalled(); expect(mockAddPermittedChain).not.toHaveBeenCalled(); - expect(mockShowPermittedNetworkToast).not.toHaveBeenCalled(); expect(onClose).toHaveBeenCalledTimes(1); }); diff --git a/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.tsx b/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.tsx index 98af4b8a987c..4386e0c9e0c2 100644 --- a/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.tsx +++ b/ui/components/multichain/dapp-connection-control-bar/dapp-bar-network-selector-popover.tsx @@ -18,7 +18,6 @@ import { TextVariant, } from '@metamask/design-system-react'; import { useAnalytics } from '../../../hooks/useAnalytics'; -import { usePermittedNetworkToast } from '../../../hooks/multichain-accounts/usePermittedNetworkToast'; import { AvatarNetworkSize, Popover, @@ -89,7 +88,6 @@ export const DappBarEVMNetworkSelectorPopover: React.FC< const dispatch = useDispatch(); const t = useI18nContext(); const { trackEvent, createEventBuilder } = useAnalytics(); - const { showPermittedNetworkToast } = usePermittedNetworkToast(); const selectedTabOrigin = useSelector(getOriginOfCurrentTab); const domains = useSelector(getAllDomains); @@ -178,10 +176,6 @@ export const DappBarEVMNetworkSelectorPopover: React.FC< await dispatch( addPermittedChain(selectedTabOrigin, network.chainId), ); - showPermittedNetworkToast({ - origin: selectedTabOrigin, - network, - }); } await setNetworkClientIdForDomain( @@ -236,7 +230,6 @@ export const DappBarEVMNetworkSelectorPopover: React.FC< tokenNetworkFilter, trackEvent, createEventBuilder, - showPermittedNetworkToast, onClose, ], ); diff --git a/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.test.tsx b/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.test.tsx index 9f25c6caa400..1c9ff6c345b1 100644 --- a/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.test.tsx +++ b/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.test.tsx @@ -14,7 +14,6 @@ jest.mock('react-router-dom', () => ({ const mockRemovePermissionsFor = jest.fn( (_subjects: Record) => () => Promise.resolve(), ); -const mockDismissPermittedNetworkToast = jest.fn(); const mockSetActiveNetwork = jest.fn((_networkClientId: string) => ({ type: 'SET_ACTIVE_NETWORK', })); @@ -26,16 +25,6 @@ const mockAddPermittedAccounts = jest.fn( (_origin: string, _addresses: string[]) => () => Promise.resolve(), ); -jest.mock( - '../../../hooks/multichain-accounts/usePermittedNetworkToast', - () => ({ - usePermittedNetworkToast: () => ({ - dismissPermittedNetworkToast: () => mockDismissPermittedNetworkToast(), - showPermittedNetworkToast: jest.fn(), - }), - }), -); - jest.mock('../../../store/actions', () => ({ ...jest.requireActual('../../../store/actions'), removePermissionsFor: (subjects: Record) => @@ -304,7 +293,6 @@ describe('DappConnectionControlBar', () => { expect(mockRemovePermissionsFor).toHaveBeenCalledWith({ [DAPP_ORIGIN]: ['endowment:caip25'], }); - expect(mockDismissPermittedNetworkToast).toHaveBeenCalled(); expect(queryByTestId('disconnect-all-modal')).not.toBeInTheDocument(); }); }); diff --git a/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.tsx b/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.tsx index ca7341ce5c47..62cdce5bba00 100644 --- a/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.tsx +++ b/ui/components/multichain/dapp-connection-control-bar/dapp-connection-control-bar.tsx @@ -53,7 +53,6 @@ import { CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP } from '../../../../shared/constants/ import { getURLHost } from '../../../helpers/utils/util'; import { getCaip25CaveatValueFromPermissions } from '../../../helpers/utils/caip25-permissions'; import { hasChainIdSupport } from '../../../../shared/lib/multichain/scope-utils'; -import { usePermittedNetworkToast } from '../../../hooks/multichain-accounts/usePermittedNetworkToast'; import { DisconnectAllModal } from '../disconnect-all-modal/disconnect-all-modal'; import { useDispatch } from '../../../store/hooks'; import { DappBarEVMNetworkSelectorPopover } from './dapp-bar-network-selector-popover'; @@ -72,7 +71,6 @@ export const DappConnectionControlBar = memo(() => { const t = useI18nContext(); const dispatch = useDispatch(); const navigate = useNavigate(); - const { dismissPermittedNetworkToast } = usePermittedNetworkToast(); const [showDisconnectModal, setShowDisconnectModal] = useState(false); const [isNetworkPopoverOpen, setIsNetworkPopoverOpen] = useState(false); const [networkButtonElement, setNetworkButtonElement] = @@ -191,9 +189,8 @@ export const DappConnectionControlBar = memo(() => { dispatch(removePermissionsFor(permissionsRecord)); } } - dismissPermittedNetworkToast(); setShowDisconnectModal(false); - }, [dispatch, subjects, activeTabOrigin, dismissPermittedNetworkToast]); + }, [dispatch, subjects, activeTabOrigin]); const handleDisconnectClick = useCallback(() => { setShowDisconnectModal(true); diff --git a/ui/components/multichain/network-list-menu/network-list-menu.test.tsx b/ui/components/multichain/network-list-menu/network-list-menu.test.tsx index 09a6eaec3cba..7a86841ef5eb 100644 --- a/ui/components/multichain/network-list-menu/network-list-menu.test.tsx +++ b/ui/components/multichain/network-list-menu/network-list-menu.test.tsx @@ -28,21 +28,8 @@ const mockSetNextNonce = jest.fn(); const mockSetTokenNetworkFilter = jest.fn(); const mockDetectNfts = jest.fn(); const mockAddPermittedChain = jest.fn(); -const mockShowPermittedNetworkToast = jest.fn(); const mockSetEnabledNetworks = jest.fn(); -jest.mock( - '../../../hooks/multichain-accounts/usePermittedNetworkToast', - () => ({ - usePermittedNetworkToast: () => ({ - showPermittedNetworkToast: (...args: unknown[]) => { - mockShowPermittedNetworkToast(...args); - }, - dismissPermittedNetworkToast: jest.fn(), - }), - }), -); - jest.mock('../../../store/actions.ts', () => ({ setShowTestNetworks: () => { mockSetShowTestNetworks(); @@ -567,7 +554,6 @@ describe('NetworkListMenu', () => { MOCK_ORIGIN, 'eip155:1', ); - expect(mockShowPermittedNetworkToast).toHaveBeenCalled(); expect(mockSetNetworkClientIdForDomain).toHaveBeenCalledWith( MOCK_ORIGIN, NETWORK_TYPES.MAINNET, @@ -634,9 +620,6 @@ describe('NetworkListMenu', () => { 'eip155:1337', ), ); - await waitFor(() => - expect(mockShowPermittedNetworkToast).toHaveBeenCalled(), - ); await waitFor(() => expect(mockSetNetworkClientIdForDomain).toHaveBeenCalledWith( MOCK_ORIGIN, diff --git a/ui/components/multichain/network-list-menu/network-list-menu.tsx b/ui/components/multichain/network-list-menu/network-list-menu.tsx index 8b160e7c6ae6..5305018100c2 100644 --- a/ui/components/multichain/network-list-menu/network-list-menu.tsx +++ b/ui/components/multichain/network-list-menu/network-list-menu.tsx @@ -29,7 +29,6 @@ import { import { useAnalytics } from '../../../hooks/useAnalytics'; import { useI18nContext } from '../../../hooks/useI18nContext'; import { useAccountNetworkAvailability } from '../../../hooks/accounts/useAccountNetworkAvailability'; -import { usePermittedNetworkToast } from '../../../hooks/multichain-accounts/usePermittedNetworkToast'; import { NetworkListItem } from '../network-list-item'; import { removeNetwork, @@ -171,7 +170,6 @@ export const NetworkListMenu = ({ onClose }: NetworkListMenuProps) => { const dispatch = useDispatch(); const { trackEvent, createEventBuilder } = useAnalytics(); const { hasAnyAccountsInNetwork } = useAccountNetworkAvailability(); - const { showPermittedNetworkToast } = usePermittedNetworkToast(); const { tokenNetworkFilter } = useSelector(getPreferences); const showTestnets = useSelector(getShowTestNetworks); @@ -431,10 +429,6 @@ export const NetworkListMenu = ({ onClose }: NetworkListMenuProps) => { if (!isNetworkPermitted) { await dispatch(addPermittedChain(selectedTabOrigin, chainId)); - showPermittedNetworkToast({ - origin: selectedTabOrigin, - network: getMultichainNetworkConfigurationOrThrow(chainId), - }); } await setNetworkClientIdForDomain( @@ -472,8 +466,6 @@ export const NetworkListMenu = ({ onClose }: NetworkListMenuProps) => { allChainIds, tokenNetworkFilter, dispatch, - getMultichainNetworkConfigurationOrThrow, - showPermittedNetworkToast, ], ); diff --git a/ui/ducks/app/app.ts b/ui/ducks/app/app.ts index 5cfe4ee7d5d6..10c08e2be1d3 100644 --- a/ui/ducks/app/app.ts +++ b/ui/ducks/app/app.ts @@ -46,7 +46,6 @@ type AppState = { tokenId?: string; ignoreErc20Token?: boolean; }; - showPermittedNetworkToastOpen: boolean; showIpfsModalOpen: boolean; showSupportDataConsentModal: boolean; keyringRemovalSnapModal: { @@ -150,7 +149,6 @@ const initialState: AppState = { qrCodeData: null, networkDropdownOpen: false, importNftsModal: { open: false }, - showPermittedNetworkToastOpen: false, showIpfsModalOpen: false, showBasicFunctionalityModal: false, externalServicesOnboardingToggleState: true, @@ -325,18 +323,6 @@ export default function reduceApp( showIpfsModalOpen: false, }; - case actionConstants.SHOW_PERMITTED_NETWORK_TOAST_OPEN: - return { - ...appState, - showPermittedNetworkToastOpen: true, - }; - - case actionConstants.SHOW_PERMITTED_NETWORK_TOAST_CLOSE: - return { - ...appState, - showPermittedNetworkToastOpen: false, - }; - case actionConstants.DEPRECATED_NETWORK_POPOVER_OPEN: return { ...appState, diff --git a/ui/hooks/multichain-accounts/usePermittedNetworkToast.test.tsx b/ui/hooks/multichain-accounts/usePermittedNetworkToast.test.tsx deleted file mode 100644 index 40ebe9a9aa6f..000000000000 --- a/ui/hooks/multichain-accounts/usePermittedNetworkToast.test.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import React from 'react'; -import { fireEvent, render, renderHook, screen } from '@testing-library/react'; -import type { MultichainNetworkConfiguration } from '@metamask/multichain-network-controller'; -import { REVIEW_PERMISSIONS } from '../../helpers/constants/routes'; -import { - permittedNetworkToastId, - usePermittedNetworkToast, -} from './usePermittedNetworkToast'; - -const mockNavigate = jest.fn(); -const mockToastSuccess = jest.fn(); -const mockToastDismiss = jest.fn(); -const mockT = jest.fn((key: string, args?: string[]) => { - if (key === 'permittedChainToastUpdate') { - return `${args?.[0]}::${args?.[1]}`; - } - if (key === 'editPermissions') { - return 'edit-permissions-action'; - } - return key; -}); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useNavigate: () => mockNavigate, -})); - -jest.mock('../useI18nContext', () => ({ - useI18nContext: () => mockT, -})); - -jest.mock('../../components/ui/toast/toast', () => ({ - toast: { - success: (...args: unknown[]) => mockToastSuccess(...args), - dismiss: (...args: unknown[]) => mockToastDismiss(...args), - }, - ToastContent: ({ - title, - actionText, - onActionClick, - dataTestId, - }: { - title: string; - actionText?: string; - onActionClick?: () => void; - dataTestId?: string; - }) => ( -
- {title} - {onActionClick && actionText ? ( - - ) : null} -
- ), -})); - -jest.mock('../../../shared/lib/network.utils', () => ({ - getNetworkIcon: () => 'network-icon.svg', -})); - -const network = { - chainId: 'eip155:1', - name: 'Ethereum Mainnet', - isEvm: true, -} as unknown as MultichainNetworkConfiguration; - -describe('usePermittedNetworkToast', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); - - it('shows a success toast with host, network name, and edit-permissions action', () => { - const { result } = renderHook(() => usePermittedNetworkToast()); - - result.current.showPermittedNetworkToast({ - origin: 'https://dapp.example.com', - network, - }); - - expect(mockToastSuccess).toHaveBeenCalledTimes(1); - const [content, options] = mockToastSuccess.mock.calls[0]; - expect(options).toEqual( - expect.objectContaining({ - id: permittedNetworkToastId, - duration: Infinity, - }), - ); - - render(content); - expect( - screen.getByText('dapp.example.com::Ethereum Mainnet'), - ).toBeInTheDocument(); - expect(screen.getByTestId(permittedNetworkToastId)).toBeInTheDocument(); - - fireEvent.click(screen.getByText('edit-permissions-action')); - expect(mockToastDismiss).toHaveBeenCalledWith(permittedNetworkToastId); - expect(mockNavigate).toHaveBeenCalledWith( - `${REVIEW_PERMISSIONS}?origin=${encodeURIComponent('https://dapp.example.com')}`, - ); - }); - - it('dismisses the permitted-network toast by id', () => { - const { result } = renderHook(() => usePermittedNetworkToast()); - - result.current.dismissPermittedNetworkToast(); - - expect(mockToastDismiss).toHaveBeenCalledWith(permittedNetworkToastId); - }); -}); diff --git a/ui/hooks/multichain-accounts/usePermittedNetworkToast.tsx b/ui/hooks/multichain-accounts/usePermittedNetworkToast.tsx deleted file mode 100644 index 9100f4d80fe6..000000000000 --- a/ui/hooks/multichain-accounts/usePermittedNetworkToast.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useCallback } from 'react'; -import { useNavigate } from 'react-router-dom'; -import { - AvatarNetwork, - AvatarNetworkSize, -} from '@metamask/design-system-react'; -import type { MultichainNetworkConfiguration } from '@metamask/multichain-network-controller'; -import { toast, ToastContent } from '../../components/ui/toast/toast'; -import { REVIEW_PERMISSIONS } from '../../helpers/constants/routes'; -import { getURLHost } from '../../helpers/utils/util'; -import { getNetworkIcon } from '../../../shared/lib/network.utils'; -import { useI18nContext } from '../useI18nContext'; - -export const permittedNetworkToastId = 'permitted-network-toast'; - -type ShowPermittedNetworkToastParams = { - origin: string; - network: MultichainNetworkConfiguration; -}; - -export const usePermittedNetworkToast = () => { - const t = useI18nContext(); - const navigate = useNavigate(); - - const showPermittedNetworkToast = useCallback( - ({ origin, network }: ShowPermittedNetworkToastParams) => { - const networkName = network.name; - - toast.success( - { - toast.dismiss(permittedNetworkToastId); - navigate( - `${REVIEW_PERMISSIONS}?origin=${encodeURIComponent(origin)}`, - ); - }} - dataTestId={permittedNetworkToastId} - />, - { - id: permittedNetworkToastId, - duration: Infinity, - icon: ( - - ), - }, - ); - }, - [navigate, t], - ); - - const dismissPermittedNetworkToast = useCallback(() => { - toast.dismiss(permittedNetworkToastId); - }, []); - - return { - showPermittedNetworkToast, - dismissPermittedNetworkToast, - }; -}; diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js index b7a6211c7b8d..dc64e31440a1 100644 --- a/ui/selectors/selectors.js +++ b/ui/selectors/selectors.js @@ -267,10 +267,6 @@ export function getNextSuggestedNonce(state) { return Number(state.appState.nextNonce); } -export function getShowPermittedNetworkToastOpen(state) { - return state.appState.showPermittedNetworkToastOpen; -} - /** * To retrieve the name of the new Network added using add network form * diff --git a/ui/store/actionConstants.ts b/ui/store/actionConstants.ts index dbebcc4fe1de..9786c8c90be5 100644 --- a/ui/store/actionConstants.ts +++ b/ui/store/actionConstants.ts @@ -14,10 +14,6 @@ export const NETWORK_DROPDOWN_CLOSE = 'UI_NETWORK_DROPDOWN_CLOSE'; export const IMPORT_NFTS_MODAL_OPEN = 'UI_IMPORT_NFTS_MODAL_OPEN'; export const IMPORT_NFTS_MODAL_CLOSE = 'UI_IMPORT_NFTS_MODAL_CLOSE'; export const SHOW_IPFS_MODAL_OPEN = 'UI_IPFS_MODAL_OPEN'; -export const SHOW_PERMITTED_NETWORK_TOAST_OPEN = - 'UI_PERMITTED_NETWORK_TOAST_OPEN'; -export const SHOW_PERMITTED_NETWORK_TOAST_CLOSE = - 'UI_PERMITTED_NETWORK_TOAST_CLOSE'; export const SHOW_IPFS_MODAL_CLOSE = 'UI_IPFS_MODAL_CLOSE'; export const SHOW_BASIC_FUNCTIONALITY_MODAL_OPEN = 'SHOW_BASIC_FUNCTIONALITY_MODAL_OPEN'; diff --git a/ui/store/actions.ts b/ui/store/actions.ts index 720c18eefd38..d37924332541 100644 --- a/ui/store/actions.ts +++ b/ui/store/actions.ts @@ -3829,18 +3829,6 @@ export function hideImportNftsModal(): Action { }; } -export function hidePermittedNetworkToast(): Action { - return { - type: actionConstants.SHOW_PERMITTED_NETWORK_TOAST_CLOSE, - }; -} - -export function showPermittedNetworkToast(): Action { - return { - type: actionConstants.SHOW_PERMITTED_NETWORK_TOAST_OPEN, - }; -} - // TODO: Fix in https://github.com/MetaMask/metamask-extension/issues/31973 // eslint-disable-next-line @typescript-eslint/no-explicit-any export function setConfirmationExchangeRates(value: Record) {