From 4846cee8a6168809e4de91a9c4cbc3eb3ad57731 Mon Sep 17 00:00:00 2001 From: vorujack Date: Thu, 7 Mar 2024 09:33:07 +0330 Subject: [PATCH] display qrcode on cold transaction signing --- .../cold-signing-request/ColdSignignRequest.tsx | 4 ++-- .../qrcode-types/ergo-pay/ErgoPay.tsx | 4 ++-- .../sign-button-label/SignButtonLabel.tsx | 17 +++++++++++++++++ src/pages/wallet-page/dapps/WalletDAppView.tsx | 3 ++- src/pages/wallet-page/home/WalletHome.tsx | 1 + src/pages/wallet-page/send/WalletSend.tsx | 3 ++- .../send/sign-tx/WalletSignMultiSig.tsx | 12 ++++++++++++ 7 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 src/components/sign-button-label/SignButtonLabel.tsx diff --git a/src/components/qr-code-scanner/qrcode-types/cold-signing-request/ColdSignignRequest.tsx b/src/components/qr-code-scanner/qrcode-types/cold-signing-request/ColdSignignRequest.tsx index c740f7b..6b2cfda 100644 --- a/src/components/qr-code-scanner/qrcode-types/cold-signing-request/ColdSignignRequest.tsx +++ b/src/components/qr-code-scanner/qrcode-types/cold-signing-request/ColdSignignRequest.tsx @@ -13,11 +13,11 @@ import TransactionBoxes from '@/components/sign/transaction-boxes/TransactionBox import { TxDataContext } from '@/components/sign/context/TxDataContext'; import { Button, IconButton } from '@mui/material'; import { Inventory2Outlined } from '@mui/icons-material'; -import { getSignButtonLabel } from '@/utils/functions'; import { SelectableWalletContext } from '@/components/sign/context/SelectableWalletContext'; import getChain from '@/utils/networks'; import CenterMessage from '@/components/state-message/CenterMessage'; import SvgIcon from '@/icons/SvgIcon'; +import SignButtonLabel from '@/components/sign-button-label/SignButtonLabel'; interface ColdSigningRequestPropsType { scanned: string; @@ -104,7 +104,7 @@ const ColdSigningRequest = (props: ColdSigningRequestPropsType) => { error === '' && txSignContext.signed === '' ? ( ) : undefined } diff --git a/src/components/qr-code-scanner/qrcode-types/ergo-pay/ErgoPay.tsx b/src/components/qr-code-scanner/qrcode-types/ergo-pay/ErgoPay.tsx index 6f7cbb1..2578522 100644 --- a/src/components/qr-code-scanner/qrcode-types/ergo-pay/ErgoPay.tsx +++ b/src/components/qr-code-scanner/qrcode-types/ergo-pay/ErgoPay.tsx @@ -1,4 +1,5 @@ import BackButton from '@/components/back-button/BackButton'; +import SignButtonLabel from '@/components/sign-button-label/SignButtonLabel'; import { TxDataContext } from '@/components/sign/context/TxDataContext'; import TxSignContext from '@/components/sign/context/TxSignContext'; import TransactionBoxes from '@/components/sign/transaction-boxes/TransactionBoxes'; @@ -9,7 +10,6 @@ import AppFrame from '@/layouts/AppFrame'; import SignTx from '@/pages/wallet-page/send/sign-tx/SignTx'; import { StateWallet } from '@/store/reducer/wallet'; import { QrCodeScannedComponentPropsType } from '@/types/qrcode'; -import { getSignButtonLabel } from '@/utils/functions'; import { Inventory2Outlined } from '@mui/icons-material'; import { Button, @@ -78,7 +78,7 @@ const ErgoPay = (props: QrCodeScannedComponentPropsType) => { ) : context.tx && wallet ? ( ) : undefined } diff --git a/src/components/sign-button-label/SignButtonLabel.tsx b/src/components/sign-button-label/SignButtonLabel.tsx new file mode 100644 index 0000000..82b0f4c --- /dev/null +++ b/src/components/sign-button-label/SignButtonLabel.tsx @@ -0,0 +1,17 @@ +import { WalletType } from "@/db/entities/Wallet"; +import { useSignerWallet } from "@/hooks/multi-sig/useSignerWallet"; +import { StateWallet } from "@/store/reducer/wallet" + +interface SignButtonLabelPropsType { + wallet: StateWallet +} + +const SignButtonLabel = (props: SignButtonLabelPropsType) => { + const signer = useSignerWallet(props.wallet); + if (props.wallet.type === WalletType.ReadOnly || (signer !== undefined && signer.type == WalletType.ReadOnly)) return 'Scan Signed'; + if (props.wallet.type === WalletType.Normal) return 'Sign'; + if (props.wallet.type === WalletType.MultiSig) return 'Start Signing'; + } + + +export default SignButtonLabel; \ No newline at end of file diff --git a/src/pages/wallet-page/dapps/WalletDAppView.tsx b/src/pages/wallet-page/dapps/WalletDAppView.tsx index b375541..36db06d 100644 --- a/src/pages/wallet-page/dapps/WalletDAppView.tsx +++ b/src/pages/wallet-page/dapps/WalletDAppView.tsx @@ -14,6 +14,7 @@ import { StateWallet } from '@/store/reducer/wallet'; import PrevIcon from '@mui/icons-material/ArrowBackIos'; import TxSignContext from '@/components/sign/context/TxSignContext'; import SignTx from '../send/sign-tx/SignTx'; +import SignButtonLabel from '@/components/sign-button-label/SignButtonLabel'; interface WalletDAppViewPropsType { wallet: StateWallet; @@ -71,7 +72,7 @@ const WalletDAppView = (props: WalletDAppViewPropsType) => { disabled={hasError} onClick={() => txSignContext.handle()} > - Sign and Publish + diff --git a/src/pages/wallet-page/home/WalletHome.tsx b/src/pages/wallet-page/home/WalletHome.tsx index 03a532c..0414d0f 100644 --- a/src/pages/wallet-page/home/WalletHome.tsx +++ b/src/pages/wallet-page/home/WalletHome.tsx @@ -12,6 +12,7 @@ interface WalletHomePropsType { const WalletHome = (props: WalletHomePropsType) => { const signer = useSignerWallet(props.wallet); + console.log(signer) return ( diff --git a/src/pages/wallet-page/send/WalletSend.tsx b/src/pages/wallet-page/send/WalletSend.tsx index c4b2350..884ce33 100644 --- a/src/pages/wallet-page/send/WalletSend.tsx +++ b/src/pages/wallet-page/send/WalletSend.tsx @@ -14,6 +14,7 @@ import { StateWallet } from '@/store/reducer/wallet'; import SendAmount from './send-amount/SendAmount'; import SignTx from './sign-tx/SignTx'; import { getSignButtonLabel } from '@/utils/functions'; +import SignButtonLabel from '@/components/sign-button-label/SignButtonLabel'; interface WalletSendPropsType { wallet: StateWallet; @@ -79,7 +80,7 @@ const WalletSend = (props: WalletSendPropsType) => { onClick={handleNext} endIcon={step === STEPS_COUNTS ? undefined : } > - {getNextLabel()} + diff --git a/src/pages/wallet-page/send/sign-tx/WalletSignMultiSig.tsx b/src/pages/wallet-page/send/sign-tx/WalletSignMultiSig.tsx index d930e57..3684d0f 100644 --- a/src/pages/wallet-page/send/sign-tx/WalletSignMultiSig.tsx +++ b/src/pages/wallet-page/send/sign-tx/WalletSignMultiSig.tsx @@ -2,6 +2,9 @@ import { Box, Typography } from '@mui/material'; import { useEffect } from 'react'; import useReducedTx from '@/hooks/useReducedTx'; import { StateWallet } from '@/store/reducer/wallet'; +import { useSignerWallet } from '@/hooks/multi-sig/useSignerWallet'; +import { WalletType } from '@/db/entities/Wallet'; +import WalletSignReadonly from './WalletSignReadonly'; interface WalletSignMultiSigPropsType { networkType: string; @@ -14,6 +17,15 @@ const WalletSignMultiSig = (props: WalletSignMultiSigPropsType) => { useEffect(() => { props.setHasError(isValid); }); + const signer = useSignerWallet(props.wallet); + if(signer?.type === WalletType.ReadOnly){ + return ( + + ) + } return (