From d7bb026af41bf2d710f28424366d3b0959e06253 Mon Sep 17 00:00:00 2001 From: Bill He Date: Tue, 5 Sep 2023 12:09:15 -0700 Subject: [PATCH] address comments --- src/constants/account.ts | 4 ++-- src/constants/analytics.ts | 4 ++-- src/constants/wallets.ts | 2 +- src/hooks/useAccountBalance.ts | 4 ++-- src/hooks/useAccounts.tsx | 4 ++-- src/hooks/useLocalNotifications.tsx | 3 +-- src/hooks/useWalletConnection.ts | 4 ++-- .../forms/AccountManagementForms/DepositForm.tsx | 16 +++++++++------- 8 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/constants/account.ts b/src/constants/account.ts index a9441fc..f8f911e 100644 --- a/src/constants/account.ts +++ b/src/constants/account.ts @@ -49,11 +49,11 @@ export enum EvmDerivedAccountStatus { Derived, } -import type { DydxAddress, EthereumAddress } from './wallets'; +import type { DydxAddress, EvmAddress } from './wallets'; export type EvmDerivedAddresses = { version?: string; - [EthereumAddress: EthereumAddress]: { + [EvmAddress: EvmAddress]: { encryptedSignature?: string; dydxAddress?: DydxAddress; }; diff --git a/src/constants/analytics.ts b/src/constants/analytics.ts index b6a1732..121d6e5 100644 --- a/src/constants/analytics.ts +++ b/src/constants/analytics.ts @@ -1,7 +1,7 @@ import type { SupportedLocales } from './localization'; import type { DydxNetwork } from './networks'; import type { OnboardingState, OnboardingSteps } from './account'; -import type { DydxAddress, WalletType, WalletConnectionType, EthereumAddress } from './wallets'; +import type { DydxAddress, WalletType, WalletConnectionType, EvmAddress } from './wallets'; import type { DialogTypes } from './dialogs'; import type { TradeTypes } from './trade'; import type { AbacusApiStatus, HumanReadablePlaceOrderPayload } from './abacus'; @@ -40,7 +40,7 @@ export type AnalyticsUserPropertyValue = : T extends AnalyticsUserProperty.WalletConnectionType ? WalletConnectionType | undefined : T extends AnalyticsUserProperty.WalletAddress - ? EthereumAddress | DydxAddress | undefined + ? EvmAddress | DydxAddress | undefined : // Account T extends AnalyticsUserProperty.DydxAddress ? DydxAddress | undefined diff --git a/src/constants/wallets.ts b/src/constants/wallets.ts index a6bfcef..ef0c10f 100644 --- a/src/constants/wallets.ts +++ b/src/constants/wallets.ts @@ -337,7 +337,7 @@ export const SIGN_TYPED_DATA = { export type PrivateInformation = ReturnType; -export type EthereumAddress = `0x${string}`; +export type EvmAddress = `0x${string}`; export type DydxAddress = `dydx${string}`; export const DYDX_CHAIN_INFO: Parameters[0] = { diff --git a/src/hooks/useAccountBalance.ts b/src/hooks/useAccountBalance.ts index 8166414..c47d9bb 100644 --- a/src/hooks/useAccountBalance.ts +++ b/src/hooks/useAccountBalance.ts @@ -7,7 +7,7 @@ import { formatUnits } from 'viem'; import { CLIENT_NETWORK_CONFIGS } from '@/constants/networks'; import { QUANTUM_MULTIPLIER } from '@/constants/numbers'; -import { EthereumAddress } from '@/constants/wallets'; +import { EvmAddress } from '@/constants/wallets'; import { convertBech32Address } from '@/lib/addressUtils'; import { MustBigNumber } from '@/lib/numbers'; @@ -59,7 +59,7 @@ export const useAccountBalance = ({ token: addressOrDenom === CHAIN_DEFAULT_TOKEN_ADDRESS ? undefined - : (addressOrDenom as EthereumAddress), + : (addressOrDenom as EvmAddress), watch: true, }); diff --git a/src/hooks/useAccounts.tsx b/src/hooks/useAccounts.tsx index 186b349..9ac846b 100644 --- a/src/hooks/useAccounts.tsx +++ b/src/hooks/useAccounts.tsx @@ -6,7 +6,7 @@ import { LocalWallet, USDC_DENOM, type Subaccount } from '@dydxprotocol/v4-clien import { OnboardingGuard, OnboardingState, type EvmDerivedAddresses } from '@/constants/account'; import { LocalStorageKey, LOCAL_STORAGE_VERSIONS } from '@/constants/localStorage'; -import { DydxAddress, EthereumAddress, PrivateInformation } from '@/constants/wallets'; +import { DydxAddress, EvmAddress, PrivateInformation } from '@/constants/wallets'; import { setOnboardingState, @@ -82,7 +82,7 @@ const useAccountsContext = () => { evmAddress, dydxAddress, }: { - evmAddress: EthereumAddress; + evmAddress: EvmAddress; dydxAddress?: DydxAddress; }) => { saveEvmDerivedAddresses({ diff --git a/src/hooks/useLocalNotifications.tsx b/src/hooks/useLocalNotifications.tsx index cd81aa7..4c2d600 100644 --- a/src/hooks/useLocalNotifications.tsx +++ b/src/hooks/useLocalNotifications.tsx @@ -1,5 +1,6 @@ import { createContext, useContext, useCallback, useEffect, useMemo } from 'react'; import { useQuery } from 'react-query'; +import type { StatusResponse } from '@0xsquid/sdk'; import { LocalStorageKey } from '@/constants/localStorage'; import { type TransferNotifcation } from '@/constants/notifications'; @@ -8,8 +9,6 @@ import { useAccounts } from '@/hooks/useAccounts'; import { useSquid } from '@/hooks/useSquid'; import { useLocalStorage } from './useLocalStorage'; -import { StatusResponse } from '@0xsquid/sdk'; - const LocalNotificationsContext = createContext< ReturnType | undefined >(undefined); diff --git a/src/hooks/useWalletConnection.ts b/src/hooks/useWalletConnection.ts index 3269388..67fc676 100644 --- a/src/hooks/useWalletConnection.ts +++ b/src/hooks/useWalletConnection.ts @@ -4,7 +4,7 @@ import { LocalStorageKey } from '@/constants/localStorage'; import { type DydxAddress, - type EthereumAddress, + type EvmAddress, WalletConnectionType, WalletType, wallets, @@ -38,7 +38,7 @@ export const useWalletConnection = () => { const stringGetter = useStringGetter(); // EVM wallet connection - const [evmAddress, saveEvmAddress] = useLocalStorage({ + const [evmAddress, saveEvmAddress] = useLocalStorage({ key: LocalStorageKey.EvmAddress, defaultValue: undefined, }); diff --git a/src/views/forms/AccountManagementForms/DepositForm.tsx b/src/views/forms/AccountManagementForms/DepositForm.tsx index 16dcba1..bc613f7 100644 --- a/src/views/forms/AccountManagementForms/DepositForm.tsx +++ b/src/views/forms/AccountManagementForms/DepositForm.tsx @@ -11,6 +11,7 @@ import { AlertType } from '@/constants/alerts'; import { ButtonSize } from '@/constants/buttons'; import { STRING_KEYS } from '@/constants/localization'; import { NumberSign } from '@/constants/numbers'; +import type { EvmAddress } from '@/constants/wallets'; import { useAccounts, useDebounce, useStringGetter } from '@/hooks'; import { useAccountBalance } from '@/hooks/useAccountBalance'; @@ -36,6 +37,7 @@ import { getTransferInputs } from '@/state/inputsSelectors'; import abacusStateManager from '@/lib/abacus'; import { MustBigNumber } from '@/lib/numbers'; +import { log } from '@/lib/telemetry'; import { ChainSelectMenu } from './ChainSelectMenu'; import { TokenSelectMenu } from './TokenSelectMenu'; @@ -177,10 +179,10 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => { if (sourceToken?.address === NATIVE_TOKEN_ADDRESS) return; const allowance = await publicClientWagmi.readContract({ - address: sourceToken.address as `0x${string}`, + address: sourceToken.address as EvmAddress, abi: erc20, functionName: 'allowance', - args: [evmAddress as `0x${string}`, requestPayload.targetAddress as `0x${string}`] + args: [evmAddress as EvmAddress, requestPayload.targetAddress as EvmAddress] }); const sourceAmountBN = parseUnits(debouncedAmount, sourceToken.decimals); @@ -188,10 +190,10 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => { if (sourceAmountBN > (allowance as bigint)) { const { request } = await publicClientWagmi.simulateContract({ account: evmAddress, - address: sourceToken.address as `0x${string}`, + address: sourceToken.address as EvmAddress, abi: erc20, functionName: 'approve', - args: [requestPayload.targetAddress as `0x${string}`, sourceAmountBN], + args: [requestPayload.targetAddress as EvmAddress, sourceAmountBN], }) const approveTx = await signerWagmi.writeContract(request); @@ -225,8 +227,8 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => { await validateTokenApproval(); let tx = { - to: requestPayload.targetAddress as `0x${string}`, - data: requestPayload.data as `0x${string}`, + to: requestPayload.targetAddress as EvmAddress, + data: requestPayload.data as EvmAddress, gasLimit: BigInt(requestPayload.gasLimit), value: requestPayload.routeType !== 'SEND' ? BigInt(requestPayload.value) : undefined, @@ -247,7 +249,7 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => { setFromAmount(''); } } catch (error) { - console.error(error); + log('DepositForm/onSubmit', error); setError(error); } finally { setIsLoading(false);