From 827fd2277d2f632e018c4411ca6f0dc4580b85eb Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Tue, 27 Aug 2024 10:59:42 -0400 Subject: [PATCH 01/10] Add a transaction cli-sign page --- .../(sidebar)/transaction/cli-sign/page.tsx | 80 +++++++++++++++++++ src/app/(sidebar)/transaction/layout.tsx | 4 + src/components/NetworkSelector/index.tsx | 8 +- src/constants/routes.ts | 1 + 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 src/app/(sidebar)/transaction/cli-sign/page.tsx diff --git a/src/app/(sidebar)/transaction/cli-sign/page.tsx b/src/app/(sidebar)/transaction/cli-sign/page.tsx new file mode 100644 index 00000000..20db3112 --- /dev/null +++ b/src/app/(sidebar)/transaction/cli-sign/page.tsx @@ -0,0 +1,80 @@ +"use client"; + +import { Routes } from "@/constants/routes"; +import { NetworkOptions } from "@/constants/settings"; +import { useStore } from "@/store/useStore"; +import { NetworkType } from "@/types/types"; +import { Button, Card, Text } from "@stellar/design-system"; +import { useRouter } from "next/navigation"; + +export default function CliSign() { + const router = useRouter(); + const { selectNetwork, updateIsDynamicNetworkSelect } = useStore(); + + const onSwitchNetwork = (network: NetworkType) => { + const selectedNetwork = NetworkOptions.find((n) => n.id === network); + if (selectedNetwork) { + updateIsDynamicNetworkSelect(true); + selectNetwork(selectedNetwork); + } + + router.push(Routes.SIGN_TRANSACTION); + }; + + return ( + +
+
+ + Sign a transaction from the CLI + + + + Choose the network you want to sign the transaction on. + +
+
+ + + + + + + +
+
+
+ ); +} diff --git a/src/app/(sidebar)/transaction/layout.tsx b/src/app/(sidebar)/transaction/layout.tsx index 48f2dd0f..67ca5111 100644 --- a/src/app/(sidebar)/transaction/layout.tsx +++ b/src/app/(sidebar)/transaction/layout.tsx @@ -46,6 +46,10 @@ export default function TransactionTemplate({ route: Routes.FEE_BUMP_TRANSACTION, label: "Fee Bump", }, + { + route: Routes.CLI_SIGN_TRANSACTION, + label: "Sign Tx From CLI", + }, ], }, ]} diff --git a/src/components/NetworkSelector/index.tsx b/src/components/NetworkSelector/index.tsx index a584dde9..4bfd1df5 100644 --- a/src/components/NetworkSelector/index.tsx +++ b/src/components/NetworkSelector/index.tsx @@ -1,3 +1,4 @@ +import { Button, Icon, Input, Notification } from "@stellar/design-system"; import React, { useCallback, useEffect, @@ -5,12 +6,11 @@ import React, { useRef, useState, } from "react"; -import { Button, Icon, Input, Notification } from "@stellar/design-system"; import { NetworkIndicator } from "@/components/NetworkIndicator"; -import { localStorageSavedNetwork } from "@/helpers/localStorageSavedNetwork"; -import { delayedAction } from "@/helpers/delayedAction"; import { NetworkOptions } from "@/constants/settings"; +import { delayedAction } from "@/helpers/delayedAction"; +import { localStorageSavedNetwork } from "@/helpers/localStorageSavedNetwork"; import { useStore } from "@/store/useStore"; import { Network, NetworkType } from "@/types/types"; @@ -94,9 +94,11 @@ export const NetworkSelector = () => { const isMainnetNetwork = activeNetworkId === "mainnet"; const setNetwork = useCallback(() => { + console.log("here in setNetwork. there is no network.id?", network?.id); if (!network?.id) { const defaultNetwork = localStorageSavedNetwork.get() || getNetworkById("testnet"); + console.log("using the default: ", defaultNetwork); if (defaultNetwork) { selectNetwork(defaultNetwork); diff --git a/src/constants/routes.ts b/src/constants/routes.ts index 32257201..1c5f0edf 100644 --- a/src/constants/routes.ts +++ b/src/constants/routes.ts @@ -71,6 +71,7 @@ export enum Routes { // Transactions BUILD_TRANSACTION = "/transaction/build", SIGN_TRANSACTION = "/transaction/sign", + CLI_SIGN_TRANSACTION = "/transaction/cli-sign", SIMULATE_TRANSACTION = "/transaction/simulate", SUBMIT_TRANSACTION = "/transaction/submit", FEE_BUMP_TRANSACTION = "/transaction/fee-bump", From 6c8d95dee30cdf13fdacafaface0873acf5418f8 Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:42:10 -0400 Subject: [PATCH 02/10] Add component to set network by passphrase only --- src/app/layout.tsx | 9 ++++--- src/components/NetworkByPasswordProvider.tsx | 26 ++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/components/NetworkByPasswordProvider.tsx diff --git a/src/app/layout.tsx b/src/app/layout.tsx index ba359be9..a19702b9 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,12 +1,13 @@ -import React from "react"; import type { Metadata } from "next"; +import React from "react"; import { LayoutMain } from "@/components/layout/LayoutMain"; import { QueryProvider } from "@/query/QueryProvider"; import { StoreProvider } from "@/store/StoreProvider"; -import "@stellar/design-system/build/styles.min.css"; import "@/styles/globals.scss"; +import "@stellar/design-system/build/styles.min.css"; +import { NetworkByPasswordProvider } from "@/components/NetworkByPasswordProvider"; // Needed for CSP export const dynamic = "force-dynamic"; @@ -29,7 +30,9 @@ export default function RootLayout({
- {children} + + {children} +
diff --git a/src/components/NetworkByPasswordProvider.tsx b/src/components/NetworkByPasswordProvider.tsx new file mode 100644 index 00000000..71a0bd4a --- /dev/null +++ b/src/components/NetworkByPasswordProvider.tsx @@ -0,0 +1,26 @@ +"use client"; + +import { NetworkOptions } from "@/constants/settings"; +import { useStore } from "@/store/useStore"; +import { useEffect } from "react"; + +// Component to set network if only password is given in query string +export const NetworkByPasswordProvider = ({ children }: { children: React.ReactNode }) => { + const { network, updateIsDynamicNetworkSelect, selectNetwork } = useStore(); + const getNetworkByPassphrase = (passphrase: string) => { + return NetworkOptions.find((network) => network.passphrase === passphrase); + }; + + useEffect(() => { + if (network?.passphrase) { + const tx_network = getNetworkByPassphrase(network.passphrase); + if (tx_network) { + updateIsDynamicNetworkSelect(true); + selectNetwork(tx_network); + } + } + }, [network.passphrase, selectNetwork, updateIsDynamicNetworkSelect]); + + + return children; +}; From 5ebecaa43cccd5447b95165eb079153e4e542e91 Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:44:01 -0400 Subject: [PATCH 03/10] Remove cli-sign route --- .../(sidebar)/transaction/cli-sign/page.tsx | 80 ------------------- src/app/(sidebar)/transaction/layout.tsx | 4 - src/constants/routes.ts | 1 - 3 files changed, 85 deletions(-) delete mode 100644 src/app/(sidebar)/transaction/cli-sign/page.tsx diff --git a/src/app/(sidebar)/transaction/cli-sign/page.tsx b/src/app/(sidebar)/transaction/cli-sign/page.tsx deleted file mode 100644 index 20db3112..00000000 --- a/src/app/(sidebar)/transaction/cli-sign/page.tsx +++ /dev/null @@ -1,80 +0,0 @@ -"use client"; - -import { Routes } from "@/constants/routes"; -import { NetworkOptions } from "@/constants/settings"; -import { useStore } from "@/store/useStore"; -import { NetworkType } from "@/types/types"; -import { Button, Card, Text } from "@stellar/design-system"; -import { useRouter } from "next/navigation"; - -export default function CliSign() { - const router = useRouter(); - const { selectNetwork, updateIsDynamicNetworkSelect } = useStore(); - - const onSwitchNetwork = (network: NetworkType) => { - const selectedNetwork = NetworkOptions.find((n) => n.id === network); - if (selectedNetwork) { - updateIsDynamicNetworkSelect(true); - selectNetwork(selectedNetwork); - } - - router.push(Routes.SIGN_TRANSACTION); - }; - - return ( - -
-
- - Sign a transaction from the CLI - - - - Choose the network you want to sign the transaction on. - -
-
- - - - - - - -
-
-
- ); -} diff --git a/src/app/(sidebar)/transaction/layout.tsx b/src/app/(sidebar)/transaction/layout.tsx index 67ca5111..48f2dd0f 100644 --- a/src/app/(sidebar)/transaction/layout.tsx +++ b/src/app/(sidebar)/transaction/layout.tsx @@ -46,10 +46,6 @@ export default function TransactionTemplate({ route: Routes.FEE_BUMP_TRANSACTION, label: "Fee Bump", }, - { - route: Routes.CLI_SIGN_TRANSACTION, - label: "Sign Tx From CLI", - }, ], }, ]} diff --git a/src/constants/routes.ts b/src/constants/routes.ts index 1c5f0edf..32257201 100644 --- a/src/constants/routes.ts +++ b/src/constants/routes.ts @@ -71,7 +71,6 @@ export enum Routes { // Transactions BUILD_TRANSACTION = "/transaction/build", SIGN_TRANSACTION = "/transaction/sign", - CLI_SIGN_TRANSACTION = "/transaction/cli-sign", SIMULATE_TRANSACTION = "/transaction/simulate", SUBMIT_TRANSACTION = "/transaction/submit", FEE_BUMP_TRANSACTION = "/transaction/fee-bump", From 9fe349cf5bab2f36c91db29c4aa79d34ea2d5aa9 Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Thu, 29 Aug 2024 17:17:08 -0400 Subject: [PATCH 04/10] Parse passphrase and xdr in new provider (instead of NetworkSelector) --- src/app/layout.tsx | 2 +- src/components/NetworkByPasswordProvider.tsx | 34 ++++++++++++++------ 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index a19702b9..db039abb 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -5,9 +5,9 @@ import { LayoutMain } from "@/components/layout/LayoutMain"; import { QueryProvider } from "@/query/QueryProvider"; import { StoreProvider } from "@/store/StoreProvider"; +import { NetworkByPasswordProvider } from "@/components/NetworkByPasswordProvider"; import "@/styles/globals.scss"; import "@stellar/design-system/build/styles.min.css"; -import { NetworkByPasswordProvider } from "@/components/NetworkByPasswordProvider"; // Needed for CSP export const dynamic = "force-dynamic"; diff --git a/src/components/NetworkByPasswordProvider.tsx b/src/components/NetworkByPasswordProvider.tsx index 71a0bd4a..f2b8ef8b 100644 --- a/src/components/NetworkByPasswordProvider.tsx +++ b/src/components/NetworkByPasswordProvider.tsx @@ -2,25 +2,39 @@ import { NetworkOptions } from "@/constants/settings"; import { useStore } from "@/store/useStore"; +import { useSearchParams } from "next/navigation"; import { useEffect } from "react"; -// Component to set network if only password is given in query string -export const NetworkByPasswordProvider = ({ children }: { children: React.ReactNode }) => { - const { network, updateIsDynamicNetworkSelect, selectNetwork } = useStore(); +// Component to set Network and Xdr if only password is given in query string +export const NetworkByPasswordProvider = ({ + children, +}: { + children: React.ReactNode; +}) => { + const { updateIsDynamicNetworkSelect, transaction, selectNetwork } = useStore(); + + const searchParams = useSearchParams(); + const getNetworkByPassphrase = (passphrase: string) => { return NetworkOptions.find((network) => network.passphrase === passphrase); }; useEffect(() => { - if (network?.passphrase) { - const tx_network = getNetworkByPassphrase(network.passphrase); - if (tx_network) { - updateIsDynamicNetworkSelect(true); - selectNetwork(tx_network); - } + let networkPassphrase = searchParams.get("networkPassphrase"); + if (networkPassphrase) { + let network = getNetworkByPassphrase(networkPassphrase); + if (network) { + updateIsDynamicNetworkSelect(true); + selectNetwork(network); } - }, [network.passphrase, selectNetwork, updateIsDynamicNetworkSelect]); + } + let xdr = searchParams.get("xdr"); + if (xdr) { + transaction.updateSignActiveView("overview"); + transaction.updateSignImportXdr(xdr); + } + }, [searchParams, selectNetwork, updateIsDynamicNetworkSelect, transaction]); return children; }; From 17c817bcec42112b17b980ec5ede231fe670b19f Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Fri, 30 Aug 2024 09:59:03 -0400 Subject: [PATCH 05/10] Cleanup --- src/components/NetworkByPasswordProvider.tsx | 10 ++++++---- src/components/NetworkSelector/index.tsx | 8 +++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/NetworkByPasswordProvider.tsx b/src/components/NetworkByPasswordProvider.tsx index f2b8ef8b..443f9553 100644 --- a/src/components/NetworkByPasswordProvider.tsx +++ b/src/components/NetworkByPasswordProvider.tsx @@ -11,7 +11,8 @@ export const NetworkByPasswordProvider = ({ }: { children: React.ReactNode; }) => { - const { updateIsDynamicNetworkSelect, transaction, selectNetwork } = useStore(); + const { updateIsDynamicNetworkSelect, transaction, selectNetwork } = + useStore(); const searchParams = useSearchParams(); @@ -20,16 +21,17 @@ export const NetworkByPasswordProvider = ({ }; useEffect(() => { - let networkPassphrase = searchParams.get("networkPassphrase"); + const networkPassphrase = searchParams.get("networkPassphrase"); + const xdr = searchParams.get("xdr"); + if (networkPassphrase) { - let network = getNetworkByPassphrase(networkPassphrase); + const network = getNetworkByPassphrase(networkPassphrase); if (network) { updateIsDynamicNetworkSelect(true); selectNetwork(network); } } - let xdr = searchParams.get("xdr"); if (xdr) { transaction.updateSignActiveView("overview"); transaction.updateSignImportXdr(xdr); diff --git a/src/components/NetworkSelector/index.tsx b/src/components/NetworkSelector/index.tsx index 4bfd1df5..a584dde9 100644 --- a/src/components/NetworkSelector/index.tsx +++ b/src/components/NetworkSelector/index.tsx @@ -1,4 +1,3 @@ -import { Button, Icon, Input, Notification } from "@stellar/design-system"; import React, { useCallback, useEffect, @@ -6,11 +5,12 @@ import React, { useRef, useState, } from "react"; +import { Button, Icon, Input, Notification } from "@stellar/design-system"; import { NetworkIndicator } from "@/components/NetworkIndicator"; -import { NetworkOptions } from "@/constants/settings"; -import { delayedAction } from "@/helpers/delayedAction"; import { localStorageSavedNetwork } from "@/helpers/localStorageSavedNetwork"; +import { delayedAction } from "@/helpers/delayedAction"; +import { NetworkOptions } from "@/constants/settings"; import { useStore } from "@/store/useStore"; import { Network, NetworkType } from "@/types/types"; @@ -94,11 +94,9 @@ export const NetworkSelector = () => { const isMainnetNetwork = activeNetworkId === "mainnet"; const setNetwork = useCallback(() => { - console.log("here in setNetwork. there is no network.id?", network?.id); if (!network?.id) { const defaultNetwork = localStorageSavedNetwork.get() || getNetworkById("testnet"); - console.log("using the default: ", defaultNetwork); if (defaultNetwork) { selectNetwork(defaultNetwork); From 64bceaef80b24a78da929ba3b1e5d0bb7b3ff756 Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:31:40 -0400 Subject: [PATCH 06/10] Add transaction/cli-sign back --- .../(sidebar)/transaction/cli-sign/page.tsx | 18 ++++++++++++++++++ src/constants/routes.ts | 1 + 2 files changed, 19 insertions(+) create mode 100644 src/app/(sidebar)/transaction/cli-sign/page.tsx diff --git a/src/app/(sidebar)/transaction/cli-sign/page.tsx b/src/app/(sidebar)/transaction/cli-sign/page.tsx new file mode 100644 index 00000000..cd7d5103 --- /dev/null +++ b/src/app/(sidebar)/transaction/cli-sign/page.tsx @@ -0,0 +1,18 @@ +"use client"; + +import { Routes } from "@/constants/routes"; +import { useStore } from "@/store/useStore"; +import { Loader } from "@stellar/design-system"; +import { useRouter } from "next/navigation"; +import { useEffect } from "react"; + +export default function CliSignTransaction() { + const { network, transaction } = useStore(); + const { sign } = transaction; + const router = useRouter(); + useEffect(() => { + router.push(Routes.SIGN_TRANSACTION); + }, [sign.importXdr, network, router]); + + return ; +} diff --git a/src/constants/routes.ts b/src/constants/routes.ts index 32257201..1c5f0edf 100644 --- a/src/constants/routes.ts +++ b/src/constants/routes.ts @@ -71,6 +71,7 @@ export enum Routes { // Transactions BUILD_TRANSACTION = "/transaction/build", SIGN_TRANSACTION = "/transaction/sign", + CLI_SIGN_TRANSACTION = "/transaction/cli-sign", SIMULATE_TRANSACTION = "/transaction/simulate", SUBMIT_TRANSACTION = "/transaction/submit", FEE_BUMP_TRANSACTION = "/transaction/fee-bump", From 056775a50e102269ffd1046cc7664b31f8756d8f Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Fri, 6 Sep 2024 12:41:45 -0400 Subject: [PATCH 07/10] Move NetworkByPassworkProvder logic into cli-sign --- .../(sidebar)/transaction/cli-sign/page.tsx | 30 +++++++++++-- src/app/layout.tsx | 5 +-- src/components/NetworkByPasswordProvider.tsx | 42 ------------------- 3 files changed, 28 insertions(+), 49 deletions(-) delete mode 100644 src/components/NetworkByPasswordProvider.tsx diff --git a/src/app/(sidebar)/transaction/cli-sign/page.tsx b/src/app/(sidebar)/transaction/cli-sign/page.tsx index cd7d5103..1c9853a8 100644 --- a/src/app/(sidebar)/transaction/cli-sign/page.tsx +++ b/src/app/(sidebar)/transaction/cli-sign/page.tsx @@ -1,18 +1,42 @@ "use client"; import { Routes } from "@/constants/routes"; +import { NetworkOptions } from "@/constants/settings"; import { useStore } from "@/store/useStore"; import { Loader } from "@stellar/design-system"; -import { useRouter } from "next/navigation"; +import { useRouter, useSearchParams } from "next/navigation"; import { useEffect } from "react"; export default function CliSignTransaction() { - const { network, transaction } = useStore(); + const { network, updateIsDynamicNetworkSelect, transaction, selectNetwork } = + useStore(); const { sign } = transaction; + const searchParams = useSearchParams(); + + const getNetworkByPassphrase = (passphrase: string) => { + return NetworkOptions.find((network) => network.passphrase === passphrase); + }; const router = useRouter(); + useEffect(() => { + const networkPassphrase = searchParams.get("networkPassphrase"); + const xdr = searchParams.get("xdr"); + + if (networkPassphrase) { + const network = getNetworkByPassphrase(networkPassphrase); + if (network) { + updateIsDynamicNetworkSelect(true); + selectNetwork(network); + } + } + + if (xdr) { + transaction.updateSignActiveView("overview"); + transaction.updateSignImportXdr(xdr); + } + router.push(Routes.SIGN_TRANSACTION); - }, [sign.importXdr, network, router]); + }, [sign.importXdr, network, router, searchParams, updateIsDynamicNetworkSelect, selectNetwork, transaction]); return ; } diff --git a/src/app/layout.tsx b/src/app/layout.tsx index db039abb..c74d831d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -5,7 +5,6 @@ import { LayoutMain } from "@/components/layout/LayoutMain"; import { QueryProvider } from "@/query/QueryProvider"; import { StoreProvider } from "@/store/StoreProvider"; -import { NetworkByPasswordProvider } from "@/components/NetworkByPasswordProvider"; import "@/styles/globals.scss"; import "@stellar/design-system/build/styles.min.css"; @@ -30,9 +29,7 @@ export default function RootLayout({
- - {children} - + {children}
diff --git a/src/components/NetworkByPasswordProvider.tsx b/src/components/NetworkByPasswordProvider.tsx deleted file mode 100644 index 443f9553..00000000 --- a/src/components/NetworkByPasswordProvider.tsx +++ /dev/null @@ -1,42 +0,0 @@ -"use client"; - -import { NetworkOptions } from "@/constants/settings"; -import { useStore } from "@/store/useStore"; -import { useSearchParams } from "next/navigation"; -import { useEffect } from "react"; - -// Component to set Network and Xdr if only password is given in query string -export const NetworkByPasswordProvider = ({ - children, -}: { - children: React.ReactNode; -}) => { - const { updateIsDynamicNetworkSelect, transaction, selectNetwork } = - useStore(); - - const searchParams = useSearchParams(); - - const getNetworkByPassphrase = (passphrase: string) => { - return NetworkOptions.find((network) => network.passphrase === passphrase); - }; - - useEffect(() => { - const networkPassphrase = searchParams.get("networkPassphrase"); - const xdr = searchParams.get("xdr"); - - if (networkPassphrase) { - const network = getNetworkByPassphrase(networkPassphrase); - if (network) { - updateIsDynamicNetworkSelect(true); - selectNetwork(network); - } - } - - if (xdr) { - transaction.updateSignActiveView("overview"); - transaction.updateSignImportXdr(xdr); - } - }, [searchParams, selectNetwork, updateIsDynamicNetworkSelect, transaction]); - - return children; -}; From 338ea388f682d5636d39cc3172527dcf580adcff Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Fri, 6 Sep 2024 12:42:56 -0400 Subject: [PATCH 08/10] Keep design system import above global --- src/app/layout.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c74d831d..a737e2b6 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -5,8 +5,8 @@ import { LayoutMain } from "@/components/layout/LayoutMain"; import { QueryProvider } from "@/query/QueryProvider"; import { StoreProvider } from "@/store/StoreProvider"; -import "@/styles/globals.scss"; import "@stellar/design-system/build/styles.min.css"; +import "@/styles/globals.scss"; // Needed for CSP export const dynamic = "force-dynamic"; From 8d0346c79f409f653690df7d5485d42b3cf1b972 Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:06:32 -0400 Subject: [PATCH 09/10] Update src/app/(sidebar)/transaction/cli-sign/page.tsx Co-authored-by: Iveta --- src/app/(sidebar)/transaction/cli-sign/page.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/(sidebar)/transaction/cli-sign/page.tsx b/src/app/(sidebar)/transaction/cli-sign/page.tsx index 1c9853a8..de9f7954 100644 --- a/src/app/(sidebar)/transaction/cli-sign/page.tsx +++ b/src/app/(sidebar)/transaction/cli-sign/page.tsx @@ -1,11 +1,12 @@ "use client"; +import { useEffect } from "react"; +import { useRouter, useSearchParams } from "next/navigation"; +import { Loader } from "@stellar/design-system"; + import { Routes } from "@/constants/routes"; import { NetworkOptions } from "@/constants/settings"; import { useStore } from "@/store/useStore"; -import { Loader } from "@stellar/design-system"; -import { useRouter, useSearchParams } from "next/navigation"; -import { useEffect } from "react"; export default function CliSignTransaction() { const { network, updateIsDynamicNetworkSelect, transaction, selectNetwork } = From a240bf08fbbeceabe8cfac47636e3f124283df80 Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:55:07 -0400 Subject: [PATCH 10/10] Update useEffect dependencies --- src/app/(sidebar)/transaction/cli-sign/page.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/(sidebar)/transaction/cli-sign/page.tsx b/src/app/(sidebar)/transaction/cli-sign/page.tsx index de9f7954..ef8fee3f 100644 --- a/src/app/(sidebar)/transaction/cli-sign/page.tsx +++ b/src/app/(sidebar)/transaction/cli-sign/page.tsx @@ -11,7 +11,6 @@ import { useStore } from "@/store/useStore"; export default function CliSignTransaction() { const { network, updateIsDynamicNetworkSelect, transaction, selectNetwork } = useStore(); - const { sign } = transaction; const searchParams = useSearchParams(); const getNetworkByPassphrase = (passphrase: string) => { @@ -37,7 +36,7 @@ export default function CliSignTransaction() { } router.push(Routes.SIGN_TRANSACTION); - }, [sign.importXdr, network, router, searchParams, updateIsDynamicNetworkSelect, selectNetwork, transaction]); + }, [transaction.sign.importXdr, network.id]); return ; }