From 94a58be74244697d2ed77904ebd5d93cd4ec3f4b Mon Sep 17 00:00:00 2001 From: aaronisme Date: Mon, 9 Sep 2024 17:33:55 +0800 Subject: [PATCH 01/21] feat: add the keystone usb connection --- apps/extension/src/languages/en.json | 4 + .../pages/register/connect-keystone/index.tsx | 3 +- apps/extension/src/pages/register/index.tsx | 14 +++- .../register/name-password-hardware/index.tsx | 81 ++++++++++++++++++- 4 files changed, 95 insertions(+), 7 deletions(-) diff --git a/apps/extension/src/languages/en.json b/apps/extension/src/languages/en.json index ee49c425bd..41c8fcd01c 100644 --- a/apps/extension/src/languages/en.json +++ b/apps/extension/src/languages/en.json @@ -105,6 +105,10 @@ "pages.register.name-password-hardware.connect-to-terra": "Terra app", "pages.register.name-password-hardware.connect-to-secret": "Secret app", + "pages.register.name-password-hardware.connect-keystone-way": "Connect Keystone via", + "pages.register.name-password-hardware.connect-to-keystone-USB": "USB", + "pages.register.name-password-hardware.connect-to-keystone-QR": "QR", + "pages.register.recover-mnemonic.title": "Import Existing Wallet", "pages.register.recover-mnemonic.paragraph-1": "Enter your recovery phrase here to restore your wallet. Or click on any blank and paste the entire phrase.", "pages.register.recover-mnemonic.paragraph-2": "Enter the phrase in the right order without capitalization, punctuation symbols, or spaces.", diff --git a/apps/extension/src/pages/register/connect-keystone/index.tsx b/apps/extension/src/pages/register/connect-keystone/index.tsx index 324a651a1e..4de4e439f2 100644 --- a/apps/extension/src/pages/register/connect-keystone/index.tsx +++ b/apps/extension/src/pages/register/connect-keystone/index.tsx @@ -12,8 +12,9 @@ import { Button } from "../../../components/button"; import { ColorPalette } from "../../../styles"; import { useTheme } from "styled-components"; import { FormattedMessage, useIntl } from "react-intl"; +export { ConnectKeystoneUSBScene } from "./usb"; -export const ConnectKeystoneScene: FunctionComponent<{ +export const ConnectKeystoneQRScene: FunctionComponent<{ name: string; password: string; stepPrevious: number; diff --git a/apps/extension/src/pages/register/index.tsx b/apps/extension/src/pages/register/index.tsx index b0c91ab2d3..deabc41dba 100644 --- a/apps/extension/src/pages/register/index.tsx +++ b/apps/extension/src/pages/register/index.tsx @@ -35,7 +35,10 @@ import { useStore } from "../../stores"; import { useSearchParams } from "react-router-dom"; import * as KeplrWalletPrivate from "keplr-wallet-private"; import { BackUpPrivateKeyScene } from "./back-up-private-key"; -import { ConnectKeystoneScene } from "./connect-keystone"; +import { + ConnectKeystoneQRScene, + ConnectKeystoneUSBScene, +} from "./connect-keystone"; import { ScanKeystoneScene } from "./connect-keystone/scan"; const Container = styled.div` @@ -230,8 +233,13 @@ const RegisterPageImpl: FunctionComponent = observer(() => { width: "40rem", }, { - name: "connect-keystone", - element: ConnectKeystoneScene, + name: "connect-keystone-qr", + element: ConnectKeystoneQRScene, + width: "40rem", + }, + { + name: "connect-keystone-usb", + element: ConnectKeystoneUSBScene, width: "40rem", }, { diff --git a/apps/extension/src/pages/register/name-password-hardware/index.tsx b/apps/extension/src/pages/register/name-password-hardware/index.tsx index 8a93d0550b..d5cc616c3d 100644 --- a/apps/extension/src/pages/register/name-password-hardware/index.tsx +++ b/apps/extension/src/pages/register/name-password-hardware/index.tsx @@ -39,10 +39,12 @@ export const RegisterNamePasswordHardwareScene: FunctionComponent<{ const form = useFormNamePassword(); const [connectTo, setConnectTo] = useState("Cosmos"); - - const bip44PathState = useBIP44PathState(type === "ledger"); + const bip44PathState = useBIP44PathState(true); const [isBIP44CardOpen, setIsBIP44CardOpen] = useState(false); + const [keystoneWay, setKeystoneWay] = useState("USB"); + const [isKeystoneUSB, setIsUSB] = useState(true); + return (
) : undefined} + {type === "keystone" ? ( + + +