From f3d13cba3cb453cdd5b465fb157b0a3267a39ccc Mon Sep 17 00:00:00 2001 From: Piyal Basu Date: Fri, 26 Aug 2022 15:02:40 -0400 Subject: [PATCH 1/2] remove stellar.expert usage for Custom networks --- extension/src/helpers/stellar.ts | 8 +++++ .../TransactionDetail/index.tsx | 27 ++++++++++------- .../manageAssets/SearchAsset/index.tsx | 8 +++-- .../manageNetwork/NetworkForm/index.tsx | 22 +++++++++----- .../SendConfirm/TransactionDetails/index.tsx | 30 +++++++++++-------- 5 files changed, 61 insertions(+), 34 deletions(-) diff --git a/extension/src/helpers/stellar.ts b/extension/src/helpers/stellar.ts index ee789e33e9..0c514dc430 100644 --- a/extension/src/helpers/stellar.ts +++ b/extension/src/helpers/stellar.ts @@ -134,3 +134,11 @@ export const isActiveNetwork = ( networkA: NetworkDetails, networkB: NetworkDetails, ) => isEqual(networkA, networkB); + +export const CUSTOM_NETWORK = "CUSTOM"; + +export const isCustomNetwork = (networkDetails: NetworkDetails) => { + const { network } = networkDetails; + + return network === CUSTOM_NETWORK; +}; diff --git a/extension/src/popup/components/accountHistory/TransactionDetail/index.tsx b/extension/src/popup/components/accountHistory/TransactionDetail/index.tsx index 5ee5e2652c..58f583ab97 100644 --- a/extension/src/popup/components/accountHistory/TransactionDetail/index.tsx +++ b/extension/src/popup/components/accountHistory/TransactionDetail/index.tsx @@ -1,5 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; +import { useSelector } from "react-redux"; import { Button } from "popup/basics/buttons/Button"; @@ -9,8 +10,9 @@ import { AssetNetworkInfo } from "popup/components/accountHistory/AssetNetworkIn import { emitMetric } from "helpers/metrics"; import { openTab } from "popup/helpers/navigate"; -import { stroopToXlm } from "helpers/stellar"; +import { stroopToXlm, isCustomNetwork } from "helpers/stellar"; import { useAssetDomain } from "popup/helpers/useAssetDomain"; +import { settingsNetworkDetailsSelector } from "popup/ducks/settings"; import { METRIC_NAMES } from "popup/constants/metricsNames"; @@ -71,6 +73,7 @@ export const TransactionDetail = ({ const { assetDomain } = useAssetDomain({ assetIssuer, }); + const networkDetails = useSelector(settingsNetworkDetailsSelector); return assetIssuer && !assetDomain ? null : (
@@ -142,16 +145,18 @@ export const TransactionDetail = ({
- + {!isCustomNetwork(networkDetails) ? ( + + ) : null} ); }; diff --git a/extension/src/popup/components/manageAssets/SearchAsset/index.tsx b/extension/src/popup/components/manageAssets/SearchAsset/index.tsx index 779498bde6..8fc11d72ae 100644 --- a/extension/src/popup/components/manageAssets/SearchAsset/index.tsx +++ b/extension/src/popup/components/manageAssets/SearchAsset/index.tsx @@ -1,6 +1,6 @@ import React, { useEffect, useCallback, useRef, useState } from "react"; import { useSelector } from "react-redux"; -import { Link } from "react-router-dom"; +import { Link, Redirect } from "react-router-dom"; import { Formik, Form, Field, FieldProps } from "formik"; import { Input, Loader } from "@stellar/design-system"; import debounce from "lodash/debounce"; @@ -13,7 +13,7 @@ import { FormRows } from "popup/basics/Forms"; import { ROUTES } from "popup/constants/routes"; import { settingsNetworkDetailsSelector } from "popup/ducks/settings"; -import { isTestnet } from "helpers/stellar"; +import { isCustomNetwork, isTestnet } from "helpers/stellar"; import { SubviewHeader } from "popup/components/SubviewHeader"; @@ -137,6 +137,10 @@ export const SearchAsset = ({ setErrorAsset }: SearchAssetProps) => { setHasNoResults(!assetRows.length); }, [assetRows]); + if (isCustomNetwork(networkDetails)) { + return ; + } + return ( {}}> {({ dirty }) => ( diff --git a/extension/src/popup/components/manageNetwork/NetworkForm/index.tsx b/extension/src/popup/components/manageNetwork/NetworkForm/index.tsx index 33f6c73aa7..ae8cff3dce 100644 --- a/extension/src/popup/components/manageNetwork/NetworkForm/index.tsx +++ b/extension/src/popup/components/manageNetwork/NetworkForm/index.tsx @@ -14,7 +14,7 @@ import { ROUTES } from "popup/constants/routes"; import { navigateTo } from "popup/helpers/navigate"; import { isNetworkUrlValid as isNetworkUrlValidHelper } from "popup/helpers/account"; -import { isActiveNetwork } from "helpers/stellar"; +import { CUSTOM_NETWORK, isActiveNetwork } from "helpers/stellar"; import { addCustomNetwork, @@ -33,8 +33,6 @@ import { NetworkModal } from "../NetworkModal"; import "./styles.scss"; -const CUSTOM_NETWORK = "CUSTOM"; - interface FormValues { networkName: string; networkPassphrase: string; @@ -104,6 +102,17 @@ export const NetworkForm = ({ isEditing }: NetworkFormProps) => { setInvalidUrl(networkUrl); }; + const getCustomNetworkDetailsFromFormValues = (values: FormValues) => { + const { networkName, networkUrl, networkPassphrase } = values; + + return { + network: CUSTOM_NETWORK, + networkName, + networkUrl, + networkPassphrase, + }; + }; + const handleEditNetwork = async (values: FormValues) => { if (!isNetworkUrlValidHelper(values.networkUrl)) { showNetworkUrlInvalidModal(values.networkUrl); @@ -115,7 +124,7 @@ export const NetworkForm = ({ isEditing }: NetworkFormProps) => { } else { const res = await dispatch( editCustomNetwork({ - networkDetails: { ...values, network: CUSTOM_NETWORK }, + networkDetails: getCustomNetworkDetailsFromFormValues(values), networkIndex, }), ); @@ -133,10 +142,7 @@ export const NetworkForm = ({ isEditing }: NetworkFormProps) => { const addCustomNetworkRes = await dispatch( addCustomNetwork({ - networkDetails: { - ...values, - network: CUSTOM_NETWORK, - }, + networkDetails: getCustomNetworkDetailsFromFormValues(values), }), ); diff --git a/extension/src/popup/components/sendPayment/SendConfirm/TransactionDetails/index.tsx b/extension/src/popup/components/sendPayment/SendConfirm/TransactionDetails/index.tsx index a263277bce..e08bf9fde0 100644 --- a/extension/src/popup/components/sendPayment/SendConfirm/TransactionDetails/index.tsx +++ b/extension/src/popup/components/sendPayment/SendConfirm/TransactionDetails/index.tsx @@ -14,6 +14,7 @@ import { xlmToStroop, getConversionRate, truncatedFedAddress, + isCustomNetwork, } from "helpers/stellar"; import { getStellarExpertUrl } from "popup/helpers/account"; import { AssetIcons } from "@shared/api/types"; @@ -259,6 +260,21 @@ export const TransactionDetails = ({ goBack }: { goBack: () => void }) => { const showMemo = !isSwap && !isMuxedAccount(destination); + const StellarExpertButton = () => + !isCustomNetwork(networkDetails) ? ( + + ) : null; + return ( <> {hwStatus === HwOverlayStatus.IN_PROGRESS && } @@ -374,19 +390,7 @@ export const TransactionDetails = ({ goBack }: { goBack: () => void }) => { t("The final amount is approximate and may change")} {submission.submitStatus === ActionStatus.SUCCESS ? ( - + ) : (
- + {!isCustomNetwork(networkDetails) ? ( + + ) : null}