diff --git a/app/components/UI/DeleteWalletModal/index.tsx b/app/components/UI/DeleteWalletModal/index.tsx index c67ca098349..10e81fabb7a 100644 --- a/app/components/UI/DeleteWalletModal/index.tsx +++ b/app/components/UI/DeleteWalletModal/index.tsx @@ -25,6 +25,9 @@ import { DeleteWalletModalSelectorsIDs } from '../../../../e2e/selectors/Modals/ import generateTestId from '../../../../wdio/utils/generateTestId'; import { MetaMetricsEvents } from '../../../core/Analytics'; import { useMetrics } from '../../../components/hooks/useMetrics'; +import { useDispatch } from 'react-redux'; +import { clearHistory } from '../../../actions/browser'; +import CookieManager from '@react-native-cookies/cookies'; const DELETE_KEYWORD = 'delete'; @@ -45,6 +48,7 @@ const DeleteWalletModal = () => { const [disableButton, setDisableButton] = useState(true); const [resetWalletState, deleteUser] = useDeleteWallet(); + const dispatch = useDispatch(); const showConfirmModal = () => { setShowConfirm(true); @@ -85,6 +89,8 @@ const DeleteWalletModal = () => { }; const deleteWallet = async () => { + await dispatch(clearHistory()); + await CookieManager.clearAll(true); triggerClose(); await resetWalletState(); await deleteUser(); diff --git a/app/components/hooks/DeleteWallet/useDeleteWallet.ts b/app/components/hooks/DeleteWallet/useDeleteWallet.ts index 2f1d2d14977..451a92cd356 100644 --- a/app/components/hooks/DeleteWallet/useDeleteWallet.ts +++ b/app/components/hooks/DeleteWallet/useDeleteWallet.ts @@ -5,8 +5,10 @@ import { EXISTING_USER } from '../../../constants/storage'; import { Authentication } from '../../../core'; import AUTHENTICATION_TYPE from '../../../constants/userProperties'; import { resetVaultBackup } from '../../../core/BackupVault/backupVault'; +import { useMetrics } from '../useMetrics'; const useDeleteWallet = () => { + const metrics = useMetrics(); const resetWalletState = useCallback(async () => { try { await Authentication.newWalletAndKeychain(`${Date.now()}`, { @@ -20,14 +22,15 @@ const useDeleteWallet = () => { } }, []); - const deleteUser = useCallback(async () => { + const deleteUser = async () => { try { await AsyncStorage.removeItem(EXISTING_USER); + await metrics.createDataDeletionTask(); } catch (error: any) { const errorMsg = `Failed to remove key: ${EXISTING_USER} from AsyncStorage`; Logger.log(error, errorMsg); } - }, []); + }; return [resetWalletState, deleteUser]; };