From 003a6ad3f88664a67611f47f880420bcdf30838a Mon Sep 17 00:00:00 2001 From: Pete Watters <2938440+pete-watters@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:29:47 +0100 Subject: [PATCH 1/9] refactor: update link to docs on open, ref #5800 --- src/background/messaging/rpc-methods/supported-methods.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background/messaging/rpc-methods/supported-methods.ts b/src/background/messaging/rpc-methods/supported-methods.ts index 36de24fad79..388d5414ce1 100644 --- a/src/background/messaging/rpc-methods/supported-methods.ts +++ b/src/background/messaging/rpc-methods/supported-methods.ts @@ -14,7 +14,7 @@ export function rpcSupportedMethods(message: SupportedMethodsRequest, port: chro methods: [ { name: 'open', - docsUrl: ['https://leather.gitbook.io/developers/bitcoin/connect-users/open-wallet'], + docsUrl: ['https://leather.gitbook.io/developers/bitcoin/connect-users/open'], }, { name: 'getAddresses', From 3e4d8a2f322628cbd8f18658f112076765e35324 Mon Sep 17 00:00:00 2001 From: Pete Watters <2938440+pete-watters@users.noreply.github.com> Date: Thu, 29 Aug 2024 09:46:00 +0100 Subject: [PATCH 2/9] chore: fix padding of asset list items in activity, ref #5802 --- src/app/components/transaction-item/transaction-item.layout.tsx | 2 +- .../pending-transaction-list.layout.tsx | 2 +- .../submitted-transaction-list.layout.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/components/transaction-item/transaction-item.layout.tsx b/src/app/components/transaction-item/transaction-item.layout.tsx index b0d61e62680..90d16d810f6 100644 --- a/src/app/components/transaction-item/transaction-item.layout.tsx +++ b/src/app/components/transaction-item/transaction-item.layout.tsx @@ -25,7 +25,7 @@ export function TransactionItemLayout({ txValue, }: TransactionItemLayoutProps) { return ( - + Pending - + {children} diff --git a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.layout.tsx b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.layout.tsx index 30daec3a516..de30c45df9c 100644 --- a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.layout.tsx +++ b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.layout.tsx @@ -22,7 +22,7 @@ export function SubmittedTransactionListLayout({ children }: SubmittedTransactio Submitted - + {children} From 203629d7028eeca076c12a10a7cc680ae98a529d Mon Sep 17 00:00:00 2001 From: Pete Watters <2938440+pete-watters@users.noreply.github.com> Date: Thu, 29 Aug 2024 09:46:45 +0100 Subject: [PATCH 3/9] fix: update padding of onboarding header to align buttons, ref #5802 --- src/app/features/container/headers/onboarding.header.tsx | 4 +--- src/app/features/container/headers/page.header.tsx | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/app/features/container/headers/onboarding.header.tsx b/src/app/features/container/headers/onboarding.header.tsx index 58d4c776730..7d496681d3f 100644 --- a/src/app/features/container/headers/onboarding.header.tsx +++ b/src/app/features/container/headers/onboarding.header.tsx @@ -24,8 +24,7 @@ export function OnboardingHeader({ hideLogo = false }: OnboardingHeaderProps) { const navigate = useNavigate(); return ( - <> -
+
@@ -47,6 +46,5 @@ export function OnboardingHeader({ hideLogo = false }: OnboardingHeaderProps) { } />
- ); } diff --git a/src/app/features/container/headers/page.header.tsx b/src/app/features/container/headers/page.header.tsx index ca10a70183d..05e580cf2af 100644 --- a/src/app/features/container/headers/page.header.tsx +++ b/src/app/features/container/headers/page.header.tsx @@ -38,7 +38,7 @@ export function PageHeader({ const canGoBack = !isSummaryPage; return ( -
+
From dae0f47bdc911a21f34c64f9a00dc22b8060389d Mon Sep 17 00:00:00 2001 From: Pete Watters <2938440+pete-watters@users.noreply.github.com> Date: Thu, 29 Aug 2024 10:39:23 +0100 Subject: [PATCH 4/9] fix: remove px for all page headers above sm, ref #5802 --- src/app/features/container/headers/page.header.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/features/container/headers/page.header.tsx b/src/app/features/container/headers/page.header.tsx index 05e580cf2af..e39c848b000 100644 --- a/src/app/features/container/headers/page.header.tsx +++ b/src/app/features/container/headers/page.header.tsx @@ -36,9 +36,8 @@ export function PageHeader({ // pages with nested dialogs specify onBackLocation to prevent navigate(-1) re-opening the dialog const onGoBack = onBackLocation ? () => navigate(onBackLocation) : () => navigate(-1); const canGoBack = !isSummaryPage; - return ( -
+
From f45fedf499c6305a0c6470269e6ff40f0c5c290c Mon Sep 17 00:00:00 2001 From: Pete Watters <2938440+pete-watters@users.noreply.github.com> Date: Thu, 29 Aug 2024 10:42:05 +0100 Subject: [PATCH 5/9] fix: only show Send title above small view, ref #5802 --- .../transaction-item.layout.tsx | 2 +- .../pending-transaction-list.layout.tsx | 4 +- .../container/headers/onboarding.header.tsx | 44 +++++++++---------- .../container/headers/page.header.tsx | 12 ++++- .../choose-crypto-asset.tsx | 9 +++- 5 files changed, 42 insertions(+), 29 deletions(-) diff --git a/src/app/components/transaction-item/transaction-item.layout.tsx b/src/app/components/transaction-item/transaction-item.layout.tsx index 90d16d810f6..326d1352100 100644 --- a/src/app/components/transaction-item/transaction-item.layout.tsx +++ b/src/app/components/transaction-item/transaction-item.layout.tsx @@ -25,7 +25,7 @@ export function TransactionItemLayout({ txValue, }: TransactionItemLayoutProps) { return ( - + Pending - - {children} - + {children} ); } diff --git a/src/app/features/container/headers/onboarding.header.tsx b/src/app/features/container/headers/onboarding.header.tsx index 7d496681d3f..51e02f3a17f 100644 --- a/src/app/features/container/headers/onboarding.header.tsx +++ b/src/app/features/container/headers/onboarding.header.tsx @@ -24,27 +24,27 @@ export function OnboardingHeader({ hideLogo = false }: OnboardingHeaderProps) { const navigate = useNavigate(); return ( -
- - } - onAction={() => navigate(-1)} - dataTestId={SharedComponentsSelectors.HeaderBackBtn} - /> - {!hideLogo && navigate(RouteUrls.Home)} />} - - } - rightCol={ - - } - toggleSwitchAccount={() => setIsShowingSwitchAccount(!isShowingSwitchAccount)} - /> - - } - /> -
+
+ + } + onAction={() => navigate(-1)} + dataTestId={SharedComponentsSelectors.HeaderBackBtn} + /> + {!hideLogo && navigate(RouteUrls.Home)} />} + + } + rightCol={ + + } + toggleSwitchAccount={() => setIsShowingSwitchAccount(!isShowingSwitchAccount)} + /> + + } + /> +
); } diff --git a/src/app/features/container/headers/page.header.tsx b/src/app/features/container/headers/page.header.tsx index e39c848b000..50d9a51ecca 100644 --- a/src/app/features/container/headers/page.header.tsx +++ b/src/app/features/container/headers/page.header.tsx @@ -1,3 +1,4 @@ +import { ReactNode } from 'react'; import { useNavigate, useOutletContext } from 'react-router-dom'; import { SettingsSelectors } from '@tests/selectors/settings.selectors'; @@ -5,6 +6,7 @@ import { SharedComponentsSelectors } from '@tests/selectors/shared-component.sel import { styled } from 'leather-styles/jsx'; import { ArrowLeftIcon, BarsTwoIcon, CloseIcon } from '@leather.io/ui'; +import { isString } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { SwitchAccountOutletContext } from '@shared/switch-account'; @@ -16,7 +18,7 @@ import { LogoBox } from '@app/components/layout/headers/logo-box'; import { Settings } from '@app/features/settings/settings'; interface PageHeaderProps { - title?: string; + title?: ReactNode; isSummaryPage?: boolean; isSettingsVisibleOnSm?: boolean; onBackLocation?: RouteUrls; @@ -51,7 +53,13 @@ export function PageHeader({ navigate(RouteUrls.Home)} /> } - centerCol={title && {title}} + centerCol={ + title && isString(title) ? ( + {title} + ) : ( + title + ) + } rightCol={ {isSummaryPage ? ( diff --git a/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx b/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx index 415b9c2437c..fec8461e177 100644 --- a/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx +++ b/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx @@ -23,7 +23,14 @@ export function ChooseCryptoAsset() { return ( <> - + + Send + + } + isSettingsVisibleOnSm={false} + /> Date: Fri, 30 Aug 2024 13:21:19 +0100 Subject: [PATCH 6/9] fix: don't show send in header --- src/app/features/container/headers/page.header.tsx | 9 +-------- .../send/choose-crypto-asset/choose-crypto-asset.tsx | 9 +-------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/src/app/features/container/headers/page.header.tsx b/src/app/features/container/headers/page.header.tsx index 50d9a51ecca..11eae159f3b 100644 --- a/src/app/features/container/headers/page.header.tsx +++ b/src/app/features/container/headers/page.header.tsx @@ -6,7 +6,6 @@ import { SharedComponentsSelectors } from '@tests/selectors/shared-component.sel import { styled } from 'leather-styles/jsx'; import { ArrowLeftIcon, BarsTwoIcon, CloseIcon } from '@leather.io/ui'; -import { isString } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { SwitchAccountOutletContext } from '@shared/switch-account'; @@ -53,13 +52,7 @@ export function PageHeader({ navigate(RouteUrls.Home)} /> } - centerCol={ - title && isString(title) ? ( - {title} - ) : ( - title - ) - } + centerCol={title && {title}} rightCol={ {isSummaryPage ? ( diff --git a/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx b/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx index fec8461e177..4b3071ddbe9 100644 --- a/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx +++ b/src/app/pages/send/choose-crypto-asset/choose-crypto-asset.tsx @@ -23,14 +23,7 @@ export function ChooseCryptoAsset() { return ( <> - - Send - - } - isSettingsVisibleOnSm={false} - /> + Date: Fri, 30 Aug 2024 14:04:00 +0100 Subject: [PATCH 7/9] fix: send inscription formatting and InfoCardButton icon colour, ref leather-io/extension#5828 --- package.json | 9 +- pnpm-lock.yaml | 107 +++++++++--------- .../layout/card/components/summary-footer.tsx | 12 +- .../bitcoin-choose-fee/bitcoin-choose-fee.tsx | 1 + .../rpc-send-transfer-summary.tsx | 12 +- .../rpc-sign-psbt/rpc-sign-psbt-summary.tsx | 12 +- .../send-inscription-review.tsx | 5 + .../sent-inscription-summary.tsx | 18 ++- 8 files changed, 114 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index dd5e1745206..6a80a0d4bbf 100644 --- a/package.json +++ b/package.json @@ -144,7 +144,7 @@ "@leather.io/query": "2.7.0", "@leather.io/stacks": "1.0.2", "@leather.io/tokens": "0.9.0", - "@leather.io/ui": "1.14.3", + "@leather.io/ui": "file:../mono/packages/ui", "@leather.io/utils": "0.13.2", "@ledgerhq/hw-transport-webusb": "6.27.19", "@noble/hashes": "1.4.0", @@ -372,7 +372,12 @@ }, "pnpm": { "overrides": { - "eslint": "8.56.0" + "eslint": "8.56.0", + "@leather.io/rpc": "file:../mono/packages/rpc", + "@leather.io/constants": "file:../mono/packages/constants", + "@leather.io/models": "file:../mono/packages/models", + "@leather.io/tokens": "file:../mono/packages/tokens", + "@leather.io/utils": "file:../mono/packages/utils" } }, "keywords": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4200c66ae0..3ad0c2289e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,11 @@ overrides: webpack-dev-middleware: 5.3.4 eslint: 8.56.0 ws: 8.17.1 + '@leather.io/rpc': file:../mono/packages/rpc + '@leather.io/constants': file:../mono/packages/constants + '@leather.io/models': file:../mono/packages/models + '@leather.io/tokens': file:../mono/packages/tokens + '@leather.io/utils': file:../mono/packages/utils importers: @@ -27,7 +32,7 @@ importers: version: 0.7.0(encoding@0.1.13) '@coinbase/cbpay-js': specifier: 2.1.0 - version: 2.1.0(regenerator-runtime@0.14.1) + version: 2.1.0(regenerator-runtime@0.13.11) '@fungible-systems/zone-file': specifier: 2.0.0 version: 2.0.0 @@ -38,14 +43,14 @@ importers: specifier: 0.11.2 version: 0.11.2(encoding@0.1.13) '@leather.io/constants': - specifier: 0.9.1 - version: 0.9.1 + specifier: file:../mono/packages/constants + version: file:../mono/packages/constants '@leather.io/crypto': specifier: 1.4.2 version: 1.4.2 '@leather.io/models': - specifier: 0.13.0 - version: 0.13.0 + specifier: file:../mono/packages/models + version: file:../mono/packages/models '@leather.io/query': specifier: 2.7.0 version: 2.7.0(@stacks/network@6.13.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1) @@ -53,14 +58,14 @@ importers: specifier: 1.0.2 version: 1.0.2(encoding@0.1.13) '@leather.io/tokens': - specifier: 0.9.0 - version: 0.9.0 + specifier: file:../mono/packages/tokens + version: file:../mono/packages/tokens '@leather.io/ui': - specifier: 1.14.3 - version: 1.14.3(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5) + specifier: file:../mono/packages/ui + version: file:../mono/packages/ui(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5) '@leather.io/utils': - specifier: 0.13.2 - version: 0.13.2 + specifier: file:../mono/packages/utils + version: file:../mono/packages/utils '@ledgerhq/hw-transport-webusb': specifier: 6.27.19 version: 6.27.19 @@ -390,8 +395,8 @@ importers: specifier: 0.6.0 version: 0.6.0(@vue/compiler-sfc@3.4.38) '@leather.io/rpc': - specifier: 2.1.6 - version: 2.1.6 + specifier: file:../mono/packages/rpc + version: file:../mono/packages/rpc '@ls-lint/ls-lint': specifier: 2.2.3 version: 2.2.3 @@ -2761,8 +2766,8 @@ packages: '@leather.io/bitcoin@0.11.2': resolution: {integrity: sha512-w+wq1OXUbhydHLP0rDbDwoRk7YdjyIUPKx/roGfDDO56+BQqgQ4v6B0btyAv7VCbD5blw1FTGln3e0RNYOGWoA==} - '@leather.io/constants@0.9.1': - resolution: {integrity: sha512-q0chtXhgFIyNioNbxZIFBaDDxjcwBLFSph6wx+3Vl0uwdDUaDNyDdd+WsoXEFxESCesyCWiAr4aS12hmfGIwIg==} + '@leather.io/constants@file:../mono/packages/constants': + resolution: {directory: ../mono/packages/constants, type: directory} '@leather.io/crypto@1.4.2': resolution: {integrity: sha512-sSBub/+feiHHXP+PY1UK+EvkROJTwo2rv+G9Hr5rAHrVZTg7c3SSUg+cdMOJANjJ2sw76U7XejWWuuTRYmabjg==} @@ -2770,8 +2775,8 @@ packages: '@leather.io/eslint-config@0.7.0': resolution: {integrity: sha512-4K7olfSC+mJnG90TSaLIlytp14yDprGXwe1+oP9TLQbuPFpJai3/+g5Bp/FeUC4NZ23UVbAlGXFCav2amBb77w==} - '@leather.io/models@0.13.0': - resolution: {integrity: sha512-5pgaKKXVjHD7CVb89r/MOwrTxNxVG/NVWll91q9MWjkfq/KEn+O6Ceg9wo2QJCaV/XD9rxozljAJ1WOJrWCyXg==} + '@leather.io/models@file:../mono/packages/models': + resolution: {directory: ../mono/packages/models, type: directory} '@leather.io/panda-preset@0.3.8': resolution: {integrity: sha512-MEohMC7VA28v+um3uYxTeLYNOZ+XXg09MoAtgvHw+RJJFtO6bBXFcmgooSJv44aaBuhRb3Zx9erz4xErq3GzcQ==} @@ -2784,20 +2789,20 @@ packages: peerDependencies: react: '*' - '@leather.io/rpc@2.1.6': - resolution: {integrity: sha512-zVozkq40S6HReKyA/7sto8tsfPN2uKQq4vvUcutvj35DCCugNbxn5Xr6jIjV52YxHn4vqVFC1D6cSPwpDsgE3g==} + '@leather.io/rpc@file:../mono/packages/rpc': + resolution: {directory: ../mono/packages/rpc, type: directory} '@leather.io/stacks@1.0.2': resolution: {integrity: sha512-nqrWj/JIaaXXhlbDJ9bCMIgwlH3IkNAkT991B5JuwqVt9A6fx2jH37a+jeFmZYfgyjTAk27leFCcJW8ydHlBvA==} - '@leather.io/tokens@0.9.0': - resolution: {integrity: sha512-Lj0UYS6W8r7IkINssb8LodfNsefkzBzugiAM2XwCoQNgyOn4KAc3rdL5vYrXh8ErC4AT81xDb+DGkyCzejjObQ==} + '@leather.io/tokens@file:../mono/packages/tokens': + resolution: {directory: ../mono/packages/tokens, type: directory} - '@leather.io/ui@1.14.3': - resolution: {integrity: sha512-/nn6rCgMcBN8E5/HTrzS5jbg8B0Bs8tkqwfzW1RQRwjP+zcFUSEBLf2RNx030M00aL4GEs2cbzkdQNej3exjoA==} + '@leather.io/ui@file:../mono/packages/ui': + resolution: {directory: ../mono/packages/ui, type: directory} - '@leather.io/utils@0.13.2': - resolution: {integrity: sha512-68rsDNS/mA9OYCPpU0yGGY3OMGWxAMqq4yZWi6mFnzqMgTvOW0MvFJOo/V4DhPxbo3sKS6mcwwbAH/YLnyBwGA==} + '@leather.io/utils@file:../mono/packages/utils': + resolution: {directory: ../mono/packages/utils, type: directory} '@ledgerhq/devices@8.4.2': resolution: {integrity: sha512-oWNTp3jCMaEvRHsXNYE/yo+PFMgXAJGFHLOU1UdE4/fYkniHbD9wdxwyZrZvrxr9hNw4/9wHiThyITwPtMzG7g==} @@ -16437,9 +16442,9 @@ snapshots: picocolors: 1.0.1 sisteransi: 1.0.5 - '@coinbase/cbpay-js@2.1.0(regenerator-runtime@0.14.1)': + '@coinbase/cbpay-js@2.1.0(regenerator-runtime@0.13.11)': optionalDependencies: - regenerator-runtime: 0.14.1 + regenerator-runtime: 0.13.11 '@cspotcode/source-map-support@0.8.1': dependencies: @@ -17577,10 +17582,10 @@ snapshots: '@leather.io/bitcoin@0.11.2(encoding@0.1.13)': dependencies: '@bitcoinerlab/secp256k1': 1.0.2 - '@leather.io/constants': 0.9.1 + '@leather.io/constants': file:../mono/packages/constants '@leather.io/crypto': 1.4.2 - '@leather.io/models': 0.13.0 - '@leather.io/utils': 0.13.2 + '@leather.io/models': file:../mono/packages/models + '@leather.io/utils': file:../mono/packages/utils '@noble/hashes': 1.4.0 '@noble/secp256k1': 2.1.0 '@scure/base': 1.1.6 @@ -17596,11 +17601,11 @@ snapshots: transitivePeerDependencies: - encoding - '@leather.io/constants@0.9.1': {} + '@leather.io/constants@file:../mono/packages/constants': {} '@leather.io/crypto@1.4.2': dependencies: - '@leather.io/utils': 0.13.2 + '@leather.io/utils': file:../mono/packages/utils '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 @@ -17614,7 +17619,7 @@ snapshots: - supports-color - typescript - '@leather.io/models@0.13.0': + '@leather.io/models@file:../mono/packages/models': dependencies: '@stacks/stacks-blockchain-api-types': 7.8.2 bignumber.js: 9.1.2 @@ -17640,10 +17645,10 @@ snapshots: '@fungible-systems/zone-file': 2.0.0 '@hirosystems/token-metadata-api-client': 1.2.0(encoding@0.1.13) '@leather.io/bitcoin': 0.11.2(encoding@0.1.13) - '@leather.io/constants': 0.9.1 - '@leather.io/models': 0.13.0 - '@leather.io/rpc': 2.1.6 - '@leather.io/utils': 0.13.2 + '@leather.io/constants': file:../mono/packages/constants + '@leather.io/models': file:../mono/packages/models + '@leather.io/rpc': file:../mono/packages/rpc + '@leather.io/utils': file:../mono/packages/utils '@noble/hashes': 1.4.0 '@scure/base': 1.1.6 '@scure/bip32': 1.4.0 @@ -17668,16 +17673,16 @@ snapshots: - debug - encoding - '@leather.io/rpc@2.1.6': + '@leather.io/rpc@file:../mono/packages/rpc': dependencies: - '@leather.io/models': 0.13.0 + '@leather.io/models': file:../mono/packages/models zod: 3.23.6 '@leather.io/stacks@1.0.2(encoding@0.1.13)': dependencies: '@leather.io/crypto': 1.4.2 - '@leather.io/models': 0.13.0 - '@leather.io/utils': 0.13.2 + '@leather.io/models': file:../mono/packages/models + '@leather.io/utils': file:../mono/packages/utils '@noble/hashes': 1.4.0 '@scure/bip32': 1.4.0 '@stacks/encryption': 6.16.1 @@ -17685,13 +17690,13 @@ snapshots: transitivePeerDependencies: - encoding - '@leather.io/tokens@0.9.0': {} + '@leather.io/tokens@file:../mono/packages/tokens': {} - '@leather.io/ui@1.14.3(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5)': + '@leather.io/ui@file:../mono/packages/ui(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5)': dependencies: '@expo/vector-icons': 14.0.0 - '@leather.io/tokens': 0.9.0 - '@leather.io/utils': 0.13.2 + '@leather.io/tokens': file:../mono/packages/tokens + '@leather.io/utils': file:../mono/packages/utils '@radix-ui/react-accessible-icon': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-accordion': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-avatar': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -17731,11 +17736,11 @@ snapshots: - typescript - utf-8-validate - '@leather.io/utils@0.13.2': + '@leather.io/utils@file:../mono/packages/utils': dependencies: - '@leather.io/constants': 0.9.1 - '@leather.io/models': 0.13.0 - '@leather.io/rpc': 2.1.6 + '@leather.io/constants': file:../mono/packages/constants + '@leather.io/models': file:../mono/packages/models + '@leather.io/rpc': file:../mono/packages/rpc bignumber.js: 9.1.2 '@ledgerhq/devices@8.4.2': @@ -19814,7 +19819,7 @@ snapshots: chalk: 4.1.2 execa: 5.1.1 metro: 0.80.10(encoding@0.1.13) - metro-config: 0.80.5(encoding@0.1.13) + metro-config: 0.80.10(encoding@0.1.13) metro-core: 0.80.10 node-fetch: 2.7.0(encoding@0.1.13) querystring: 0.2.1 @@ -19903,7 +19908,7 @@ snapshots: dependencies: '@react-native/js-polyfills': 0.73.1 '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - metro-config: 0.80.5(encoding@0.1.13) + metro-config: 0.80.10(encoding@0.1.13) metro-runtime: 0.80.10 transitivePeerDependencies: - '@babel/core' diff --git a/src/app/components/layout/card/components/summary-footer.tsx b/src/app/components/layout/card/components/summary-footer.tsx index 4e4a67fa6dc..6a0f625d182 100644 --- a/src/app/components/layout/card/components/summary-footer.tsx +++ b/src/app/components/layout/card/components/summary-footer.tsx @@ -11,8 +11,16 @@ interface SummaryFooterProps { export function SummaryFooter({ onClickLink, onClickCopy }: SummaryFooterProps) { return ( - } label="View details" onClick={onClickLink} /> - } label="Copy ID" onClick={onClickCopy} /> + } + label="View details" + onClick={onClickLink} + /> + } + label="Copy ID" + onClick={onClickCopy} + /> ); } diff --git a/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx b/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx index 199e0673f92..f0ab3162df9 100644 --- a/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx +++ b/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx @@ -62,6 +62,7 @@ export function BitcoinChooseFee({ return ( diff --git a/src/app/pages/rpc-send-transfer/rpc-send-transfer-summary.tsx b/src/app/pages/rpc-send-transfer/rpc-send-transfer-summary.tsx index 9536dc41b82..976d42cb1b0 100644 --- a/src/app/pages/rpc-send-transfer/rpc-send-transfer-summary.tsx +++ b/src/app/pages/rpc-send-transfer/rpc-send-transfer-summary.tsx @@ -82,8 +82,16 @@ export function RpcSendTransferSummary() { - } label="View details" onClick={onClickLink} /> - } label="Copy ID" onClick={onClickCopy} /> + } + label="View details" + onClick={onClickLink} + /> + } + label="Copy ID" + onClick={onClickCopy} + /> diff --git a/src/app/pages/rpc-sign-psbt/rpc-sign-psbt-summary.tsx b/src/app/pages/rpc-sign-psbt/rpc-sign-psbt-summary.tsx index a7e209d2680..5f7be1555e1 100644 --- a/src/app/pages/rpc-sign-psbt/rpc-sign-psbt-summary.tsx +++ b/src/app/pages/rpc-sign-psbt/rpc-sign-psbt-summary.tsx @@ -55,8 +55,16 @@ export function RpcSignPsbtSummary() { - } label="View details" onClick={onClickLink} /> - } label="Copy ID" onClick={onClickCopy} /> + } + label="View details" + onClick={onClickLink} + /> + } + label="Copy ID" + onClick={onClickCopy} + /> diff --git a/src/app/pages/send/ordinal-inscription/send-inscription-review.tsx b/src/app/pages/send/ordinal-inscription/send-inscription-review.tsx index 64760402c48..7a4bd5aaa36 100644 --- a/src/app/pages/send/ordinal-inscription/send-inscription-review.tsx +++ b/src/app/pages/send/ordinal-inscription/send-inscription-review.tsx @@ -80,12 +80,17 @@ export function SendInscriptionReview() { onClose={() => navigate(RouteUrls.Home)} > Confirm and send transaction diff --git a/src/app/pages/send/ordinal-inscription/sent-inscription-summary.tsx b/src/app/pages/send/ordinal-inscription/sent-inscription-summary.tsx index 15373e507b4..49a37b49e6e 100644 --- a/src/app/pages/send/ordinal-inscription/sent-inscription-summary.tsx +++ b/src/app/pages/send/ordinal-inscription/sent-inscription-summary.tsx @@ -55,18 +55,30 @@ export function SendInscriptionSummary() { return ( } isShowing onClose={() => navigate(RouteUrls.Home)}> - } label="View details" /> - } label="Copy ID" /> + } + label="View details" + /> + } + label="Copy ID" + /> } + contentStyle={{ + p: 'space.00', + }} > - + } image={} From 6b9566ad5b3c983ea629cf139057030a4f456279 Mon Sep 17 00:00:00 2001 From: Pete Watters <2938440+pete-watters@users.noreply.github.com> Date: Fri, 30 Aug 2024 14:46:41 +0100 Subject: [PATCH 8/9] fix: adjust BigTitle padding and close, ref leather-io/extension#5802 --- package.json | 9 ++--- pnpm-lock.yaml | 97 ++++++++++++++++++++++++-------------------------- 2 files changed, 48 insertions(+), 58 deletions(-) diff --git a/package.json b/package.json index 6a80a0d4bbf..e87d7ece1e3 100644 --- a/package.json +++ b/package.json @@ -144,7 +144,7 @@ "@leather.io/query": "2.7.0", "@leather.io/stacks": "1.0.2", "@leather.io/tokens": "0.9.0", - "@leather.io/ui": "file:../mono/packages/ui", + "@leather.io/ui": "1.16.0", "@leather.io/utils": "0.13.2", "@ledgerhq/hw-transport-webusb": "6.27.19", "@noble/hashes": "1.4.0", @@ -372,12 +372,7 @@ }, "pnpm": { "overrides": { - "eslint": "8.56.0", - "@leather.io/rpc": "file:../mono/packages/rpc", - "@leather.io/constants": "file:../mono/packages/constants", - "@leather.io/models": "file:../mono/packages/models", - "@leather.io/tokens": "file:../mono/packages/tokens", - "@leather.io/utils": "file:../mono/packages/utils" + "eslint": "8.56.0" } }, "keywords": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3ad0c2289e2..babc9272d30 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,11 +14,6 @@ overrides: webpack-dev-middleware: 5.3.4 eslint: 8.56.0 ws: 8.17.1 - '@leather.io/rpc': file:../mono/packages/rpc - '@leather.io/constants': file:../mono/packages/constants - '@leather.io/models': file:../mono/packages/models - '@leather.io/tokens': file:../mono/packages/tokens - '@leather.io/utils': file:../mono/packages/utils importers: @@ -43,14 +38,14 @@ importers: specifier: 0.11.2 version: 0.11.2(encoding@0.1.13) '@leather.io/constants': - specifier: file:../mono/packages/constants - version: file:../mono/packages/constants + specifier: 0.9.1 + version: 0.9.1 '@leather.io/crypto': specifier: 1.4.2 version: 1.4.2 '@leather.io/models': - specifier: file:../mono/packages/models - version: file:../mono/packages/models + specifier: 0.13.0 + version: 0.13.0 '@leather.io/query': specifier: 2.7.0 version: 2.7.0(@stacks/network@6.13.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1) @@ -58,14 +53,14 @@ importers: specifier: 1.0.2 version: 1.0.2(encoding@0.1.13) '@leather.io/tokens': - specifier: file:../mono/packages/tokens - version: file:../mono/packages/tokens + specifier: 0.9.0 + version: 0.9.0 '@leather.io/ui': - specifier: file:../mono/packages/ui - version: file:../mono/packages/ui(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5) + specifier: 1.16.0 + version: 1.16.0(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5) '@leather.io/utils': - specifier: file:../mono/packages/utils - version: file:../mono/packages/utils + specifier: 0.13.2 + version: 0.13.2 '@ledgerhq/hw-transport-webusb': specifier: 6.27.19 version: 6.27.19 @@ -395,8 +390,8 @@ importers: specifier: 0.6.0 version: 0.6.0(@vue/compiler-sfc@3.4.38) '@leather.io/rpc': - specifier: file:../mono/packages/rpc - version: file:../mono/packages/rpc + specifier: 2.1.6 + version: 2.1.6 '@ls-lint/ls-lint': specifier: 2.2.3 version: 2.2.3 @@ -2766,8 +2761,8 @@ packages: '@leather.io/bitcoin@0.11.2': resolution: {integrity: sha512-w+wq1OXUbhydHLP0rDbDwoRk7YdjyIUPKx/roGfDDO56+BQqgQ4v6B0btyAv7VCbD5blw1FTGln3e0RNYOGWoA==} - '@leather.io/constants@file:../mono/packages/constants': - resolution: {directory: ../mono/packages/constants, type: directory} + '@leather.io/constants@0.9.1': + resolution: {integrity: sha512-q0chtXhgFIyNioNbxZIFBaDDxjcwBLFSph6wx+3Vl0uwdDUaDNyDdd+WsoXEFxESCesyCWiAr4aS12hmfGIwIg==} '@leather.io/crypto@1.4.2': resolution: {integrity: sha512-sSBub/+feiHHXP+PY1UK+EvkROJTwo2rv+G9Hr5rAHrVZTg7c3SSUg+cdMOJANjJ2sw76U7XejWWuuTRYmabjg==} @@ -2775,8 +2770,8 @@ packages: '@leather.io/eslint-config@0.7.0': resolution: {integrity: sha512-4K7olfSC+mJnG90TSaLIlytp14yDprGXwe1+oP9TLQbuPFpJai3/+g5Bp/FeUC4NZ23UVbAlGXFCav2amBb77w==} - '@leather.io/models@file:../mono/packages/models': - resolution: {directory: ../mono/packages/models, type: directory} + '@leather.io/models@0.13.0': + resolution: {integrity: sha512-5pgaKKXVjHD7CVb89r/MOwrTxNxVG/NVWll91q9MWjkfq/KEn+O6Ceg9wo2QJCaV/XD9rxozljAJ1WOJrWCyXg==} '@leather.io/panda-preset@0.3.8': resolution: {integrity: sha512-MEohMC7VA28v+um3uYxTeLYNOZ+XXg09MoAtgvHw+RJJFtO6bBXFcmgooSJv44aaBuhRb3Zx9erz4xErq3GzcQ==} @@ -2789,20 +2784,20 @@ packages: peerDependencies: react: '*' - '@leather.io/rpc@file:../mono/packages/rpc': - resolution: {directory: ../mono/packages/rpc, type: directory} + '@leather.io/rpc@2.1.6': + resolution: {integrity: sha512-zVozkq40S6HReKyA/7sto8tsfPN2uKQq4vvUcutvj35DCCugNbxn5Xr6jIjV52YxHn4vqVFC1D6cSPwpDsgE3g==} '@leather.io/stacks@1.0.2': resolution: {integrity: sha512-nqrWj/JIaaXXhlbDJ9bCMIgwlH3IkNAkT991B5JuwqVt9A6fx2jH37a+jeFmZYfgyjTAk27leFCcJW8ydHlBvA==} - '@leather.io/tokens@file:../mono/packages/tokens': - resolution: {directory: ../mono/packages/tokens, type: directory} + '@leather.io/tokens@0.9.0': + resolution: {integrity: sha512-Lj0UYS6W8r7IkINssb8LodfNsefkzBzugiAM2XwCoQNgyOn4KAc3rdL5vYrXh8ErC4AT81xDb+DGkyCzejjObQ==} - '@leather.io/ui@file:../mono/packages/ui': - resolution: {directory: ../mono/packages/ui, type: directory} + '@leather.io/ui@1.16.0': + resolution: {integrity: sha512-vpt2uo2cUI8o6uUCccwab7oJF25tT0CwssyuhXRCYfIaKu22wLZaO7oIcwuivG/P76leJM0jL4QFFlKHw70DUA==} - '@leather.io/utils@file:../mono/packages/utils': - resolution: {directory: ../mono/packages/utils, type: directory} + '@leather.io/utils@0.13.2': + resolution: {integrity: sha512-68rsDNS/mA9OYCPpU0yGGY3OMGWxAMqq4yZWi6mFnzqMgTvOW0MvFJOo/V4DhPxbo3sKS6mcwwbAH/YLnyBwGA==} '@ledgerhq/devices@8.4.2': resolution: {integrity: sha512-oWNTp3jCMaEvRHsXNYE/yo+PFMgXAJGFHLOU1UdE4/fYkniHbD9wdxwyZrZvrxr9hNw4/9wHiThyITwPtMzG7g==} @@ -17582,10 +17577,10 @@ snapshots: '@leather.io/bitcoin@0.11.2(encoding@0.1.13)': dependencies: '@bitcoinerlab/secp256k1': 1.0.2 - '@leather.io/constants': file:../mono/packages/constants + '@leather.io/constants': 0.9.1 '@leather.io/crypto': 1.4.2 - '@leather.io/models': file:../mono/packages/models - '@leather.io/utils': file:../mono/packages/utils + '@leather.io/models': 0.13.0 + '@leather.io/utils': 0.13.2 '@noble/hashes': 1.4.0 '@noble/secp256k1': 2.1.0 '@scure/base': 1.1.6 @@ -17601,11 +17596,11 @@ snapshots: transitivePeerDependencies: - encoding - '@leather.io/constants@file:../mono/packages/constants': {} + '@leather.io/constants@0.9.1': {} '@leather.io/crypto@1.4.2': dependencies: - '@leather.io/utils': file:../mono/packages/utils + '@leather.io/utils': 0.13.2 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 @@ -17619,7 +17614,7 @@ snapshots: - supports-color - typescript - '@leather.io/models@file:../mono/packages/models': + '@leather.io/models@0.13.0': dependencies: '@stacks/stacks-blockchain-api-types': 7.8.2 bignumber.js: 9.1.2 @@ -17645,10 +17640,10 @@ snapshots: '@fungible-systems/zone-file': 2.0.0 '@hirosystems/token-metadata-api-client': 1.2.0(encoding@0.1.13) '@leather.io/bitcoin': 0.11.2(encoding@0.1.13) - '@leather.io/constants': file:../mono/packages/constants - '@leather.io/models': file:../mono/packages/models - '@leather.io/rpc': file:../mono/packages/rpc - '@leather.io/utils': file:../mono/packages/utils + '@leather.io/constants': 0.9.1 + '@leather.io/models': 0.13.0 + '@leather.io/rpc': 2.1.6 + '@leather.io/utils': 0.13.2 '@noble/hashes': 1.4.0 '@scure/base': 1.1.6 '@scure/bip32': 1.4.0 @@ -17673,16 +17668,16 @@ snapshots: - debug - encoding - '@leather.io/rpc@file:../mono/packages/rpc': + '@leather.io/rpc@2.1.6': dependencies: - '@leather.io/models': file:../mono/packages/models + '@leather.io/models': 0.13.0 zod: 3.23.6 '@leather.io/stacks@1.0.2(encoding@0.1.13)': dependencies: '@leather.io/crypto': 1.4.2 - '@leather.io/models': file:../mono/packages/models - '@leather.io/utils': file:../mono/packages/utils + '@leather.io/models': 0.13.0 + '@leather.io/utils': 0.13.2 '@noble/hashes': 1.4.0 '@scure/bip32': 1.4.0 '@stacks/encryption': 6.16.1 @@ -17690,13 +17685,13 @@ snapshots: transitivePeerDependencies: - encoding - '@leather.io/tokens@file:../mono/packages/tokens': {} + '@leather.io/tokens@0.9.0': {} - '@leather.io/ui@file:../mono/packages/ui(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5)': + '@leather.io/ui@1.16.0(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(typescript@5.4.5)': dependencies: '@expo/vector-icons': 14.0.0 - '@leather.io/tokens': file:../mono/packages/tokens - '@leather.io/utils': file:../mono/packages/utils + '@leather.io/tokens': 0.9.0 + '@leather.io/utils': 0.13.2 '@radix-ui/react-accessible-icon': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-accordion': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-avatar': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -17736,11 +17731,11 @@ snapshots: - typescript - utf-8-validate - '@leather.io/utils@file:../mono/packages/utils': + '@leather.io/utils@0.13.2': dependencies: - '@leather.io/constants': file:../mono/packages/constants - '@leather.io/models': file:../mono/packages/models - '@leather.io/rpc': file:../mono/packages/rpc + '@leather.io/constants': 0.9.1 + '@leather.io/models': 0.13.0 + '@leather.io/rpc': 2.1.6 bignumber.js: 9.1.2 '@ledgerhq/devices@8.4.2': From 9d52d9e026d2f001d5f4a30cedabc08df17a40fc Mon Sep 17 00:00:00 2001 From: Pete Watters <2938440+pete-watters@users.noreply.github.com> Date: Fri, 23 Aug 2024 12:10:25 +0100 Subject: [PATCH 9/9] chore: improve open API and add tests, ref leather-io/issues#5800 --- src/background/messaging/rpc-methods/open.ts | 27 +++------ src/shared/rpc/methods/open.ts | 11 +--- tests/specs/rpc-open/open.spec.ts | 62 ++++++++++++++++++++ 3 files changed, 73 insertions(+), 27 deletions(-) create mode 100644 tests/specs/rpc-open/open.spec.ts diff --git a/src/background/messaging/rpc-methods/open.ts b/src/background/messaging/rpc-methods/open.ts index fcd7cd3f864..0d8c914e303 100644 --- a/src/background/messaging/rpc-methods/open.ts +++ b/src/background/messaging/rpc-methods/open.ts @@ -1,30 +1,21 @@ -import { RpcErrorCode } from '@btckit/types'; - import { RouteUrls } from '@shared/route-urls'; import { OpenRequest } from '@shared/rpc/methods/open'; -import { makeRpcErrorResponse } from '@shared/rpc/rpc-methods'; +import { makeRpcSuccessResponse } from '@shared/rpc/rpc-methods'; -import { - listenForPopupClose, - makeSearchParamsWithDefaults, - triggerRequestWindowOpen, -} from '../messaging-utils'; +import { makeSearchParamsWithDefaults, triggerRequestWindowOpen } from '../messaging-utils'; import { trackRpcRequestSuccess } from '../rpc-message-handler'; export async function rpcOpen(message: OpenRequest, port: chrome.runtime.Port) { const { urlParams, tabId } = makeSearchParamsWithDefaults(port, [['requestId', message.id]]); - const { id } = await triggerRequestWindowOpen(RouteUrls.Home, urlParams); + + await triggerRequestWindowOpen(RouteUrls.Home, urlParams); void trackRpcRequestSuccess({ endpoint: message.method }); - listenForPopupClose({ + chrome.tabs.sendMessage( tabId, - id, - response: makeRpcErrorResponse('open', { + makeRpcSuccessResponse('open', { id: message.id, - error: { - code: RpcErrorCode.USER_REJECTION, - message: 'User rejected request to open wallet', - }, - }), - }); + result: { message: 'Success' }, + }) + ); } diff --git a/src/shared/rpc/methods/open.ts b/src/shared/rpc/methods/open.ts index 2ee6a16d6f4..673aa2f091a 100644 --- a/src/shared/rpc/methods/open.ts +++ b/src/shared/rpc/methods/open.ts @@ -1,14 +1,7 @@ import { DefineRpcMethod, RpcRequest, RpcResponse } from '@btckit/types'; -import * as yup from 'yup'; -const rpcOpenParamsSchema = yup.object().shape({ - url: yup.string(), -}); +export type OpenRequest = RpcRequest<'open'>; -type OpenRequestParams = yup.InferType; - -export type OpenRequest = RpcRequest<'open', OpenRequestParams>; - -type OpenResponse = RpcResponse; +type OpenResponse = RpcResponse<{ message: string }>; export type Open = DefineRpcMethod; diff --git a/tests/specs/rpc-open/open.spec.ts b/tests/specs/rpc-open/open.spec.ts new file mode 100644 index 00000000000..f5252fc51ac --- /dev/null +++ b/tests/specs/rpc-open/open.spec.ts @@ -0,0 +1,62 @@ +import type { BrowserContext, Page } from '@playwright/test'; +import { TEST_PASSWORD } from '@tests/mocks/constants'; +import { HomePageSelectors } from '@tests/selectors/home.selectors'; + +import { test } from '../../fixtures/fixtures'; + +const successResponse = { + jsonrpc: '2.0', + result: { + message: 'Success', + }, +}; + +async function interceptRequestPopup(context: BrowserContext) { + return context.waitForEvent('page'); +} + +async function assertWalletHomeOpens(popup: Page) { + await popup.getByTestId(HomePageSelectors.HomePageContainer).waitFor(); + const button = popup.getByTestId(HomePageSelectors.FundAccountBtn); + await test.expect(button).toBeVisible(); +} +async function initiateOpen(page: Page) { + return page.evaluate(async () => (window as any).LeatherProvider?.request('open')); +} + +test.describe('Rpc: Open', () => { + test.beforeEach(async ({ extensionId, globalPage, onboardingPage }) => { + await globalPage.setupAndUseApiCalls(extensionId); + + await onboardingPage.signInWithTestAccount(extensionId); + }); + + test('the wallet opens successfully', async ({ page, context }) => { + await page.goto('localhost:3000'); + const openPromise = await initiateOpen(page); + + const popup = await interceptRequestPopup(context); + await assertWalletHomeOpens(popup); + + const result = await openPromise; + if (!result) throw new Error('Expected result'); + const { id, ...payloadWithoutId } = result; + + await test.expect(payloadWithoutId).toEqual(successResponse); + }); + + test('it forces user to unlock wallet when wallet is locked', async ({ + homePage, + page, + context, + }) => { + await homePage.lock(); + await page.goto('localhost:3000'); + const openPromise = initiateOpen(page); + const popup = await interceptRequestPopup(context); + await popup.getByRole('textbox').fill(TEST_PASSWORD); + await popup.getByRole('button', { name: 'Continue' }).click(); + await assertWalletHomeOpens(popup); + await test.expect(openPromise).resolves.toMatchObject(successResponse); + }); +});