From 2d37ff676b31dbc6ad268ce17b00b1ce3558e91e Mon Sep 17 00:00:00 2001 From: Bill Date: Mon, 6 Nov 2023 17:39:02 -0800 Subject: [PATCH] do not use TESTNET_CHAIN_ID (#126) --- src/hooks/useNotificationTypes.tsx | 6 ++++-- src/views/forms/AccountManagementForms/DepositForm.tsx | 7 ++++--- src/views/forms/AccountManagementForms/WithdrawForm.tsx | 6 ++++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/hooks/useNotificationTypes.tsx b/src/hooks/useNotificationTypes.tsx index 5f5a8d3..07b213d 100644 --- a/src/hooks/useNotificationTypes.tsx +++ b/src/hooks/useNotificationTypes.tsx @@ -7,9 +7,11 @@ import { AlertType } from '@/constants/alerts'; import { AbacusOrderStatus, ORDER_SIDES } from '@/constants/abacus'; import { DialogTypes } from '@/constants/dialogs'; import { STRING_KEYS, StringKey } from '@/constants/localization'; +import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks'; import { type NotificationTypeConfig, NotificationType } from '@/constants/notifications'; import { ORDER_SIDE_STRINGS } from '@/constants/trade'; +import { useSelectedNetwork } from '@/hooks'; import { useLocalNotifications } from '@/hooks/useLocalNotifications'; import { Icon, IconName } from '@/components/Icon'; @@ -23,7 +25,6 @@ import { OrderStatusIcon } from '@/views/OrderStatusIcon'; import { useStringGetter } from './useStringGetter'; import { TransferStatusSteps } from '@/views/TransferStatusSteps'; -import { TESTNET_CHAIN_ID } from '@dydxprotocol/v4-client-js'; export const notificationTypes = [ { @@ -124,6 +125,7 @@ export const notificationTypes = [ useTrigger: ({ trigger }) => { const stringGetter = useStringGetter(); const { transferNotifications } = useLocalNotifications(); + const { selectedNetwork } = useSelectedNetwork(); const getTitleStringKey = useCallback((type: 'deposit' | 'withdrawal', finished: boolean) => { if (type === 'deposit' && !finished) return STRING_KEYS.DEPOSIT_IN_PROGRESS; @@ -136,7 +138,7 @@ export const notificationTypes = [ for (const transfer of transferNotifications) { const { fromChainId, status, txHash, toAmount } = transfer; const finished = Boolean(status) && status?.squidTransactionStatus !== 'ongoing'; - const type = fromChainId === TESTNET_CHAIN_ID ? 'withdrawal' : 'deposit'; + const type = fromChainId === ENVIRONMENT_CONFIG_MAP[selectedNetwork].dydxChainId ? 'withdrawal' : 'deposit'; // @ts-ignore status.errors is not in the type definition but can be returned const error = status?.errors?.length ? status?.errors[0] : status?.error; diff --git a/src/views/forms/AccountManagementForms/DepositForm.tsx b/src/views/forms/AccountManagementForms/DepositForm.tsx index 426be1c..ce341d6 100644 --- a/src/views/forms/AccountManagementForms/DepositForm.tsx +++ b/src/views/forms/AccountManagementForms/DepositForm.tsx @@ -2,7 +2,6 @@ import { type FormEvent, useCallback, useEffect, useMemo, useState } from 'react import styled, { type AnyStyledComponent } from 'styled-components'; import { type NumberFormatValues } from 'react-number-format'; import { shallowEqual, useSelector } from 'react-redux'; -import { TESTNET_CHAIN_ID } from '@dydxprotocol/v4-client-js'; import { parseUnits } from 'viem' import erc20 from '@/abi/erc20.json'; @@ -10,10 +9,11 @@ import { TransferInputField, TransferInputTokenResource, TransferType } from '@/ import { AlertType } from '@/constants/alerts'; import { ButtonSize } from '@/constants/buttons'; import { STRING_KEYS } from '@/constants/localization'; +import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks'; import { NumberSign } from '@/constants/numbers'; import type { EvmAddress } from '@/constants/wallets'; -import { useAccounts, useDebounce, useStringGetter } from '@/hooks'; +import { useAccounts, useDebounce, useStringGetter, useSelectedNetwork } from '@/hooks'; import { useAccountBalance, CHAIN_DEFAULT_TOKEN_ADDRESS } from '@/hooks/useAccountBalance'; import { useLocalNotifications } from '@/hooks/useLocalNotifications'; import { NATIVE_TOKEN_ADDRESS, useSquid } from '@/hooks/useSquid'; @@ -54,6 +54,7 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => { const stringGetter = useStringGetter(); const [error, setError] = useState(null); const [isLoading, setIsLoading] = useState(false); + const { selectedNetwork } = useSelectedNetwork(); const { evmAddress, signerWagmi } = useAccounts(); const { publicClientWagmi } = useWalletConnection(); @@ -239,7 +240,7 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => { if (txHash) { addTransferNotification({ txHash: txHash, - toChainId: TESTNET_CHAIN_ID, + toChainId: ENVIRONMENT_CONFIG_MAP[selectedNetwork].dydxChainId, fromChainId: chainIdStr || undefined, toAmount: summary?.usdcSize || undefined, triggeredAt: Date.now(), diff --git a/src/views/forms/AccountManagementForms/WithdrawForm.tsx b/src/views/forms/AccountManagementForms/WithdrawForm.tsx index 81cc8e9..f6fb8ff 100644 --- a/src/views/forms/AccountManagementForms/WithdrawForm.tsx +++ b/src/views/forms/AccountManagementForms/WithdrawForm.tsx @@ -3,13 +3,13 @@ import type { ChangeEvent, FormEvent } from 'react'; import styled, { type AnyStyledComponent } from 'styled-components'; import type { NumberFormatValues } from 'react-number-format'; import { shallowEqual, useSelector } from 'react-redux'; -import { TESTNET_CHAIN_ID } from '@dydxprotocol/v4-client-js'; import { isAddress } from 'viem'; import { TransferInputField, TransferInputTokenResource, TransferType } from '@/constants/abacus'; import { AlertType } from '@/constants/alerts'; import { ButtonSize } from '@/constants/buttons'; import { STRING_KEYS } from '@/constants/localization'; +import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks'; import { NumberSign } from '@/constants/numbers'; import { @@ -17,6 +17,7 @@ import { useDebounce, useDydxClient, useRestrictions, + useSelectedNetwork, useStringGetter, useSubaccount, } from '@/hooks'; @@ -52,6 +53,7 @@ export const WithdrawForm = () => { const stringGetter = useStringGetter(); const [error, setError] = useState(); const [isLoading, setIsLoading] = useState(false); + const { selectedNetwork } = useSelectedNetwork(); const { sendSquidWithdraw } = useSubaccount(); const { freeCollateral } = useSelector(getSubaccount, shallowEqual) || {}; @@ -164,7 +166,7 @@ export const WithdrawForm = () => { const hash = `0x${Buffer.from(txHash.hash).toString('hex')}`; addTransferNotification({ txHash: hash, - fromChainId: TESTNET_CHAIN_ID, + fromChainId: ENVIRONMENT_CONFIG_MAP[selectedNetwork].dydxChainId, toChainId: chainIdStr || undefined, toAmount: debouncedAmountBN.toNumber(), triggeredAt: Date.now(),