From 9334cd072983bcef9e26cc3349d9daba0b03efbd Mon Sep 17 00:00:00 2001 From: Mircea Hasegan Date: Thu, 10 Oct 2024 13:14:58 +0200 Subject: [PATCH 1/4] fixup! chore: resolve ci issues --- .../src/lib/scripts/background/injectUtil.ts | 25 +------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/apps/browser-extension-wallet/src/lib/scripts/background/injectUtil.ts b/apps/browser-extension-wallet/src/lib/scripts/background/injectUtil.ts index 198fb5229..a0b8db84c 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/background/injectUtil.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/background/injectUtil.ts @@ -7,7 +7,6 @@ import { RemoteApiPropertyType } from '@cardano-sdk/web-extension'; -const MODE_STORAGE_KEY = 'lace-features'; const logger = console; export const WALLET_MODE_CHANNEL = 'wallet-mode'; @@ -33,27 +32,5 @@ const withModeApi = async (invoke: (api: ModeApi) => Promise, runtime: Min } }; -const loadAndStoreFeatureMode = async (runtime: MinimalRuntime) => - withModeApi(async (modeApi) => { - const featureMode = await modeApi.getMode(); - localStorage.setItem(MODE_STORAGE_KEY, JSON.stringify(featureMode)); - return featureMode; - }, runtime); - -/** - * Get feature flags: - * - if doesn't exist in local storage, get feature flags from service worker - * by using the specified runtime for messaging - * - if exists in local storage - * - return stored feature flags - * - as a side effect, get feature flags from service worker by using the - * specified runtime for messaging and store them in local storage - */ export const getMode = async (runtime: MinimalRuntime): Promise<'lace' | 'nami'> => - // const storedMode = localStorage.getItem(MODE_STORAGE_KEY); - // if (storedMode) { - // // update feature flags in local storage without blocking the return - // void loadAndStoreFeatureMode(runtime); - // return JSON.parse(storedMode) as WalletMode; - // } - loadAndStoreFeatureMode(runtime); + withModeApi(async (modeApi) => await modeApi.getMode(), runtime); From 7964b804ef1f987c9481076ce65daf2a2d751f99 Mon Sep 17 00:00:00 2001 From: Mircea Hasegan Date: Thu, 10 Oct 2024 13:16:17 +0200 Subject: [PATCH 2/4] fixup! fix: banner display condition and popup size --- .../browser-extension-wallet/src/lib/scripts/background/util.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/browser-extension-wallet/src/lib/scripts/background/util.ts b/apps/browser-extension-wallet/src/lib/scripts/background/util.ts index 963dd3909..9948d6457 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/background/util.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/background/util.ts @@ -81,7 +81,7 @@ export const launchCip30Popup = async (url: string, windowType: Windows.CreateTy tab.id, calculatePopupWindowPositionAndSize( currentWindow, - windowType === 'popup' ? (namiMigration.mode === 'lace' ? POPUP_WINDOW : POPUP_WINDOW_NAMI) : HW_POPUP_WINDOW + windowType === 'popup' ? (namiMigration?.mode === 'nami' ? POPUP_WINDOW_NAMI : POPUP_WINDOW) : HW_POPUP_WINDOW ), windowType, true From 41318c360a665c14ba0873bd9fb602eedf81713e Mon Sep 17 00:00:00 2001 From: Mircea Hasegan Date: Thu, 10 Oct 2024 13:33:10 +0200 Subject: [PATCH 3/4] fixup! fix: hardware wallet integration --- .../ui/app/pages/dapp-connector/signTx.tsx | 6 +++- packages/nami/src/ui/app/pages/send.tsx | 29 +++++++++---------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/packages/nami/src/ui/app/pages/dapp-connector/signTx.tsx b/packages/nami/src/ui/app/pages/dapp-connector/signTx.tsx index ef9c1d8fe..98e1ab2a3 100644 --- a/packages/nami/src/ui/app/pages/dapp-connector/signTx.tsx +++ b/packages/nami/src/ui/app/pages/dapp-connector/signTx.tsx @@ -513,7 +513,11 @@ export const SignTx = ({ capture(Events.DappConnectorDappTxCancelClick); }} sign={async password => { - return request?.sign(password ?? ''); + try { + await request?.sign(password ?? ''); + } catch (error) { + setIsLoading(l => ({ ...l, error: `Failed to sign. ${error}` })); + } }} onConfirm={async (status, signedTx) => { if (status) { diff --git a/packages/nami/src/ui/app/pages/send.tsx b/packages/nami/src/ui/app/pages/send.tsx index 6616605a2..905fd01fc 100644 --- a/packages/nami/src/ui/app/pages/send.tsx +++ b/packages/nami/src/ui/app/pages/send.tsx @@ -40,15 +40,11 @@ import { } from '@chakra-ui/react'; import MiddleEllipsis from 'react-middle-ellipsis'; import UnitDisplay from '../components/unitDisplay'; -import { - buildTx, - signAndSubmit, - signAndSubmitHW, -} from '../../../api/extension/wallet'; +import { buildTx, signAndSubmit } from '../../../api/extension/wallet'; import { assetsToValue, minAdaRequired } from '../../../api/util'; import { FixedSizeList as List } from 'react-window'; import AssetBadge from '../components/assetBadge'; -import { ERROR, HW, TAB } from '../../../config/config'; +import { ERROR } from '../../../config/config'; import { Planet } from 'react-kawaii'; import { useStoreActions, useStoreState } from '../../store'; import AvatarLoader from '../components/avatarLoader'; @@ -70,7 +66,6 @@ import { toAsset, withHandleInfo } from '../../../adapters/assets'; import type { Asset as NamiAsset } from '../../../types/assets'; import { UseAccount } from '../../../adapters/account'; import { useOutsideHandles } from '../../../features/outside-handles-provider'; -import { TxInspection } from '@cardano-sdk/tx-construction/dist/cjs/tx-builder/types'; interface Props { activeAddress: string; @@ -701,14 +696,18 @@ const Send = ({ } ref={ref} - sign={async (password, hw) => { + sign={async (password, _hw) => { capture(Events.SendTransactionConfirmationConfirmClick); - return await signAndSubmit({ - tx, - password, - withSignTxConfirmation, - inMemoryWallet, - }); + try { + await signAndSubmit({ + tx, + password, + withSignTxConfirmation, + inMemoryWallet, + }); + } catch (error) { + console.log('Failed to sign and submit transaction', error); + } }} getCbor={async () => { const inspection = await tx.inspect(); @@ -734,7 +733,7 @@ const Send = ({ status: 'success', duration: 5000, }); - if (await isValidAddress(address.result, currentChain)) { + if (isValidAddress(address.result, currentChain)) { await updateAccountMetadata({ namiMode: { recentSendToAddress: address.result }, }); From 69defd1ac7737ca6eb9d5a8147d9906ac5dc6436 Mon Sep 17 00:00:00 2001 From: Mircea Hasegan Date: Thu, 10 Oct 2024 13:35:52 +0200 Subject: [PATCH 4/4] fixup! fix: banner display condition and popup size --- packages/nami/src/ui/UpgradeToLaceHeader.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/nami/src/ui/UpgradeToLaceHeader.tsx b/packages/nami/src/ui/UpgradeToLaceHeader.tsx index 886250f1f..861fa18cc 100644 --- a/packages/nami/src/ui/UpgradeToLaceHeader.tsx +++ b/packages/nami/src/ui/UpgradeToLaceHeader.tsx @@ -13,8 +13,11 @@ export const UpgradeToLaceHeader = ({ }) => { const location = useLocation(); - if (location.pathname.startsWith('/hwTab')) return null; - if (location.pathname.startsWith('/dapp')) return null; + if ( + location.pathname.startsWith('/hwTab') || + location.pathname.startsWith('/dapp') + ) + return null; return (