From 6b0a286ff68533ee71b1487ce75be87ea4c87976 Mon Sep 17 00:00:00 2001 From: ost-ptk Date: Wed, 2 Oct 2024 12:30:15 +0300 Subject: [PATCH] fix issues with balances and update playwright --- package-lock.json | 52 +++++++++---------- package.json | 2 +- .../select-accounts-to-recover/index.tsx | 24 +++------ src/apps/popup/pages/all-accounts/content.tsx | 8 +-- .../components/account-list-item.tsx | 2 +- .../pages/download-account-keys/download.tsx | 2 +- .../connected-ledger.tsx | 23 +++----- .../account-list/account-list-item.tsx | 12 +++-- .../components/account-list/account-list.tsx | 5 +- .../dynamic-accounts-list-with-select.tsx | 4 +- 10 files changed, 61 insertions(+), 73 deletions(-) diff --git a/package-lock.json b/package-lock.json index b9582f27..40b28dbc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,7 @@ "@babel/preset-env": "7.23.2", "@babel/preset-react": "7.18.6", "@babel/preset-typescript": "^7.23.3", - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.47.2", "@redux-devtools/cli": "^4.0.0", "@redux-devtools/remote": "^0.9.3", "@testing-library/dom": "9.3.4", @@ -4996,18 +4996,18 @@ "dev": true }, "node_modules/@playwright/test": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz", - "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.47.2.tgz", + "integrity": "sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==", "dev": true, "dependencies": { - "playwright": "1.39.0" + "playwright": "1.47.2" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@pnpm/network.ca-file": { @@ -23711,33 +23711,33 @@ } }, "node_modules/playwright": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz", - "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.47.2.tgz", + "integrity": "sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==", "dev": true, "dependencies": { - "playwright-core": "1.39.0" + "playwright-core": "1.47.2" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" }, "optionalDependencies": { "fsevents": "2.3.2" } }, "node_modules/playwright-core": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz", - "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz", + "integrity": "sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==", "dev": true, "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/possible-typed-array-names": { @@ -33328,12 +33328,12 @@ } }, "@playwright/test": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz", - "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.47.2.tgz", + "integrity": "sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==", "dev": true, "requires": { - "playwright": "1.39.0" + "playwright": "1.47.2" } }, "@pnpm/network.ca-file": { @@ -47536,19 +47536,19 @@ } }, "playwright": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz", - "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.47.2.tgz", + "integrity": "sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==", "dev": true, "requires": { "fsevents": "2.3.2", - "playwright-core": "1.39.0" + "playwright-core": "1.47.2" } }, "playwright-core": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz", - "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz", + "integrity": "sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==", "dev": true }, "possible-typed-array-names": { diff --git a/package.json b/package.json index 88647f34..389ba938 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "@babel/preset-env": "7.23.2", "@babel/preset-react": "7.18.6", "@babel/preset-typescript": "^7.23.3", - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.47.2", "@redux-devtools/cli": "^4.0.0", "@redux-devtools/remote": "^0.9.3", "@testing-library/dom": "9.3.4", diff --git a/src/apps/onboarding/pages/select-accounts-to-recover/index.tsx b/src/apps/onboarding/pages/select-accounts-to-recover/index.tsx index 99dcee1b..12f36406 100644 --- a/src/apps/onboarding/pages/select-accounts-to-recover/index.tsx +++ b/src/apps/onboarding/pages/select-accounts-to-recover/index.tsx @@ -66,23 +66,13 @@ export const SelectAccountsToRecoverPage = () => { if (!derivedAccounts.length || isLoadingBalances) return; const derivedAccountsWithBalance: AccountListRows[] = derivedAccounts.map( - (account, index) => { - const accountHash = getAccountHashFromPublicKey(account.publicKey); - - const accountLiquidBalance = - accountsBalances && accountsBalances[accountHash]?.liquidBalance; - - return { - ...account, - id: account.publicKey, - hidden: false, - derivationIndex: index, - name: '', - balance: { - liquidMotes: `${accountLiquidBalance ?? '0'}` - } - }; - } + (account, index) => ({ + ...account, + id: account.publicKey, + hidden: false, + derivationIndex: index, + name: '' + }) ); setDerivedAccountsWithBalance(derivedAccountsWithBalance); diff --git a/src/apps/popup/pages/all-accounts/content.tsx b/src/apps/popup/pages/all-accounts/content.tsx index 072d1da6..6155aa31 100644 --- a/src/apps/popup/pages/all-accounts/content.tsx +++ b/src/apps/popup/pages/all-accounts/content.tsx @@ -40,7 +40,7 @@ export const AllAccountsContent = () => { const accountsPublicKeys = useSelector(selectVaultAccountsPublicKeys); const accountsInfo = useFetchAccountsInfo(accountsPublicKeys); - const { accountsBalances } = useFetchWalletBalance(); + const { accountsBalances, isLoadingBalance } = useFetchWalletBalance(); useEffect(() => { const visibleAccountListRows = sortAccounts( @@ -83,7 +83,7 @@ export const AllAccountsContent = () => { const accountLiquidBalance = accountsBalances && - accountsBalances[account.accountHash].liquidBalance; + accountsBalances[account.accountHash]?.liquidBalance; return ( { showHideAccountItem accountsInfo={accountsInfo} accountLiquidBalance={accountLiquidBalance} + isLoadingBalance={isLoadingBalance} /> ); }} @@ -109,7 +110,7 @@ export const AllAccountsContent = () => { const accountLiquidBalance = accountsBalances && - accountsBalances[account.accountHash].liquidBalance; + accountsBalances[account.accountHash]?.liquidBalance; return ( { showHideAccountItem accountsInfo={accountsInfo} accountLiquidBalance={accountLiquidBalance} + isLoadingBalance={isLoadingBalance} /> ); }} diff --git a/src/apps/popup/pages/download-account-keys/components/account-list-item.tsx b/src/apps/popup/pages/download-account-keys/components/account-list-item.tsx index 86b58660..29300b1e 100644 --- a/src/apps/popup/pages/download-account-keys/components/account-list-item.tsx +++ b/src/apps/popup/pages/download-account-keys/components/account-list-item.tsx @@ -64,7 +64,7 @@ export const AccountListItem = ({ ? formatNumber(motesToCSPR(accountLiquidBalance), { precision: { max: 0 } }) - : '-'; + : '0'; const csprName = accountsInfo && accountsInfo[account.accountHash]?.csprName; const brandingLogo = diff --git a/src/apps/popup/pages/download-account-keys/download.tsx b/src/apps/popup/pages/download-account-keys/download.tsx index f583b2e1..44b60665 100644 --- a/src/apps/popup/pages/download-account-keys/download.tsx +++ b/src/apps/popup/pages/download-account-keys/download.tsx @@ -114,7 +114,7 @@ export const Download = ({ const accountLiquidBalance = accountsBalances && - accountsBalances[account.accountHash].liquidBalance; + accountsBalances[account.accountHash]?.liquidBalance; return ( = ({ if (!accountsFromLedger.length || isLoadingBalances) return; const accountsWithBalance = accountsFromLedger.map( - account => { - const accountHash = getAccountHashFromPublicKey(account.publicKey); - - const accountLiquidBalance = - accountsBalances && accountsBalances[accountHash]?.liquidBalance; - - return { - publicKey: account.publicKey, - derivationIndex: account.index, - accountHash, - name: '', - id: account.publicKey, - balance: { - liquidMotes: `${accountLiquidBalance ?? '0'}` - } - }; - } + account => ({ + publicKey: account.publicKey, + derivationIndex: account.index, + name: '', + id: account.publicKey + }) ); setLedgerAccountsWithBalance(accountsWithBalance); diff --git a/src/libs/ui/components/account-list/account-list-item.tsx b/src/libs/ui/components/account-list/account-list-item.tsx index f0a63ace..d7f7b9e8 100644 --- a/src/libs/ui/components/account-list/account-list-item.tsx +++ b/src/libs/ui/components/account-list/account-list-item.tsx @@ -57,6 +57,7 @@ interface AccountListItemProps { closeModal?: (e: React.MouseEvent) => void; accountsInfo: Record | undefined; accountLiquidBalance: string | undefined; + isLoadingBalance: boolean; } export const AccountListItem = ({ @@ -67,13 +68,14 @@ export const AccountListItem = ({ showHideAccountItem, closeModal, accountsInfo, - accountLiquidBalance + accountLiquidBalance, + isLoadingBalance }: AccountListItemProps) => { const accountBalance = accountLiquidBalance ? formatNumber(motesToCSPR(accountLiquidBalance), { precision: { max: 0 } }) - : '-'; + : '0'; const csprName = accountsInfo && accountsInfo[account.accountHash]?.csprName; const brandingLogo = @@ -104,7 +106,11 @@ export const AccountListItem = ({ {account.name} - + {accountBalance} diff --git a/src/libs/ui/components/account-list/account-list.tsx b/src/libs/ui/components/account-list/account-list.tsx index 6f9e7b19..89921ff0 100644 --- a/src/libs/ui/components/account-list/account-list.tsx +++ b/src/libs/ui/components/account-list/account-list.tsx @@ -57,7 +57,7 @@ export const AccountList = ({ closeModal }: AccountListProps) => { const accountsPublicKeys = useSelector(selectVaultAccountsPublicKeys); const accountsInfo = useFetchAccountsInfo(accountsPublicKeys); - const { accountsBalances } = useFetchWalletBalance(); + const { accountsBalances, isLoadingBalance } = useFetchWalletBalance(); useEffect(() => { const accountListRows = sortAccounts( @@ -86,7 +86,7 @@ export const AccountList = ({ closeModal }: AccountListProps) => { const accountLiquidBalance = accountsBalances && - accountsBalances[account.accountHash].liquidBalance; + accountsBalances[account.accountHash]?.liquidBalance; return ( { }} accountLiquidBalance={accountLiquidBalance} accountsInfo={accountsInfo} + isLoadingBalance={isLoadingBalance} /> ); }} diff --git a/src/libs/ui/components/dynamic-accounts-list-with-select/dynamic-accounts-list-with-select.tsx b/src/libs/ui/components/dynamic-accounts-list-with-select/dynamic-accounts-list-with-select.tsx index 73a84844..b15cecf3 100644 --- a/src/libs/ui/components/dynamic-accounts-list-with-select/dynamic-accounts-list-with-select.tsx +++ b/src/libs/ui/components/dynamic-accounts-list-with-select/dynamic-accounts-list-with-select.tsx @@ -159,13 +159,13 @@ export const DynamicAccountsListWithSelect = ({ const accountHash = getAccountHashFromPublicKey(account.publicKey); const accountLiquidBalance = - accountsBalances && accountsBalances[accountHash].liquidBalance; + accountsBalances && accountsBalances[accountHash]?.liquidBalance; const accountBalance = accountLiquidBalance ? formatNumber(motesToCSPR(accountLiquidBalance), { precision: { max: 0 } }) - : '-'; + : '0'; const isAlreadyConnected = alreadyConnectedLedgerAccounts.some( alreadyConnectedAccount =>