From 73fc6af86d4023854a83eb61d9a36fdd6d507cb1 Mon Sep 17 00:00:00 2001 From: Ted Ian Osias Date: Thu, 21 Dec 2023 21:51:54 +0800 Subject: [PATCH] Refactor remove v2 code (#43) * refactor(bridge): remove v2 code * refactor(bridge): remove v2 code --- .../AddLogModals/AddNEVMTransactionModal.tsx | 2 +- .../AddLogModals/AddUTXOTransactionModal.tsx | 2 +- components/Bridge/{v3 => }/Loading.tsx | 4 +- .../Bridge/{v3 => }/NEVMStepWrapepr.tsx | 0 .../Bridge/{v3 => }/NewTransferButton.tsx | 6 +- .../Bridge/{v3 => }/SavingIndicator.tsx | 4 +- components/Bridge/{v3 => }/StepSwitch.tsx | 60 +++--- components/Bridge/Stepper.tsx | 107 ++++++++--- components/Bridge/{v3 => }/Steps/BurnSys.tsx | 4 +- components/Bridge/{v3 => }/Steps/BurnSysx.tsx | 4 +- .../{v3 => }/Steps/CompleteNevmToSys.tsx | 4 +- .../{v3 => }/Steps/CompleteSysToNevm.tsx | 4 +- .../{v3 => }/Steps/ConfirmNEVMTransaction.tsx | 4 +- .../{v3 => }/Steps/ConfirmUTXOTransaction.tsx | 6 +- .../Bridge/{v3 => }/Steps/ConnectValidate.tsx | 20 +- .../ConnectValidate/AgreeToTermsCheckbox.tsx | 0 .../Steps/ConnectValidate/AmountField.tsx | 0 .../ConnectValidate/StartTransferButton.tsx | 0 .../{v3 => }/Steps/FreezeAndBurnSys.tsx | 4 +- .../Bridge/{v3 => }/Steps/GenerateProofs.tsx | 4 +- components/Bridge/{v3 => }/Steps/MintSysx.tsx | 4 +- .../Bridge/{v3 => }/Steps/SubmitProofs.tsx | 4 +- components/Bridge/Transfer/Complete.tsx | 174 ------------------ components/Bridge/Transfer/Form.tsx | 174 ------------------ components/Bridge/Transfer/StepSwitch.tsx | 87 --------- .../Transfer/StepSwitch/PaliSwitchNetwork.tsx | 55 ------ .../Transfer/StepSwitch/WaitNEVMSign.tsx | 33 ---- .../WaitNevmTransactionConfirmation.tsx | 42 ----- .../StepSwitch/WaitPaliWalletSign.tsx | 52 ------ .../WaitPaliwalletTransactionConfirmation.tsx | 39 ---- components/Bridge/Transfer/Title.tsx | 2 +- .../{v3 => }/TransferSwitchTypeCard.tsx | 4 +- .../Bridge/{v3 => }/UTXOStepWrapper.tsx | 0 .../{WalletSwitchV2 => WalletSwitch}/Card.tsx | 0 .../ConfirmCard.tsx | 0 .../NEVMConnect.tsx | 2 +- .../UTXOConnect.tsx | 0 components/Bridge/WalletSwitchV2.tsx | 121 ------------ components/Bridge/{v3 => }/contants/steps.ts | 0 .../Bridge/{v3 => }/context/RelayContract.tsx | 0 .../Bridge/{v3 => }/context/Syscoin.tsx | 0 .../{v3 => }/context/TransferContext.tsx | 0 components/Bridge/{v3 => }/context/Web.tsx | 0 .../Bridge/{v3 => }/hooks/useBurnSys.tsx | 0 .../Bridge/{v3 => }/hooks/useBurnSysx.tsx | 0 .../{v3 => }/hooks/useErc20ManagerContract.ts | 0 .../Bridge/{v3 => }/hooks/useFeatureFlags.ts | 0 .../Bridge/{v3 => }/hooks/useFreezeAndBurn.ts | 0 .../Bridge/{v3 => }/hooks/useMintSysx.ts | 0 .../{v3 => }/hooks/useNevmTransaction.ts | 0 .../Bridge/{v3 => }/hooks/useProofs.tsx | 0 .../{v3 => }/hooks/useRelayContract.tsx | 0 .../Bridge/{v3 => }/hooks/useSubmitProof.tsx | 0 .../{v3 => }/hooks/useSyscoinSubmitProofs.tsx | 0 .../{v3 => }/hooks/useUtxoTransaction.ts | 0 components/Bridge/v3/Stepper.tsx | 89 --------- components/Home/PaliMetamaskBridge.tsx | 4 +- components/Home/PaliV2Bridge.tsx | 28 ++- components/Transfer/DataGrid.tsx | 8 +- contexts/Transfer/Provider.tsx | 18 +- pages/_app.tsx | 2 +- pages/admin/transfer/[id].tsx | 2 +- pages/bridge/{v3 => }/[id].tsx | 32 ++-- pages/bridge/v2/[id].tsx | 68 ------- pages/transfers/index.tsx | 62 +++---- pages/transfers/v2.tsx | 58 ------ utils/balance-hooks.ts | 2 +- 67 files changed, 229 insertions(+), 1176 deletions(-) rename components/Bridge/{v3 => }/Loading.tsx (79%) rename components/Bridge/{v3 => }/NEVMStepWrapepr.tsx (100%) rename components/Bridge/{v3 => }/NewTransferButton.tsx (51%) rename components/Bridge/{v3 => }/SavingIndicator.tsx (81%) rename components/Bridge/{v3 => }/StepSwitch.tsx (74%) rename components/Bridge/{v3 => }/Steps/BurnSys.tsx (96%) rename components/Bridge/{v3 => }/Steps/BurnSysx.tsx (96%) rename components/Bridge/{v3 => }/Steps/CompleteNevmToSys.tsx (93%) rename components/Bridge/{v3 => }/Steps/CompleteSysToNevm.tsx (94%) rename components/Bridge/{v3 => }/Steps/ConfirmNEVMTransaction.tsx (94%) rename components/Bridge/{v3 => }/Steps/ConfirmUTXOTransaction.tsx (90%) rename components/Bridge/{v3 => }/Steps/ConnectValidate.tsx (92%) rename components/Bridge/{v3 => }/Steps/ConnectValidate/AgreeToTermsCheckbox.tsx (100%) rename components/Bridge/{v3 => }/Steps/ConnectValidate/AmountField.tsx (100%) rename components/Bridge/{v3 => }/Steps/ConnectValidate/StartTransferButton.tsx (100%) rename components/Bridge/{v3 => }/Steps/FreezeAndBurnSys.tsx (95%) rename components/Bridge/{v3 => }/Steps/GenerateProofs.tsx (92%) rename components/Bridge/{v3 => }/Steps/MintSysx.tsx (96%) rename components/Bridge/{v3 => }/Steps/SubmitProofs.tsx (96%) delete mode 100644 components/Bridge/Transfer/Complete.tsx delete mode 100644 components/Bridge/Transfer/Form.tsx delete mode 100644 components/Bridge/Transfer/StepSwitch.tsx delete mode 100644 components/Bridge/Transfer/StepSwitch/PaliSwitchNetwork.tsx delete mode 100644 components/Bridge/Transfer/StepSwitch/WaitNEVMSign.tsx delete mode 100644 components/Bridge/Transfer/StepSwitch/WaitNevmTransactionConfirmation.tsx delete mode 100644 components/Bridge/Transfer/StepSwitch/WaitPaliWalletSign.tsx delete mode 100644 components/Bridge/Transfer/StepSwitch/WaitPaliwalletTransactionConfirmation.tsx rename components/Bridge/{v3 => }/TransferSwitchTypeCard.tsx (91%) rename components/Bridge/{v3 => }/UTXOStepWrapper.tsx (100%) rename components/Bridge/{WalletSwitchV2 => WalletSwitch}/Card.tsx (100%) rename components/Bridge/{WalletSwitchV2 => WalletSwitch}/ConfirmCard.tsx (100%) rename components/Bridge/{WalletSwitchV2 => WalletSwitch}/NEVMConnect.tsx (97%) rename components/Bridge/{WalletSwitchV2 => WalletSwitch}/UTXOConnect.tsx (100%) delete mode 100644 components/Bridge/WalletSwitchV2.tsx rename components/Bridge/{v3 => }/contants/steps.ts (100%) rename components/Bridge/{v3 => }/context/RelayContract.tsx (100%) rename components/Bridge/{v3 => }/context/Syscoin.tsx (100%) rename components/Bridge/{v3 => }/context/TransferContext.tsx (100%) rename components/Bridge/{v3 => }/context/Web.tsx (100%) rename components/Bridge/{v3 => }/hooks/useBurnSys.tsx (100%) rename components/Bridge/{v3 => }/hooks/useBurnSysx.tsx (100%) rename components/Bridge/{v3 => }/hooks/useErc20ManagerContract.ts (100%) rename components/Bridge/{v3 => }/hooks/useFeatureFlags.ts (100%) rename components/Bridge/{v3 => }/hooks/useFreezeAndBurn.ts (100%) rename components/Bridge/{v3 => }/hooks/useMintSysx.ts (100%) rename components/Bridge/{v3 => }/hooks/useNevmTransaction.ts (100%) rename components/Bridge/{v3 => }/hooks/useProofs.tsx (100%) rename components/Bridge/{v3 => }/hooks/useRelayContract.tsx (100%) rename components/Bridge/{v3 => }/hooks/useSubmitProof.tsx (100%) rename components/Bridge/{v3 => }/hooks/useSyscoinSubmitProofs.tsx (100%) rename components/Bridge/{v3 => }/hooks/useUtxoTransaction.ts (100%) delete mode 100644 components/Bridge/v3/Stepper.tsx rename pages/bridge/{v3 => }/[id].tsx (80%) delete mode 100644 pages/bridge/v2/[id].tsx delete mode 100644 pages/transfers/v2.tsx diff --git a/components/Admin/Transfer/AddLogModals/AddNEVMTransactionModal.tsx b/components/Admin/Transfer/AddLogModals/AddNEVMTransactionModal.tsx index 116db2a2..3940a2cf 100644 --- a/components/Admin/Transfer/AddLogModals/AddNEVMTransactionModal.tsx +++ b/components/Admin/Transfer/AddLogModals/AddNEVMTransactionModal.tsx @@ -14,7 +14,7 @@ import { AddNEVMLogRequestPayload, } from "api/types/admin/transfer/add-log"; import { useState } from "react"; -import { useNevmTransaction } from "components/Bridge/v3/hooks/useNevmTransaction"; +import { useNevmTransaction } from "components/Bridge/hooks/useNevmTransaction"; type Props = { onClose: (refetch?: boolean) => void; diff --git a/components/Admin/Transfer/AddLogModals/AddUTXOTransactionModal.tsx b/components/Admin/Transfer/AddLogModals/AddUTXOTransactionModal.tsx index dcbacc95..b50b78b8 100644 --- a/components/Admin/Transfer/AddLogModals/AddUTXOTransactionModal.tsx +++ b/components/Admin/Transfer/AddLogModals/AddUTXOTransactionModal.tsx @@ -9,7 +9,7 @@ import { } from "@mui/material"; import AddLogModalContainer from "./ModalContainer"; import { useForm } from "react-hook-form"; -import { useUtxoTransaction } from "components/Bridge/v3/hooks/useUtxoTransaction"; +import { useUtxoTransaction } from "components/Bridge/hooks/useUtxoTransaction"; import { useNEVM } from "@contexts/ConnectedWallet/NEVMProvider"; import { AddUTXOLogRequestPayload } from "api/types/admin/transfer/add-log"; import { useState } from "react"; diff --git a/components/Bridge/v3/Loading.tsx b/components/Bridge/Loading.tsx similarity index 79% rename from components/Bridge/v3/Loading.tsx rename to components/Bridge/Loading.tsx index 9c064adc..9d5dc125 100644 --- a/components/Bridge/v3/Loading.tsx +++ b/components/Bridge/Loading.tsx @@ -1,6 +1,6 @@ import { Box } from "@mui/material"; -const BridgeV3Loading = () => { +const BridgeLoading = () => { return ( { ); }; -export default BridgeV3Loading; +export default BridgeLoading; diff --git a/components/Bridge/v3/NEVMStepWrapepr.tsx b/components/Bridge/NEVMStepWrapepr.tsx similarity index 100% rename from components/Bridge/v3/NEVMStepWrapepr.tsx rename to components/Bridge/NEVMStepWrapepr.tsx diff --git a/components/Bridge/v3/NewTransferButton.tsx b/components/Bridge/NewTransferButton.tsx similarity index 51% rename from components/Bridge/v3/NewTransferButton.tsx rename to components/Bridge/NewTransferButton.tsx index 3e8e17a9..5957d797 100644 --- a/components/Bridge/v3/NewTransferButton.tsx +++ b/components/Bridge/NewTransferButton.tsx @@ -2,12 +2,12 @@ import { Button, ButtonProps } from "@mui/material"; import NextLink from "next/link"; import AddIcon from "@mui/icons-material/Add"; -const BridgeV3NewTransferButton: React.FC = (props) => { +const BridgeNewTransferButton: React.FC = (props) => { return ( - ); }; -export default BridgeV3NewTransferButton; +export default BridgeNewTransferButton; diff --git a/components/Bridge/v3/SavingIndicator.tsx b/components/Bridge/SavingIndicator.tsx similarity index 81% rename from components/Bridge/v3/SavingIndicator.tsx rename to components/Bridge/SavingIndicator.tsx index 8e8a4179..5a0700d1 100644 --- a/components/Bridge/v3/SavingIndicator.tsx +++ b/components/Bridge/SavingIndicator.tsx @@ -1,7 +1,7 @@ import { CircularProgress, Typography } from "@mui/material"; import { useTransfer } from "./context/TransferContext"; -const BridgeV3SavingIndicator = () => { +const BridgeSavingIndicator = () => { const { isSaving } = useTransfer(); if (!isSaving) return null; return ( @@ -12,4 +12,4 @@ const BridgeV3SavingIndicator = () => { ); }; -export default BridgeV3SavingIndicator; +export default BridgeSavingIndicator; diff --git a/components/Bridge/v3/StepSwitch.tsx b/components/Bridge/StepSwitch.tsx similarity index 74% rename from components/Bridge/v3/StepSwitch.tsx rename to components/Bridge/StepSwitch.tsx index 2c5973e0..2f2d11da 100644 --- a/components/Bridge/v3/StepSwitch.tsx +++ b/components/Bridge/StepSwitch.tsx @@ -3,31 +3,31 @@ import { ETH_TO_SYS_TRANSFER_STATUS, SYS_TO_ETH_TRANSFER_STATUS, } from "@contexts/Transfer/types"; -import BridgeV3StepBurnSys from "./Steps/BurnSys"; -import BridgeV3StepBurnSysx from "./Steps/BurnSysx"; -import BridgeV3CompleteNevmToSys from "./Steps/CompleteNevmToSys"; -import BridgeV3CompleteSysToNevm from "./Steps/CompleteSysToNevm"; -import BridgeV3ConfirmNEVMTransaction from "./Steps/ConfirmNEVMTransaction"; -import BridgeV3StepConfirmUTXOTransaction from "./Steps/ConfirmUTXOTransaction"; -import BridgeV3ConnectValidateStep from "./Steps/ConnectValidate"; -import BridgeV3StepFreezeAndBurnSys from "./Steps/FreezeAndBurnSys"; -import BridgeV3StepGenerateProofs from "./Steps/GenerateProofs"; -import BridgeV3StepMintSysx from "./Steps/MintSysx"; -import BridgeV3StepSubmitProofs from "./Steps/SubmitProofs"; +import BridgeStepBurnSys from "./Steps/BurnSys"; +import BridgeStepBurnSysx from "./Steps/BurnSysx"; +import BridgeCompleteNevmToSys from "./Steps/CompleteNevmToSys"; +import BridgeCompleteSysToNevm from "./Steps/CompleteSysToNevm"; +import BridgeConfirmNEVMTransaction from "./Steps/ConfirmNEVMTransaction"; +import BridgeStepConfirmUTXOTransaction from "./Steps/ConfirmUTXOTransaction"; +import BridgeConnectValidateStep from "./Steps/ConnectValidate"; +import BridgeStepFreezeAndBurnSys from "./Steps/FreezeAndBurnSys"; +import BridgeStepGenerateProofs from "./Steps/GenerateProofs"; +import BridgeStepMintSysx from "./Steps/MintSysx"; +import BridgeStepSubmitProofs from "./Steps/SubmitProofs"; import { useTransfer } from "./context/TransferContext"; -const BridgeV3StepSwitch = () => { +const BridgeStepSwitch = () => { const { transfer } = useTransfer(); if (transfer.type === "nevm-to-sys") { if (transfer.status === COMMON_STATUS.INITIALIZE) { return ( - ); } else if (transfer.status === ETH_TO_SYS_TRANSFER_STATUS.FREEZE_BURN_SYS) { return ( - ); @@ -35,7 +35,7 @@ const BridgeV3StepSwitch = () => { transfer.status === ETH_TO_SYS_TRANSFER_STATUS.CONFIRM_FREEZE_BURN_SYS ) { return ( - { ); } else if (transfer.status === ETH_TO_SYS_TRANSFER_STATUS.MINT_SYSX) { return ( - ); @@ -52,7 +52,7 @@ const BridgeV3StepSwitch = () => { transfer.status === ETH_TO_SYS_TRANSFER_STATUS.CONFIRM_MINT_SYSX ) { return ( - { ); } else if (transfer.status === ETH_TO_SYS_TRANSFER_STATUS.BURN_SYSX) { return ( - @@ -70,7 +70,7 @@ const BridgeV3StepSwitch = () => { transfer.status === ETH_TO_SYS_TRANSFER_STATUS.CONFIRM_BURN_SYSX ) { return ( - { /> ); } else if (transfer.status === COMMON_STATUS.COMPLETED) { - return ; + return ; } } if (transfer.status === COMMON_STATUS.INITIALIZE) { return ( - ); } else if (transfer.status === SYS_TO_ETH_TRANSFER_STATUS.BURN_SYS) { return ( - ); } else if (transfer.status === SYS_TO_ETH_TRANSFER_STATUS.CONFIRM_BURN_SYS) { return ( - { ); } else if (transfer.status === SYS_TO_ETH_TRANSFER_STATUS.BURN_SYSX) { return ( - ); } else if (transfer.status === SYS_TO_ETH_TRANSFER_STATUS.CONFIRM_BURN_SYSX) { return ( - { ); } else if (transfer.status === SYS_TO_ETH_TRANSFER_STATUS.GENERATE_PROOFS) { return ( - ); } else if (transfer.status === SYS_TO_ETH_TRANSFER_STATUS.SUBMIT_PROOFS) { return ( - + ); } else if (transfer.status == COMMON_STATUS.FINALIZING) { return ( - { /> ); } else if (transfer.status === "completed") { - return ; + return ; } return null; }; -export default BridgeV3StepSwitch; +export default BridgeStepSwitch; diff --git a/components/Bridge/Stepper.tsx b/components/Bridge/Stepper.tsx index 5de92267..d0b5cb87 100644 --- a/components/Bridge/Stepper.tsx +++ b/components/Bridge/Stepper.tsx @@ -1,36 +1,89 @@ -import { Alert, Step, StepLabel, Stepper } from "@mui/material"; -import { useTransfer } from "contexts/Transfer/useTransfer"; +import { Step, StepLabel, Stepper } from "@mui/material"; +import { nevmToSysSteps, sysToNevmSteps } from "./contants/steps"; +import { useTransfer } from "./context/TransferContext"; +import { + ETH_TO_SYS_TRANSFER_STATUS, + SYS_TO_ETH_TRANSFER_STATUS, +} from "@contexts/Transfer/types"; -const BridgeTransferStepper: React.FC = () => { +const NEVMToSYSStepper: React.FC<{ activeStep: number }> = ({ activeStep }) => ( + + + Connect and Validated + + + Freeze and Burn SYS + + + Mint SYSX + + + Burn SYSX + + + Completed + + +); + +const SYSToNEVMStepper: React.FC<{ activeStep: number }> = ({ activeStep }) => { + const { transfer } = useTransfer(); + const useSysx = transfer.useSysx || transfer.utxoAssetType === "sysx"; + return ( + + + Connect and Validated + + + Burn SYS {useSysx ? "(Skipped)" : ""} + + + Burn SYSX + + + Validate Proofs + + + Completed + + + ); +}; + +const BridgeStepper: React.FC = () => { const { - transfer: { status }, - steps: mainSteps, + transfer: { type, status }, } = useTransfer(); - const initializeStep = { - id: "initialize", - label: "Initialize", - }; - const completeStep = { - id: "completed", - label: "Completed", - }; + let activeStep = 1; + let modifiedStatus = status; - if (mainSteps.length === 0) { - return Invalid Transfer type; + if (type === "nevm-to-sys") { + if (modifiedStatus === ETH_TO_SYS_TRANSFER_STATUS.CONFIRM_FREEZE_BURN_SYS) { + modifiedStatus = ETH_TO_SYS_TRANSFER_STATUS.FREEZE_BURN_SYS; + } else if ( + modifiedStatus === ETH_TO_SYS_TRANSFER_STATUS.CONFIRM_MINT_SYSX + ) { + modifiedStatus = ETH_TO_SYS_TRANSFER_STATUS.MINT_SYSX; + } else if (modifiedStatus === "confirm-burn-sysx") { + modifiedStatus = ETH_TO_SYS_TRANSFER_STATUS.BURN_SYSX; + } + activeStep = nevmToSysSteps.findIndex((step) => step === modifiedStatus); + return ; } - const steps = [initializeStep, ...mainSteps, completeStep]; - const activeStep = steps.findIndex((step) => step.id === status); + if (modifiedStatus === "confirm-burn-sys") { + modifiedStatus = SYS_TO_ETH_TRANSFER_STATUS.BURN_SYS; + } else if (modifiedStatus === "confirm-burn-sysx") { + modifiedStatus = SYS_TO_ETH_TRANSFER_STATUS.BURN_SYSX; + } else if ( + modifiedStatus === "finalizing" || + modifiedStatus === "generate-proofs" + ) { + modifiedStatus = SYS_TO_ETH_TRANSFER_STATUS.SUBMIT_PROOFS; + } - return ( - - {steps.map((step) => ( - - {step.label} - - ))} - - ); + activeStep = sysToNevmSteps.findIndex((step) => step === modifiedStatus); + return ; }; -export default BridgeTransferStepper; +export default BridgeStepper; diff --git a/components/Bridge/v3/Steps/BurnSys.tsx b/components/Bridge/Steps/BurnSys.tsx similarity index 96% rename from components/Bridge/v3/Steps/BurnSys.tsx rename to components/Bridge/Steps/BurnSys.tsx index 55ac7d7f..528bb22b 100644 --- a/components/Bridge/v3/Steps/BurnSys.tsx +++ b/components/Bridge/Steps/BurnSys.tsx @@ -106,10 +106,10 @@ const BurnSys: React.FC = ({ successStatus }) => { ); }; -const BridgeV3StepBurnSys: React.FC = (props) => ( +const BridgeStepBurnSys: React.FC = (props) => ( ); -export default BridgeV3StepBurnSys; +export default BridgeStepBurnSys; diff --git a/components/Bridge/v3/Steps/BurnSysx.tsx b/components/Bridge/Steps/BurnSysx.tsx similarity index 96% rename from components/Bridge/v3/Steps/BurnSysx.tsx rename to components/Bridge/Steps/BurnSysx.tsx index 242fc984..86b0da74 100644 --- a/components/Bridge/v3/Steps/BurnSysx.tsx +++ b/components/Bridge/Steps/BurnSysx.tsx @@ -107,10 +107,10 @@ const BurnSysx: React.FC = ({ successStatus, toNevm }) => { ); }; -const BridgeV3StepBurnSysx: React.FC = (props) => ( +const BridgeStepBurnSysx: React.FC = (props) => ( ); -export default BridgeV3StepBurnSysx; +export default BridgeStepBurnSysx; diff --git a/components/Bridge/v3/Steps/CompleteNevmToSys.tsx b/components/Bridge/Steps/CompleteNevmToSys.tsx similarity index 93% rename from components/Bridge/v3/Steps/CompleteNevmToSys.tsx rename to components/Bridge/Steps/CompleteNevmToSys.tsx index 3cc7186e..6b90ba62 100644 --- a/components/Bridge/v3/Steps/CompleteNevmToSys.tsx +++ b/components/Bridge/Steps/CompleteNevmToSys.tsx @@ -10,7 +10,7 @@ type Props = { transfer: ITransfer; }; -const BridgeV3CompleteNevmToSys: React.FC = ({ transfer }) => { +const BridgeCompleteNevmToSys: React.FC = ({ transfer }) => { const { logs } = transfer; const mintSysTx = logs.find( (log) => log.status === "mint-sysx" && log.payload.data.tx !== undefined @@ -58,4 +58,4 @@ const BridgeV3CompleteNevmToSys: React.FC = ({ transfer }) => { ); }; -export default BridgeV3CompleteNevmToSys; +export default BridgeCompleteNevmToSys; diff --git a/components/Bridge/v3/Steps/CompleteSysToNevm.tsx b/components/Bridge/Steps/CompleteSysToNevm.tsx similarity index 94% rename from components/Bridge/v3/Steps/CompleteSysToNevm.tsx rename to components/Bridge/Steps/CompleteSysToNevm.tsx index 121e8feb..362fa41b 100644 --- a/components/Bridge/v3/Steps/CompleteSysToNevm.tsx +++ b/components/Bridge/Steps/CompleteSysToNevm.tsx @@ -10,7 +10,7 @@ type Props = { transfer: ITransfer; }; -const BridgeV3CompleteSysToNevm: React.FC = ({ transfer }) => { +const BridgeCompleteSysToNevm: React.FC = ({ transfer }) => { const { logs } = transfer; const burnSysTx = transfer.useSysx || transfer.utxoAssetType === "sysx" @@ -70,4 +70,4 @@ const BridgeV3CompleteSysToNevm: React.FC = ({ transfer }) => { ); }; -export default BridgeV3CompleteSysToNevm; +export default BridgeCompleteSysToNevm; diff --git a/components/Bridge/v3/Steps/ConfirmNEVMTransaction.tsx b/components/Bridge/Steps/ConfirmNEVMTransaction.tsx similarity index 94% rename from components/Bridge/v3/Steps/ConfirmNEVMTransaction.tsx rename to components/Bridge/Steps/ConfirmNEVMTransaction.tsx index a7c64ef1..5525f6e7 100644 --- a/components/Bridge/v3/Steps/ConfirmNEVMTransaction.tsx +++ b/components/Bridge/Steps/ConfirmNEVMTransaction.tsx @@ -13,7 +13,7 @@ type Props = { loadingMessage: string; }; -const BridgeV3ConfirmNEVMTransaction: React.FC = ({ +const BridgeConfirmNEVMTransaction: React.FC = ({ sourceStatus, successStatus, invalidStateMessage, @@ -72,7 +72,7 @@ const BridgeV3ConfirmNEVMTransaction: React.FC = ({ const Wrapped: React.FC = (props) => ( - + ); diff --git a/components/Bridge/v3/Steps/ConfirmUTXOTransaction.tsx b/components/Bridge/Steps/ConfirmUTXOTransaction.tsx similarity index 90% rename from components/Bridge/v3/Steps/ConfirmUTXOTransaction.tsx rename to components/Bridge/Steps/ConfirmUTXOTransaction.tsx index 02a2daa1..e8dcc137 100644 --- a/components/Bridge/v3/Steps/ConfirmUTXOTransaction.tsx +++ b/components/Bridge/Steps/ConfirmUTXOTransaction.tsx @@ -1,6 +1,6 @@ import { Alert, CircularProgress, Link } from "@mui/material"; import { useTransfer } from "../context/TransferContext"; -import { useUtxoTransaction } from "components/Bridge/v3/hooks/useUtxoTransaction"; +import { useUtxoTransaction } from "components/Bridge/hooks/useUtxoTransaction"; import { ITransferLog, TransferStatus } from "@contexts/Transfer/types"; import React, { useEffect } from "react"; import { SYSCOIN_TX_BLOCKCHAIN_URL } from "@constants"; @@ -14,7 +14,7 @@ type Props = { confirmations?: number; }; -const BridgeV3StepConfirmUTXOTransaction: React.FC = ({ +const BridgeStepConfirmUTXOTransaction: React.FC = ({ sourceStatus, successStatus, invalidStateMessage, @@ -79,7 +79,7 @@ const BridgeV3StepConfirmUTXOTransaction: React.FC = ({ const Wrapped: React.FC = (props) => ( - + ); diff --git a/components/Bridge/v3/Steps/ConnectValidate.tsx b/components/Bridge/Steps/ConnectValidate.tsx similarity index 92% rename from components/Bridge/v3/Steps/ConnectValidate.tsx rename to components/Bridge/Steps/ConnectValidate.tsx index f2cb38f5..bcc7fa4c 100644 --- a/components/Bridge/v3/Steps/ConnectValidate.tsx +++ b/components/Bridge/Steps/ConnectValidate.tsx @@ -1,5 +1,7 @@ -import NEVMConnect from "components/Bridge/WalletSwitchV2/NEVMConnect"; -import UTXOConnect, { AssetType } from "components/Bridge/WalletSwitchV2/UTXOConnect"; +import NEVMConnect from "components/Bridge/WalletSwitch/NEVMConnect"; +import UTXOConnect, { + AssetType, +} from "components/Bridge/WalletSwitch/UTXOConnect"; import { useRouter } from "next/router"; import { FormProvider, @@ -20,7 +22,7 @@ import { import { Box, Typography } from "@mui/material"; import { useTransfer } from "../context/TransferContext"; -import BridgeV3Loading from "../Loading"; +import BridgeLoading from "../Loading"; import { ConnectValidateAgreeToTermsCheckbox } from "./ConnectValidate/AgreeToTermsCheckbox"; import { ConnectValidateAmountField } from "./ConnectValidate/AmountField"; import { ConnectValidateStartTransferButton } from "./ConnectValidate/StartTransferButton"; @@ -70,12 +72,12 @@ type ConnectValidateFormData = { utxoAssetType?: "sys" | "sysx"; }; -type BridgeV3ConnectValidateStepProps = { +type BridgeConnectValidateStepProps = { successStatus: TransferStatus; }; -const BridgeV3ConnectValidateStep: React.FC< - BridgeV3ConnectValidateStepProps +const BridgeConnectValidateStep: React.FC< + BridgeConnectValidateStepProps > = ({ successStatus }) => { const { replace } = useRouter(); const { transfer, isSaving, saveTransfer } = useTransfer(); @@ -138,13 +140,13 @@ const BridgeV3ConnectValidateStep: React.FC< }; saveTransfer(modifiedTransfer, { onSuccess: (transfer) => { - replace(`/bridge/v3/${transfer.id}`); + replace(`/bridge/${transfer.id}`); }, }); }; if (isLoading) { - return ; + return ; } return ( @@ -188,4 +190,4 @@ const BridgeV3ConnectValidateStep: React.FC< ); }; -export default BridgeV3ConnectValidateStep; +export default BridgeConnectValidateStep; diff --git a/components/Bridge/v3/Steps/ConnectValidate/AgreeToTermsCheckbox.tsx b/components/Bridge/Steps/ConnectValidate/AgreeToTermsCheckbox.tsx similarity index 100% rename from components/Bridge/v3/Steps/ConnectValidate/AgreeToTermsCheckbox.tsx rename to components/Bridge/Steps/ConnectValidate/AgreeToTermsCheckbox.tsx diff --git a/components/Bridge/v3/Steps/ConnectValidate/AmountField.tsx b/components/Bridge/Steps/ConnectValidate/AmountField.tsx similarity index 100% rename from components/Bridge/v3/Steps/ConnectValidate/AmountField.tsx rename to components/Bridge/Steps/ConnectValidate/AmountField.tsx diff --git a/components/Bridge/v3/Steps/ConnectValidate/StartTransferButton.tsx b/components/Bridge/Steps/ConnectValidate/StartTransferButton.tsx similarity index 100% rename from components/Bridge/v3/Steps/ConnectValidate/StartTransferButton.tsx rename to components/Bridge/Steps/ConnectValidate/StartTransferButton.tsx diff --git a/components/Bridge/v3/Steps/FreezeAndBurnSys.tsx b/components/Bridge/Steps/FreezeAndBurnSys.tsx similarity index 95% rename from components/Bridge/v3/Steps/FreezeAndBurnSys.tsx rename to components/Bridge/Steps/FreezeAndBurnSys.tsx index 1eba490c..2312e7dd 100644 --- a/components/Bridge/v3/Steps/FreezeAndBurnSys.tsx +++ b/components/Bridge/Steps/FreezeAndBurnSys.tsx @@ -103,7 +103,7 @@ const FreezeAndBurn: React.FC = ({ successStatus }) => { ); }; -const BridgeV3StepFreezeAndBurnSys: React.FC = (props) => { +const BridgeStepFreezeAndBurnSys: React.FC = (props) => { return ( @@ -111,4 +111,4 @@ const BridgeV3StepFreezeAndBurnSys: React.FC = (props) => { ); }; -export default BridgeV3StepFreezeAndBurnSys; +export default BridgeStepFreezeAndBurnSys; diff --git a/components/Bridge/v3/Steps/GenerateProofs.tsx b/components/Bridge/Steps/GenerateProofs.tsx similarity index 92% rename from components/Bridge/v3/Steps/GenerateProofs.tsx rename to components/Bridge/Steps/GenerateProofs.tsx index f5f0eb34..f42a2762 100644 --- a/components/Bridge/v3/Steps/GenerateProofs.tsx +++ b/components/Bridge/Steps/GenerateProofs.tsx @@ -11,7 +11,7 @@ type Props = { successStatus: TransferStatus; }; -const BridgeV3StepGenerateProofs: React.FC = ({ successStatus }) => { +const BridgeStepGenerateProofs: React.FC = ({ successStatus }) => { const { transfer, saveTransfer } = useTransfer(); const burnSysLog = transfer.logs.find( @@ -65,4 +65,4 @@ const BridgeV3StepGenerateProofs: React.FC = ({ successStatus }) => { ); }; -export default BridgeV3StepGenerateProofs; +export default BridgeStepGenerateProofs; diff --git a/components/Bridge/v3/Steps/MintSysx.tsx b/components/Bridge/Steps/MintSysx.tsx similarity index 96% rename from components/Bridge/v3/Steps/MintSysx.tsx rename to components/Bridge/Steps/MintSysx.tsx index fcbdd285..957f5102 100644 --- a/components/Bridge/v3/Steps/MintSysx.tsx +++ b/components/Bridge/Steps/MintSysx.tsx @@ -127,10 +127,10 @@ const MintSysx: React.FC = ({ successStatus }) => { ); }; -const BridgeV3StepMintSysx: React.FC = (props) => ( +const BridgeStepMintSysx: React.FC = (props) => ( ); -export default BridgeV3StepMintSysx; +export default BridgeStepMintSysx; diff --git a/components/Bridge/v3/Steps/SubmitProofs.tsx b/components/Bridge/Steps/SubmitProofs.tsx similarity index 96% rename from components/Bridge/v3/Steps/SubmitProofs.tsx rename to components/Bridge/Steps/SubmitProofs.tsx index 292a5010..996b5916 100644 --- a/components/Bridge/v3/Steps/SubmitProofs.tsx +++ b/components/Bridge/Steps/SubmitProofs.tsx @@ -115,7 +115,7 @@ const SubmitProofs: React.FC = ({ successStatus }) => { ); }; -const BridgeV3StepSubmitProofs: React.FC = (props) => { +const BridgeStepSubmitProofs: React.FC = (props) => { return ( @@ -123,4 +123,4 @@ const BridgeV3StepSubmitProofs: React.FC = (props) => { ); }; -export default BridgeV3StepSubmitProofs; +export default BridgeStepSubmitProofs; diff --git a/components/Bridge/Transfer/Complete.tsx b/components/Bridge/Transfer/Complete.tsx deleted file mode 100644 index 95255ac4..00000000 --- a/components/Bridge/Transfer/Complete.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import { ArrowForward } from "@mui/icons-material"; -import { - Alert, - Box, - Card, - CardActions, - CardContent, - Link, - Typography, -} from "@mui/material"; - -import LoadingButton from "@mui/lab/LoadingButton"; - -import { useTransfer } from "contexts/Transfer/useTransfer"; -import { useRouter } from "next/router"; -import { useState } from "react"; -import { useConnectedWallet } from "@contexts/ConnectedWallet/useConnectedWallet"; - -const SYSCOIN_TX_BLOCKCHAIN_URL = "https://blockbook.elint.services/tx/"; -const NEVM_TX_BLOCKCHAIN_URL = "https://explorer.syscoin.org/tx/"; - -type BridgeTransferCompleteProps = { - isComplete: boolean; -}; - -const SysToNevmComplete: React.FC = ({ - isComplete, -}) => { - const { - transfer: { logs }, - } = useTransfer(); - - const burnSysTx = logs.find((log) => log.status === "burn-sys"); - const burnSysxTx = logs.find((log) => log.status === "burn-sysx"); - const submitProofsTx = logs.find((log) => log.status === "submit-proofs"); - - return ( - - {isComplete ? ( - - Transfer complete! - - ) : ( - - Confirming final transaction... - - )} - - Burn Sys tx: - - {burnSysTx?.payload.data.tx} - - - - Burn Sysx tx: - - {burnSysxTx?.payload.data.tx} - - - - Submit Proofs tx: - - {submitProofsTx?.payload.data.hash} - - - - ); -}; - -const NevmToSysComplete: React.FC = ({ - isComplete, -}) => { - const { - transfer: { logs }, - } = useTransfer(); - const nevmBurnSys = logs.find( - (log) => log.status === "confirm-freeze-burn-sys" - ); - const mintSysx = logs.find((log) => log.status === "mint-sysx"); - const burnSysx = logs.find((log) => log.status === "burn-sysx"); - - return ( - - - {isComplete ? ( - - Transfer complete! - - ) : ( - - Confirming final transaction... - - )} - Freeze Burn tx: - - {nevmBurnSys?.payload.data.transactionHash} - - - - Mint Sysx tx: - - {mintSysx?.payload.data.tx} - - - - Burn Sysx tx: - - {burnSysx?.payload.data.tx} - - - - ); -}; - -const BridgeTransferComplete: React.FC = ({ - isComplete, -}) => { - const { push } = useRouter(); - const [reinitializing, setReinitializing] = useState(false); - const { - transfer: { type }, - } = useTransfer(); - const { utxo, nevm } = useConnectedWallet(); - - const newTransfer = () => { - setReinitializing(true); - push(`/bridge/${utxo.type === nevm.type ? `v2/` : ""}${Date.now()}`); - }; - - return ( - - - {type === "sys-to-nevm" && ( - - )} - {type === "nevm-to-sys" && ( - - )} - {isComplete && ( - - - New Transfer - - - )} - - - ); -}; - -export default BridgeTransferComplete; diff --git a/components/Bridge/Transfer/Form.tsx b/components/Bridge/Transfer/Form.tsx deleted file mode 100644 index f99eee9a..00000000 --- a/components/Bridge/Transfer/Form.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import { - Button, - Card, - CardContent, - InputAdornment, - TextField, - Typography, -} from "@mui/material"; -import { RocketLaunch } from "@mui/icons-material"; - -import { FieldValues, useForm } from "react-hook-form"; -import { useTransfer } from "../../../contexts/Transfer/useTransfer"; -import React, { useEffect } from "react"; -import { IPaliWalletV2Context } from "@contexts/PaliWallet/V2Provider"; -import { usePaliWallet } from "@contexts/PaliWallet/usePaliWallet"; -import { useConnectedWallet } from "@contexts/ConnectedWallet/useConnectedWallet"; -import { useNEVM } from "@contexts/ConnectedWallet/NEVMProvider"; -import { MIN_AMOUNT } from "@constants"; - -const InitializeChecks: React.FC<{ children: React.ReactNode }> = ({ - children, -}) => { - const { - transfer: { type, nevmAddress, utxoAddress, utxoXpub }, - setNevm, - setUtxo, - } = useTransfer(); - const paliwallet = usePaliWallet() as IPaliWalletV2Context; - const nevm = useNEVM(); - - useEffect(() => { - if (paliwallet.version === "v2" && paliwallet.isEVMInjected) { - return; - } - if (!nevmAddress && nevm.account && nevmAddress !== nevm.account) { - setNevm({ address: nevm.account }); - } - - const utxoNotDefined = !utxoAddress || !utxoXpub; - if ( - utxoNotDefined && - paliwallet.connectedAccount && - paliwallet.xpubAddress - ) { - setUtxo({ - xpub: paliwallet.xpubAddress, - address: paliwallet.connectedAccount, - }); - } - }, [ - paliwallet.version, - setNevm, - setUtxo, - paliwallet.xpubAddress, - paliwallet.connectedAccount, - nevm.account, - nevmAddress, - utxoAddress, - utxoXpub, - paliwallet.isEVMInjected, - ]); - - if (paliwallet.version === "v2" && paliwallet.isEVMInjected) { - if (type === "sys-to-nevm" && !paliwallet.isBitcoinBased) { - return ( - - ); - } else if (type === "nevm-to-sys" && paliwallet.isBitcoinBased) { - return ( - - ); - } - } - - return <>{children}; -}; - -const minAmount = MIN_AMOUNT; - -const BridgeTransferForm: React.FC = () => { - const { startTransfer, transfer } = useTransfer(); - const { utxo, nevm } = useConnectedWallet(); - let balance: number | string | undefined = undefined; - - if (transfer.type === "sys-to-nevm") { - balance = utxo.balance; - } else if (transfer.type === "nevm-to-sys") { - balance = nevm.balance; - } - - const accountsAreSet = - transfer.utxoAddress && transfer.utxoXpub && transfer.nevmAddress; - - let maxAmountCalculated = parseFloat(`${balance ?? "0"}`) - minAmount; - - if (maxAmountCalculated < 0) { - maxAmountCalculated = 0; - } - - const { - register, - formState: { errors, isValid, isDirty }, - handleSubmit, - } = useForm({ mode: "all" }); - - const onSubmit = (data: FieldValues) => { - startTransfer(data.amount); - }; - - return ( - - - - Balance:{" "} - {balance === undefined - ? "--" - : parseFloat(`${balance ?? 0}`).toFixed(6)} - - SYS, - }} - {...register("amount", { - valueAsNumber: true, - max: { - value: maxAmountCalculated, - message: `You can transfer up to ${maxAmountCalculated.toFixed( - 4 - )} SYS`, - }, - min: { - value: minAmount, - message: `Amount must be at least ${minAmount}`, - }, - required: { - message: "Amount is required", - value: true, - }, - validate: (value) => - isNaN(value) ? "Must be a number" : undefined, - })} - disabled={balance === undefined} - error={!!errors.amount} - helperText={<>{errors.amount && errors.amount.message}} - /> - - - - - - ); -}; - -export default BridgeTransferForm; diff --git a/components/Bridge/Transfer/StepSwitch.tsx b/components/Bridge/Transfer/StepSwitch.tsx deleted file mode 100644 index a85caeb2..00000000 --- a/components/Bridge/Transfer/StepSwitch.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import { Alert, Button, Typography } from "@mui/material"; -import { useTransfer } from "contexts/Transfer/useTransfer"; -import BridgeTransferComplete from "./Complete"; -import BridgeTransferForm from "./Form"; -import WaitNEVMSign from "./StepSwitch/WaitNEVMSign"; -import WaitNevmTransactionConfirmation from "./StepSwitch/WaitNevmTransactionConfirmation"; -import WaitForPaliWalletSign from "./StepSwitch/WaitPaliWalletSign"; -import WaitPaliWalletTransactionConfirmation from "./StepSwitch/WaitPaliwalletTransactionConfirmation"; -import PaliSwitch from "./StepSwitch/PaliSwitchNetwork"; -import { usePaliWalletV2 } from "@contexts/PaliWallet/usePaliWallet"; - -const BridgeTransferStepSwitch: React.FC = () => { - const { - transfer: { status, logs, type }, - revertToPreviousStatus, - } = useTransfer(); - const pailwallet = usePaliWalletV2(); - - if (status === "initialize") { - return ; - } - - if (["burn-sys", "burn-sysx", "mint-sysx"].includes(status)) { - if (pailwallet.version === "v2" && !pailwallet.isBitcoinBased) { - return ; - } - return ; - } - - if ( - [ - "confirm-burn-sys", - "confirm-burn-sysx", - "confirm-mint-sysx", - "generate-proofs", - ].includes(status) - ) { - return ; - } - if (["submit-proofs", "freeze-burn-sys"].includes(status)) { - if (pailwallet.version === "v2" && pailwallet.isBitcoinBased && pailwallet.isEVMInjected) { - return ; - } - return ; - } - if (status === "confirm-freeze-burn-sys") { - return ; - } - if (["completed", "finalizing"].includes(status)) { - return ; - } - - if (status === "switch") { - if (type === "sys-to-nevm") { - return ; - } else if (type === "nevm-to-sys") { - return ; - } - } - - const lastLog = logs[logs.length - 1]; - if (!lastLog) { - return null; - } - const { message } = lastLog.payload; - - return ( - revertToPreviousStatus()} - > - Retry - - } - > - - {message} - - - ); -}; - -export default BridgeTransferStepSwitch; diff --git a/components/Bridge/Transfer/StepSwitch/PaliSwitchNetwork.tsx b/components/Bridge/Transfer/StepSwitch/PaliSwitchNetwork.tsx deleted file mode 100644 index 5a30e6e0..00000000 --- a/components/Bridge/Transfer/StepSwitch/PaliSwitchNetwork.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { useNEVM } from "@contexts/ConnectedWallet/NEVMProvider"; -import { - usePaliWalletV2, -} from "@contexts/PaliWallet/usePaliWallet"; -import { useTransfer } from "@contexts/Transfer/useTransfer"; -import { Button } from "@mui/material"; -import { ArrowCircleRight } from "@mui/icons-material"; -import { useQueryClient } from "react-query"; - -type Props = { - networkType: "bitcoin" | "ethereum"; -}; - -const PaliSwitch: React.FC = ({ networkType }) => { - const { proceedNextStep } = useTransfer(); - const queryClient = useQueryClient(); - const { account } = useNEVM(); - const { switchTo, connectedAccount, isBitcoinBased } = usePaliWalletV2(); - - let networkName = "unknown"; - if (networkType === "bitcoin") { - networkName = "Syscoin"; - } else if (networkType === "ethereum") { - networkName = "NEVM"; - } - - const switchNetwork = () => { - switchTo(networkType).then(() => { - if (networkType === "bitcoin") { - queryClient.invalidateQueries(["pali", "connected-account"]); - } else if (networkType === "ethereum") { - queryClient.invalidateQueries(["nevm"]); - } - }); - }; - - if ( - (networkType === "ethereum" && !isBitcoinBased && account) || - (networkType === "bitcoin" && isBitcoinBased && connectedAccount) - ) { - return ( - - ); - } - - return ( - - ); -}; - -export default PaliSwitch; diff --git a/components/Bridge/Transfer/StepSwitch/WaitNEVMSign.tsx b/components/Bridge/Transfer/StepSwitch/WaitNEVMSign.tsx deleted file mode 100644 index 1cd56f33..00000000 --- a/components/Bridge/Transfer/StepSwitch/WaitNEVMSign.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { useConnectedWallet } from "@contexts/ConnectedWallet/useConnectedWallet"; -import { useTransfer } from "@contexts/Transfer/useTransfer"; -import { Alert, AlertColor, Button } from "@mui/material"; - -const WaitNEVMSign = () => { - const { retry, error } = useTransfer(); - const { nevm } = useConnectedWallet(); - let alertColor: AlertColor = "info"; - let message = `Check ${ - nevm.type === "pali-wallet" ? "Pali" : "Metmask" - } Wallet for signing`; - if (error) { - alertColor = "error"; - if (typeof error === "string") { - message = error; - } - } - - return ( - retry()}> - Retry - - } - > - {message} - - ); -}; - -export default WaitNEVMSign; diff --git a/components/Bridge/Transfer/StepSwitch/WaitNevmTransactionConfirmation.tsx b/components/Bridge/Transfer/StepSwitch/WaitNevmTransactionConfirmation.tsx deleted file mode 100644 index b302266f..00000000 --- a/components/Bridge/Transfer/StepSwitch/WaitNevmTransactionConfirmation.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { useConnectedWallet } from "@contexts/ConnectedWallet/useConnectedWallet"; -import { useTransfer } from "@contexts/Transfer/useTransfer"; -import { Alert, Button, CircularProgress } from "@mui/material"; -import { useEffect, useState } from "react"; - -const WaitNevmTransactionConfirmation = () => { - const { retry, error } = useTransfer(); - const [showRetry, setShowRetry] = useState(false); - const { nevm } = useConnectedWallet(); - - const retryMessage = - typeof error === "string" - ? error - : `Check ${nevm.type === 'pali-wallet' ? 'Pali Wallet': 'Metamask'} for transaction confirmations`; - - useEffect(() => { - setShowRetry(Boolean(error)); - }, [error]); - - return ( - retry()}> - Retry - - ) - } - > - {showRetry ? ( - retryMessage - ) : ( - <> - Waiting for transaction confirmations - - )} - - ); -}; - -export default WaitNevmTransactionConfirmation; diff --git a/components/Bridge/Transfer/StepSwitch/WaitPaliWalletSign.tsx b/components/Bridge/Transfer/StepSwitch/WaitPaliWalletSign.tsx deleted file mode 100644 index 42fe9f04..00000000 --- a/components/Bridge/Transfer/StepSwitch/WaitPaliWalletSign.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { useConnectedWallet } from "@contexts/ConnectedWallet/useConnectedWallet"; -import { Alert, Button, AlertColor } from "@mui/material"; -import { useTransfer } from "contexts/Transfer/useTransfer"; - -const WaitForPaliWalletSign = () => { - const { - error, - retry, - transfer: { utxoAddress }, - } = useTransfer(); - const { utxo, connectUTXO } = useConnectedWallet(); - - let severity: AlertColor = "info"; - let message = "Check Pali Wallet for signing"; - let alertAction = "Retry"; - - let handleAlertAction = () => { - retry(); - }; - - if (!utxo.xpub) { - severity = "error"; - alertAction = "Reconnect"; - message = "Reconnect Pali wallet"; - handleAlertAction = () => connectUTXO("pali-wallet"); - } else if (utxoAddress !== utxo.account) { - severity = "error"; - alertAction = "Reconnect"; - message = `Change to ${utxoAddress}`; - handleAlertAction = () => connectUTXO("pali-wallet"); - } else if (error) { - severity = "error"; - if (typeof error === "string") { - message = error; - } - } - - return ( - - {alertAction} - - } - > - {message} - - ); -}; - -export default WaitForPaliWalletSign; diff --git a/components/Bridge/Transfer/StepSwitch/WaitPaliwalletTransactionConfirmation.tsx b/components/Bridge/Transfer/StepSwitch/WaitPaliwalletTransactionConfirmation.tsx deleted file mode 100644 index c5b5a000..00000000 --- a/components/Bridge/Transfer/StepSwitch/WaitPaliwalletTransactionConfirmation.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { Alert, Button, CircularProgress } from "@mui/material"; -import { useTransfer } from "contexts/Transfer/useTransfer"; -import { useEffect, useState } from "react"; - -const WaitPaliWalletTransactionConfirmation = () => { - const { retry, error } = useTransfer(); - const [showRetry, setShowRetry] = useState(false); - const retryMessage = - typeof error === "string" - ? error - : "Check Pali Wallet for transaction confirmations"; - - useEffect(() => { - setShowRetry(Boolean(error)); - }, [error]); - - return ( - retry()}> - Retry - - ) - } - > - {showRetry ? ( - retryMessage - ) : ( - <> - Waiting for transaction confirmations - - )} - - ); -}; - -export default WaitPaliWalletTransactionConfirmation; diff --git a/components/Bridge/Transfer/Title.tsx b/components/Bridge/Transfer/Title.tsx index 03fe5baf..1a86d28d 100644 --- a/components/Bridge/Transfer/Title.tsx +++ b/components/Bridge/Transfer/Title.tsx @@ -1,5 +1,5 @@ import { Typography, TypographyProps } from "@mui/material"; -import { useTransfer } from "../v3/context/TransferContext"; +import { useTransfer } from "../context/TransferContext"; const TransferTitle: React.FC = (props) => { const { transfer } = useTransfer(); diff --git a/components/Bridge/v3/TransferSwitchTypeCard.tsx b/components/Bridge/TransferSwitchTypeCard.tsx similarity index 91% rename from components/Bridge/v3/TransferSwitchTypeCard.tsx rename to components/Bridge/TransferSwitchTypeCard.tsx index ac3c3eed..e985498c 100644 --- a/components/Bridge/v3/TransferSwitchTypeCard.tsx +++ b/components/Bridge/TransferSwitchTypeCard.tsx @@ -3,7 +3,7 @@ import { useTransfer } from "./context/TransferContext"; import NextLink from "next/link"; import { ChangeCircle } from "@mui/icons-material"; -const BridgeV3TransferSwitchTypeCard = () => { +const BridgeTransferSwitchTypeCard = () => { const { transfer } = useTransfer(); if (transfer.status !== "initialize") { return null; @@ -33,4 +33,4 @@ const BridgeV3TransferSwitchTypeCard = () => { ); }; -export default BridgeV3TransferSwitchTypeCard; +export default BridgeTransferSwitchTypeCard; diff --git a/components/Bridge/v3/UTXOStepWrapper.tsx b/components/Bridge/UTXOStepWrapper.tsx similarity index 100% rename from components/Bridge/v3/UTXOStepWrapper.tsx rename to components/Bridge/UTXOStepWrapper.tsx diff --git a/components/Bridge/WalletSwitchV2/Card.tsx b/components/Bridge/WalletSwitch/Card.tsx similarity index 100% rename from components/Bridge/WalletSwitchV2/Card.tsx rename to components/Bridge/WalletSwitch/Card.tsx diff --git a/components/Bridge/WalletSwitchV2/ConfirmCard.tsx b/components/Bridge/WalletSwitch/ConfirmCard.tsx similarity index 100% rename from components/Bridge/WalletSwitchV2/ConfirmCard.tsx rename to components/Bridge/WalletSwitch/ConfirmCard.tsx diff --git a/components/Bridge/WalletSwitchV2/NEVMConnect.tsx b/components/Bridge/WalletSwitch/NEVMConnect.tsx similarity index 97% rename from components/Bridge/WalletSwitchV2/NEVMConnect.tsx rename to components/Bridge/WalletSwitch/NEVMConnect.tsx index aeb6fbb4..9c6ae127 100644 --- a/components/Bridge/WalletSwitchV2/NEVMConnect.tsx +++ b/components/Bridge/WalletSwitch/NEVMConnect.tsx @@ -6,7 +6,7 @@ import WalletSwitchConfirmCard from "./ConfirmCard"; import { ITransfer } from "@contexts/Transfer/types"; import { useNevmBalance } from "utils/balance-hooks"; import { MIN_AMOUNT } from "@constants"; -import { useFeatureFlags } from "../v3/hooks/useFeatureFlags"; +import { useFeatureFlags } from "../hooks/useFeatureFlags"; type NEVMConnectProps = { transfer: ITransfer; diff --git a/components/Bridge/WalletSwitchV2/UTXOConnect.tsx b/components/Bridge/WalletSwitch/UTXOConnect.tsx similarity index 100% rename from components/Bridge/WalletSwitchV2/UTXOConnect.tsx rename to components/Bridge/WalletSwitch/UTXOConnect.tsx diff --git a/components/Bridge/WalletSwitchV2.tsx b/components/Bridge/WalletSwitchV2.tsx deleted file mode 100644 index 93fda1b2..00000000 --- a/components/Bridge/WalletSwitchV2.tsx +++ /dev/null @@ -1,121 +0,0 @@ -import { usePaliWalletV2 } from "@contexts/PaliWallet/usePaliWallet"; -import { useTransfer } from "@contexts/Transfer/useTransfer"; -import { CompareArrows } from "@mui/icons-material"; -import { - Grid, - Typography, - Box, - Button, - Card, - CardContent, -} from "@mui/material"; -import SyscoinLogo from "components/Icons/syscoin"; -import UTXOConnect from "./WalletSwitchV2/UTXOConnect"; -import NEVMConnect from "./WalletSwitchV2/NEVMConnect"; - -type WalletInfoCardProps = { - label: string; - walletType: "utxo" | "nevm" | string; - account: string | undefined; - network: { - name: string; - symbol: string; - }; -}; - -const WalletInfoCard: React.FC = ({ - network, - walletType, -}) => { - const { transfer, setUtxo, setNevm } = useTransfer(); - return ( - - - - - - {network.name} - - {walletType === "utxo" && ( - - )} - {walletType === "nevm" && ( - - )} - - - - ); -}; - -const BridgeWalletSwitch: React.FC = () => { - const { - transfer: { type, status, amount }, - setTransferType, - } = useTransfer(); - - const {} = usePaliWalletV2(); - - const utxoWalletInfo = { - walletType: "utxo", - account: "0x0", - network: { name: "Syscoin Network", symbol: "SYS" }, - }; - - const nevmWalletInfo = { - walletType: "nevm", - account: "0x0", - network: { name: "NEVM Network", symbol: "NEVM" }, - }; - - return ( - - - - - - - {status !== "initialize" && ( - - {amount} SYS - - )} - {status === "initialize" && ( - - )} - - - - - - - ); -}; - -export default BridgeWalletSwitch; diff --git a/components/Bridge/v3/contants/steps.ts b/components/Bridge/contants/steps.ts similarity index 100% rename from components/Bridge/v3/contants/steps.ts rename to components/Bridge/contants/steps.ts diff --git a/components/Bridge/v3/context/RelayContract.tsx b/components/Bridge/context/RelayContract.tsx similarity index 100% rename from components/Bridge/v3/context/RelayContract.tsx rename to components/Bridge/context/RelayContract.tsx diff --git a/components/Bridge/v3/context/Syscoin.tsx b/components/Bridge/context/Syscoin.tsx similarity index 100% rename from components/Bridge/v3/context/Syscoin.tsx rename to components/Bridge/context/Syscoin.tsx diff --git a/components/Bridge/v3/context/TransferContext.tsx b/components/Bridge/context/TransferContext.tsx similarity index 100% rename from components/Bridge/v3/context/TransferContext.tsx rename to components/Bridge/context/TransferContext.tsx diff --git a/components/Bridge/v3/context/Web.tsx b/components/Bridge/context/Web.tsx similarity index 100% rename from components/Bridge/v3/context/Web.tsx rename to components/Bridge/context/Web.tsx diff --git a/components/Bridge/v3/hooks/useBurnSys.tsx b/components/Bridge/hooks/useBurnSys.tsx similarity index 100% rename from components/Bridge/v3/hooks/useBurnSys.tsx rename to components/Bridge/hooks/useBurnSys.tsx diff --git a/components/Bridge/v3/hooks/useBurnSysx.tsx b/components/Bridge/hooks/useBurnSysx.tsx similarity index 100% rename from components/Bridge/v3/hooks/useBurnSysx.tsx rename to components/Bridge/hooks/useBurnSysx.tsx diff --git a/components/Bridge/v3/hooks/useErc20ManagerContract.ts b/components/Bridge/hooks/useErc20ManagerContract.ts similarity index 100% rename from components/Bridge/v3/hooks/useErc20ManagerContract.ts rename to components/Bridge/hooks/useErc20ManagerContract.ts diff --git a/components/Bridge/v3/hooks/useFeatureFlags.ts b/components/Bridge/hooks/useFeatureFlags.ts similarity index 100% rename from components/Bridge/v3/hooks/useFeatureFlags.ts rename to components/Bridge/hooks/useFeatureFlags.ts diff --git a/components/Bridge/v3/hooks/useFreezeAndBurn.ts b/components/Bridge/hooks/useFreezeAndBurn.ts similarity index 100% rename from components/Bridge/v3/hooks/useFreezeAndBurn.ts rename to components/Bridge/hooks/useFreezeAndBurn.ts diff --git a/components/Bridge/v3/hooks/useMintSysx.ts b/components/Bridge/hooks/useMintSysx.ts similarity index 100% rename from components/Bridge/v3/hooks/useMintSysx.ts rename to components/Bridge/hooks/useMintSysx.ts diff --git a/components/Bridge/v3/hooks/useNevmTransaction.ts b/components/Bridge/hooks/useNevmTransaction.ts similarity index 100% rename from components/Bridge/v3/hooks/useNevmTransaction.ts rename to components/Bridge/hooks/useNevmTransaction.ts diff --git a/components/Bridge/v3/hooks/useProofs.tsx b/components/Bridge/hooks/useProofs.tsx similarity index 100% rename from components/Bridge/v3/hooks/useProofs.tsx rename to components/Bridge/hooks/useProofs.tsx diff --git a/components/Bridge/v3/hooks/useRelayContract.tsx b/components/Bridge/hooks/useRelayContract.tsx similarity index 100% rename from components/Bridge/v3/hooks/useRelayContract.tsx rename to components/Bridge/hooks/useRelayContract.tsx diff --git a/components/Bridge/v3/hooks/useSubmitProof.tsx b/components/Bridge/hooks/useSubmitProof.tsx similarity index 100% rename from components/Bridge/v3/hooks/useSubmitProof.tsx rename to components/Bridge/hooks/useSubmitProof.tsx diff --git a/components/Bridge/v3/hooks/useSyscoinSubmitProofs.tsx b/components/Bridge/hooks/useSyscoinSubmitProofs.tsx similarity index 100% rename from components/Bridge/v3/hooks/useSyscoinSubmitProofs.tsx rename to components/Bridge/hooks/useSyscoinSubmitProofs.tsx diff --git a/components/Bridge/v3/hooks/useUtxoTransaction.ts b/components/Bridge/hooks/useUtxoTransaction.ts similarity index 100% rename from components/Bridge/v3/hooks/useUtxoTransaction.ts rename to components/Bridge/hooks/useUtxoTransaction.ts diff --git a/components/Bridge/v3/Stepper.tsx b/components/Bridge/v3/Stepper.tsx deleted file mode 100644 index 9b63000b..00000000 --- a/components/Bridge/v3/Stepper.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import { Step, StepLabel, Stepper } from "@mui/material"; -import { nevmToSysSteps, sysToNevmSteps } from "./contants/steps"; -import { useTransfer } from "./context/TransferContext"; -import { - ETH_TO_SYS_TRANSFER_STATUS, - SYS_TO_ETH_TRANSFER_STATUS, -} from "@contexts/Transfer/types"; - -const NEVMToSYSStepper: React.FC<{ activeStep: number }> = ({ activeStep }) => ( - - - Connect and Validated - - - Freeze and Burn SYS - - - Mint SYSX - - - Burn SYSX - - - Completed - - -); - -const SYSToNEVMStepper: React.FC<{ activeStep: number }> = ({ activeStep }) => { - const { transfer } = useTransfer(); - const useSysx = transfer.useSysx || transfer.utxoAssetType === "sysx"; - return ( - - - Connect and Validated - - - Burn SYS {useSysx ? "(Skipped)" : ""} - - - Burn SYSX - - - Validate Proofs - - - Completed - - - ); -}; - -const BridgeV3Stepper: React.FC = () => { - const { - transfer: { type, status }, - } = useTransfer(); - let activeStep = 1; - let modifiedStatus = status; - - if (type === "nevm-to-sys") { - if (modifiedStatus === ETH_TO_SYS_TRANSFER_STATUS.CONFIRM_FREEZE_BURN_SYS) { - modifiedStatus = ETH_TO_SYS_TRANSFER_STATUS.FREEZE_BURN_SYS; - } else if ( - modifiedStatus === ETH_TO_SYS_TRANSFER_STATUS.CONFIRM_MINT_SYSX - ) { - modifiedStatus = ETH_TO_SYS_TRANSFER_STATUS.MINT_SYSX; - } else if (modifiedStatus === "confirm-burn-sysx") { - modifiedStatus = ETH_TO_SYS_TRANSFER_STATUS.BURN_SYSX; - } - activeStep = nevmToSysSteps.findIndex((step) => step === modifiedStatus); - return ; - } - - if (modifiedStatus === "confirm-burn-sys") { - modifiedStatus = SYS_TO_ETH_TRANSFER_STATUS.BURN_SYS; - } else if (modifiedStatus === "confirm-burn-sysx") { - modifiedStatus = SYS_TO_ETH_TRANSFER_STATUS.BURN_SYSX; - } else if ( - modifiedStatus === "finalizing" || - modifiedStatus === "generate-proofs" - ) { - modifiedStatus = SYS_TO_ETH_TRANSFER_STATUS.SUBMIT_PROOFS; - } - - activeStep = sysToNevmSteps.findIndex((step) => step === modifiedStatus); - return ; -}; - -export default BridgeV3Stepper; diff --git a/components/Home/PaliMetamaskBridge.tsx b/components/Home/PaliMetamaskBridge.tsx index be01bff0..abeb5d28 100644 --- a/components/Home/PaliMetamaskBridge.tsx +++ b/components/Home/PaliMetamaskBridge.tsx @@ -23,7 +23,7 @@ export const PaliAndMetamaskBridge = () => { {isReady && ( - + diff --git a/components/Home/PaliV2Bridge.tsx b/components/Home/PaliV2Bridge.tsx index 2a989ce4..0d911d0c 100644 --- a/components/Home/PaliV2Bridge.tsx +++ b/components/Home/PaliV2Bridge.tsx @@ -5,21 +5,19 @@ import Link from "next/link"; export const PaliV2Bridge = () => { return ( - <> - - - - - - - - - + + + + + + + + ); }; diff --git a/components/Transfer/DataGrid.tsx b/components/Transfer/DataGrid.tsx index e16ad800..6053e892 100644 --- a/components/Transfer/DataGrid.tsx +++ b/components/Transfer/DataGrid.tsx @@ -47,12 +47,8 @@ const TransferDataGrid: React.FC = ({ field: "id", headerName: "Id", width: 130, - renderCell: ({ value, row }) => ( - + renderCell: ({ value }) => ( + = ({ updateAmount(`${amount}`); dispatch(setVersion(utxo.type === nevm.type ? "v2" : "v1")); dispatch(setStatus(COMMON_STATUS.INITIALIZE)); - dispatch(addLog(COMMON_STATUS.INITIALIZE, "Starting Sys to NEVM transfer", transfer)); + dispatch( + addLog( + COMMON_STATUS.INITIALIZE, + "Starting Sys to NEVM transfer", + transfer + ) + ); if (transfer.type === "sys-to-nevm") { dispatch(setStatus(SYS_TO_ETH_TRANSFER_STATUS.BURN_SYS)); } else if (transfer.type === "nevm-to-sys") { diff --git a/pages/_app.tsx b/pages/_app.tsx index e6f56f6d..fbc0bf30 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -13,7 +13,7 @@ const queryClient = new QueryClient(); function MyApp({ Component, pageProps, router }: AppProps) { const isAdmin = router.pathname.includes("/admin"); - if (router.pathname.includes("/bridge/v3/")) { + if (router.pathname.includes("/bridge")) { return ( diff --git a/pages/admin/transfer/[id].tsx b/pages/admin/transfer/[id].tsx index 25c27429..0c985659 100644 --- a/pages/admin/transfer/[id].tsx +++ b/pages/admin/transfer/[id].tsx @@ -21,7 +21,7 @@ import { useQuery } from "react-query"; import AddBurnSysxTransaction from "components/Admin/Transfer/AddLogModals/AddBurnSysxTransaction"; import AdminTransferLogAccordion from "components/Admin/Transfer/LogAccordion"; import AddSubmitProofsTransaction from "components/Admin/Transfer/AddLogModals/AddSubmitProofsTransaction"; -import { Web3Provider } from "components/Bridge/v3/context/Web"; +import { Web3Provider } from "components/Bridge/context/Web"; import AddFreezeBurnTransactionModal from "components/Admin/Transfer/AddLogModals/AddFreezeBurnTransactionModal"; type Props = { diff --git a/pages/bridge/v3/[id].tsx b/pages/bridge/[id].tsx similarity index 80% rename from pages/bridge/v3/[id].tsx rename to pages/bridge/[id].tsx index d6ec6ceb..228c1f57 100644 --- a/pages/bridge/v3/[id].tsx +++ b/pages/bridge/[id].tsx @@ -17,23 +17,23 @@ import { } from "@mui/material"; import BlocktimeDisclaimer from "components/BlocktimeDisclaimer"; import TransferTitle from "components/Bridge/Transfer/Title"; -import BridgeV3SavingIndicator from "components/Bridge/v3/SavingIndicator"; -import BridgeV3StepSwitch from "components/Bridge/v3/StepSwitch"; -import BridgeV3Stepper from "components/Bridge/v3/Stepper"; -import { SyscoinProvider } from "components/Bridge/v3/context/Syscoin"; +import BridgeSavingIndicator from "components/Bridge/SavingIndicator"; +import BridgeStepSwitch from "components/Bridge/StepSwitch"; +import BridgeStepper from "components/Bridge/Stepper"; +import { SyscoinProvider } from "components/Bridge/context/Syscoin"; import { TransferContextProvider, useTransfer, -} from "components/Bridge/v3/context/TransferContext"; -import { Web3Provider } from "components/Bridge/v3/context/Web"; +} from "components/Bridge/context/TransferContext"; +import { Web3Provider } from "components/Bridge/context/Web"; import { NextPage } from "next"; import { useRouter } from "next/router"; import { useMemo } from "react"; import { QueryClient, QueryClientProvider } from "react-query"; import TableRowsIcon from "@mui/icons-material/TableRows"; import NextLink from "next/link"; -import BridgeV3TransferSwitchTypeCard from "components/Bridge/v3/TransferSwitchTypeCard"; -import BridgeV3NewTransferButton from "components/Bridge/v3/NewTransferButton"; +import BridgeTransferSwitchTypeCard from "components/Bridge/TransferSwitchTypeCard"; +import BridgeNewTransferButton from "components/Bridge/NewTransferButton"; const NewTransferButton = () => { const { transfer } = useTransfer(); @@ -42,7 +42,7 @@ const NewTransferButton = () => { return null; } - return ; + return ; }; const createTransfer = (type: TransferType): ITransfer => ({ @@ -56,7 +56,7 @@ const createTransfer = (type: TransferType): ITransfer => ({ agreedToTerms: false, }); -const BridgeV3Page: NextPage = () => { +const BridgePage: NextPage = () => { const { query } = useRouter(); const queryClient = useMemo(() => new QueryClient(), []); @@ -91,15 +91,15 @@ const BridgeV3Page: NextPage = () => { - - + - + { }} > - - + + @@ -127,4 +127,4 @@ const BridgeV3Page: NextPage = () => { ); }; -export default BridgeV3Page; +export default BridgePage; diff --git a/pages/bridge/v2/[id].tsx b/pages/bridge/v2/[id].tsx deleted file mode 100644 index 42fecd5a..00000000 --- a/pages/bridge/v2/[id].tsx +++ /dev/null @@ -1,68 +0,0 @@ -import { CircularProgress, Container, Grid, Typography } from "@mui/material"; -import BlocktimeDisclaimer from "components/BlocktimeDisclaimer"; -import DrawerPage from "components/DrawerPage"; -import { NextPage } from "next"; -import { useRouter } from "next/router"; -import BridgeTransferStepper from "components/Bridge/Stepper"; -import TransferProvider from "@contexts/Transfer/Provider"; -import BridgeWalletSwitch from "components/Bridge/WalletSwitchV2"; -import TransferTitle from "components/Bridge/Transfer/Title"; -import BridgeTransferStepSwitch from "components/Bridge/Transfer/StepSwitch"; -import { useConnectedWallet } from "@contexts/ConnectedWallet/useConnectedWallet"; -import { INavigationItem } from "components/Navigation/Item"; - -const Bridge: NextPage = () => { - const { nevm, utxo } = useConnectedWallet(); - const router = useRouter(); - - const { id } = router.query; - - const routes: INavigationItem[] = [ - { - label: "New Transfer", - path: `/bridge/${utxo.type === nevm.type ? "v2/" : ""}${Date.now()}`, - }, - { - label: "My Transfers", - path: "/transfers", - }, - { - label: "FAQ", - path: "/#faq", - }, - ]; - - if (!id) { - return ; - } - - return ( - - - - - - Bridge Your SYS - - - Trustlessly transfer SYS back and forth between the Syscoin Base and - Syscoin NEVM blockchains without middlemen! - - - - - - - - - - - - - ); -}; - -export default Bridge; diff --git a/pages/transfers/index.tsx b/pages/transfers/index.tsx index 2cb27de1..9cd63ba3 100644 --- a/pages/transfers/index.tsx +++ b/pages/transfers/index.tsx @@ -1,13 +1,12 @@ import { usePaliWalletV2 } from "@contexts/PaliWallet/usePaliWallet"; -import { Alert, Container, Typography } from "@mui/material"; -import DrawerPage from "components/DrawerPage"; -import { INavigationItem } from "components/Navigation/Item"; +import { Alert, Box, Container, Typography } from "@mui/material"; import TransferDataGrid from "components/Transfer/DataGrid"; import WalletList from "components/WalletList"; import { useConnectedWallet } from "contexts/ConnectedWallet/useConnectedWallet"; import { ITransfer } from "contexts/Transfer/types"; import { NextPage } from "next"; import { useEffect, useState } from "react"; +import BridgeNewTransferButton from "components/Bridge/NewTransferButton"; const TransfersPage: NextPage = () => { const [items, setItems] = useState([]); @@ -21,21 +20,6 @@ const TransfersPage: NextPage = () => { ? isPaliV2Connected : Boolean(utxo.account && nevm.account); - const routes: INavigationItem[] = [ - { - label: "New Transfer", - path: `/bridge/${utxo.type === nevm.type ? "v2/" : ""}${Date.now()}`, - }, - { - label: "My Transfers", - path: "/transfers", - }, - { - label: "FAQ", - path: "/#faq", - }, - ]; - useEffect(() => { if (!localStorage) { return; @@ -43,31 +27,31 @@ const TransfersPage: NextPage = () => { setItems( Object.entries(localStorage) .filter(([key]) => key.startsWith("transfer-")) - .map(([_, value]) => JSON.parse(value)) + .map(([key, value]) => JSON.parse(value)) ); }, []); return ( - - - - Transfers - - - {!isFullyConnected && ( - - Connect both wallets - - )} - - - + + + Transfers + + + + {!isFullyConnected && ( + + Connect both wallets + + )} + + ); }; diff --git a/pages/transfers/v2.tsx b/pages/transfers/v2.tsx deleted file mode 100644 index 90f882fd..00000000 --- a/pages/transfers/v2.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { usePaliWalletV2 } from "@contexts/PaliWallet/usePaliWallet"; -import { Alert, Box, Container, Typography } from "@mui/material"; -import TransferDataGrid from "components/Transfer/DataGrid"; -import WalletList from "components/WalletList"; -import { useConnectedWallet } from "contexts/ConnectedWallet/useConnectedWallet"; -import { ITransfer } from "contexts/Transfer/types"; -import { NextPage } from "next"; -import { useEffect, useState } from "react"; -import BridgeV3NewTransferButton from "components/Bridge/v3/NewTransferButton"; - -const TransfersPage: NextPage = () => { - const [items, setItems] = useState([]); - const { utxo, nevm } = useConnectedWallet(); - const { version, isBitcoinBased, isEVMInjected } = usePaliWalletV2(); - const isPaliV2Connected = isBitcoinBased - ? Boolean(utxo.account) - : Boolean(nevm.account); - const onlyV2 = version === "v2" && isEVMInjected; - const isFullyConnected = onlyV2 - ? isPaliV2Connected - : Boolean(utxo.account && nevm.account); - - useEffect(() => { - if (!localStorage) { - return; - } - setItems( - Object.entries(localStorage) - .filter(([key]) => key.startsWith("transfer-")) - .map(([key, value]) => JSON.parse(value)) - ); - }, []); - - return ( - - - Transfers - - - - {!isFullyConnected && ( - - Connect both wallets - - )} - - - ); -}; - -export default TransfersPage; diff --git a/utils/balance-hooks.ts b/utils/balance-hooks.ts index b189aaf0..e966fdd7 100644 --- a/utils/balance-hooks.ts +++ b/utils/balance-hooks.ts @@ -1,6 +1,6 @@ import { BlockbookAPIURL } from "@contexts/Transfer/constants"; import { isValidEthereumAddress } from "@pollum-io/sysweb3-utils"; -import { useWeb3 } from "components/Bridge/v3/context/Web"; +import { useWeb3 } from "components/Bridge/context/Web"; import { syscoin, utils as syscoinUtils } from "syscoinjs-lib"; import { useQuery } from "react-query";