diff --git a/package-lock.json b/package-lock.json index 736fcde5f..10a6d5da0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "xverse-web-extension", - "version": "0.23.0", + "version": "0.23.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "xverse-web-extension", - "version": "0.23.0", + "version": "0.23.1", "dependencies": { "@ledgerhq/hw-transport-webusb": "^6.27.13", "@phosphor-icons/react": "^2.0.10", diff --git a/package.json b/package.json index 8dcc16c02..3f33290ee 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "xverse-web-extension", "description": "A Bitcoin wallet for Web3", - "version": "0.23.0", + "version": "0.23.2", "private": true, "engines": { "node": "^18.18.2" diff --git a/src/app/screens/btcSendScreen/index.tsx b/src/app/screens/btcSendScreen/index.tsx index 422734a34..3bf997ace 100644 --- a/src/app/screens/btcSendScreen/index.tsx +++ b/src/app/screens/btcSendScreen/index.tsx @@ -2,6 +2,7 @@ import useSendBtcRequest from '@hooks/useSendBtcRequest'; import useWalletSelector from '@hooks/useWalletSelector'; import { ErrorCodes, getBtcFiatEquivalent } from '@secretkeylabs/xverse-core'; import { BITCOIN_DUST_AMOUNT_SATS } from '@utils/constants'; +import BigNumber from 'bignumber.js'; import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; diff --git a/src/app/screens/login/index.tsx b/src/app/screens/login/index.tsx index 43336f6a4..9370dded4 100644 --- a/src/app/screens/login/index.tsx +++ b/src/app/screens/login/index.tsx @@ -2,7 +2,6 @@ import Eye from '@assets/img/createPassword/Eye.svg'; import EyeSlash from '@assets/img/createPassword/EyeSlash.svg'; import logo from '@assets/img/xverse_logo.svg'; import ActionButton from '@components/button'; -import useCacheMigration from '@hooks/useCacheMigration'; import useWalletReducer from '@hooks/useWalletReducer'; import { animated,useSpring } from '@react-spring/web'; import MigrationConfirmation from '@screens/migrationConfirmation'; @@ -130,20 +129,20 @@ function Login(): JSX.Element { }, delay: 100, }); - const { migrateCachedStorage } = useCacheMigration(); - - const handleSkipMigration = async () => { - await unlockWallet(password); - setIsVerifying(false); - const skipTime = new Date().getTime(); - const migrationReminder = addMinutes(skipTime, 10).getTime(); - localStorage.setItem('migrationReminder', migrationReminder.toString()); - navigate(-1); - }; const handleMigrateCache = async () => { - await migrateCachedStorage(password); - setIsVerifying(false); + try { + await unlockWallet(password); + setIsVerifying(false); + const skipTime = new Date().getTime(); + const migrationReminder = addMinutes(skipTime, 10).getTime(); + localStorage.setItem('migrationReminder', migrationReminder.toString()); + navigate(-1); + } catch (err) { + setIsVerifying(false); + setShowMigration(false); + setError(t('VERIFY_PASSWORD_ERROR')); + } }; const handleTogglePasswordView = () => { @@ -230,10 +229,7 @@ function Login(): JSX.Element { ) : ( - + )} ); diff --git a/src/app/screens/migrationConfirmation/index.tsx b/src/app/screens/migrationConfirmation/index.tsx index d69e8f537..198afeb5e 100644 --- a/src/app/screens/migrationConfirmation/index.tsx +++ b/src/app/screens/migrationConfirmation/index.tsx @@ -1,10 +1,8 @@ +import WarningStatus from '@assets/img/warningIcon.svg'; +import ActionButton from '@components/button'; import { useState } from 'react'; -import styled from 'styled-components'; import { useTranslation } from 'react-i18next'; -import { useNavigate } from 'react-router-dom'; -import ActionButton from '@components/button'; -import WarningStatus from '@assets/img/warningIcon.svg'; -import CheckCircle from '@assets/img/createWalletSuccess/CheckCircle.svg'; +import styled from 'styled-components'; const Container = styled.div` display: flex; @@ -42,11 +40,6 @@ const OnboardingContent = styled.div((props) => ({ textAlign: 'center', })); -const SkipButtonContainer = styled.div((props) => ({ - marginRight: props.theme.spacing(2), - width: '100%', -})); - const Icon = styled.img((props) => ({ width: 88, height: 88, @@ -57,67 +50,28 @@ const Icon = styled.img((props) => ({ interface Props { migrateCallback: () => Promise; - skipCallback: () => Promise; } function MigrationConfirmation(props: Props): JSX.Element { - const { migrateCallback, skipCallback } = props; - const [hasFinishedMigrating, setHasFinishedMigrating] = useState(false); - const navigate = useNavigate(); + const { migrateCallback } = props; const [isLoading, setIsLoading] = useState(false); - const [isSkipping, setIsSkipping] = useState(false); const { t } = useTranslation('translation', { keyPrefix: 'CACHE_MIGRATION_SCREEN' }); const handleConfirm = async () => { setIsLoading(true); await migrateCallback(); - setHasFinishedMigrating(true); setIsLoading(false); }; - const onCloseTab = () => { - navigate('/'); - }; - - const handleSkip = async () => { - setIsSkipping(true); - await skipCallback(); - setIsSkipping(false); - }; - return ( - - {!hasFinishedMigrating ? ( - <> - {t('TITLE')} - {t('WARNING')} - - ) : ( - {t('SUCCESS_TITLE')} - )} - {!hasFinishedMigrating ? ( - - - - - - - ) : ( - - - - )} + + {t('TITLE')} + {t('WARNING')} + + + ); diff --git a/src/locales/en.json b/src/locales/en.json index 140f535f4..68a3871dc 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1025,11 +1025,11 @@ }, "CACHE_MIGRATION_SCREEN": { "TITLE": "Your wallet data store needs to be updated in order to remain secure.", - "WARNING": "Please make sure you have your seed phrase backed up securely before moving forward.", + "WARNING": "Please make sure you have your seed phrase backed up securely and restore your wallet after resetting it from settings", "SUCCESS_TITLE": "Update Complete", "SKIP_BUTTON": "Do it later", "CONFIRM_BUTTON": "Confirm", - "CLOSE_TAB": "Continue" + "CLOSE_TAB": "I understand" }, "SWAP_SCREEN": { "SWAP": "Swap",