diff --git a/.eslintrc.js b/.eslintrc.js index 421c5477..a629bb4b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,7 +14,7 @@ module.exports = { ], rules: { - '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', @@ -28,17 +28,24 @@ module.exports = { 'import/no-unresolved': 'off', 'import/no-default-export': 1, 'import/no-named-as-default-member': 'off', - 'import/export': 'off' + 'import/export': 'off', - // 'import/order': [ - // 'warn', - // { - // 'groups': ['builtin', 'external', 'parent', 'sibling', 'index'], - // 'alphabetize': { - // 'order': 'asc', /* sort in ascending order. Options: ['ignore', 'asc', 'desc'] */ - // 'caseInsensitive': true /* ignore case. Options: [true, false] */ - // } - // }, - // ] + 'import/order': [ + 'warn', + { + alphabetize: { + order: 'asc', + caseInsensitive: true + }, + pathGroups: [ + { + pattern: '~/**', + group: 'external', + position: 'after' + } + ], + 'newlines-between': 'always' + } + ] } } diff --git a/packages/checkout/src/api/data.ts b/packages/checkout/src/api/data.ts index a01f1de4..275c7b2f 100644 --- a/packages/checkout/src/api/data.ts +++ b/packages/checkout/src/api/data.ts @@ -1,29 +1,32 @@ -import { getNetwork } from '@0xsequence/kit' -import { SequenceAPIClient, Token, TokenPrice, GetCoinPricesReturn } from '@0xsequence/api' import { TokenMetadata } from '@0xsequence/metadata' import { ChainId, networks } from '@0xsequence/network' -import { getPaperNetworkName } from '../utils' import { SardineCheckout } from '..' export interface FetchSardineClientTokenReturn { - token: string, - orderId: string, + token: string + orderId: string } export interface MethodArguments { [key: string]: any } -export const fetchSardineClientToken = async (order: SardineCheckout, isDev: boolean, projectAccessKey: string, tokenMetadata?: TokenMetadata): Promise => { +export const fetchSardineClientToken = async ( + order: SardineCheckout, + isDev: boolean, + projectAccessKey: string, + tokenMetadata?: TokenMetadata +): Promise => { const randomNumber = Math.floor(Math.random() * 1000000) const timestamp = new Date().getTime() const referenceId = `sequence-kit-${randomNumber}-${timestamp}-${order.recipientAddress}-${networks[order.chainId as ChainId].name}-${order.contractAddress}-${order.contractAddress}-${order.recipientAddress}` - // Test credentials: https://docs.sardine.ai/docs/integrate-payments/nft-checkout-testing-credentials const accessKey = isDev ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey - const url = isDev ? 'https://dev-api.sequence.app/rpc/API/GetSardineNFTCheckoutToken' : 'https://api.sequence.app/rpc/API/GetSardineNFTCheckoutToken' + const url = isDev + ? 'https://dev-api.sequence.app/rpc/API/GetSardineNFTCheckoutToken' + : 'https://api.sequence.app/rpc/API/GetSardineNFTCheckoutToken' const res = await fetch(url, { method: 'POST', @@ -31,43 +34,44 @@ export const fetchSardineClientToken = async (order: SardineCheckout, isDev: boo 'Content-Type': 'application/json', 'X-Access-Key': `${accessKey || ''}` }, - body: JSON.stringify( - { - params: { - referenceId, - expiresIn: 3600, - paymentMethodTypeConfig: { - enabled: ['us_debit', 'us_credit', 'international_debit', 'international_credit', 'ach'], - default: order.defaultPaymentMethodType - }, - name: tokenMetadata?.name || 'Unknown', - imageUrl: tokenMetadata?.image || 'https://www.sequence.market/images/placeholder.png', - network: networks[order.chainId as ChainId].name, - recipientAddress: order.recipientAddress, - platform: 'horizon', - blockchainNftId: order.blockchainNftId, - contractAddress: order.contractAddress, - executionType: 'smart_contract', - quantity: Number(order.quantity), - decimals: Number(order.decimals), - } + body: JSON.stringify({ + params: { + referenceId, + expiresIn: 3600, + paymentMethodTypeConfig: { + enabled: ['us_debit', 'us_credit', 'international_debit', 'international_credit', 'ach'], + default: order.defaultPaymentMethodType + }, + name: tokenMetadata?.name || 'Unknown', + imageUrl: tokenMetadata?.image || 'https://www.sequence.market/images/placeholder.png', + network: networks[order.chainId as ChainId].name, + recipientAddress: order.recipientAddress, + platform: 'horizon', + blockchainNftId: order.blockchainNftId, + contractAddress: order.contractAddress, + executionType: 'smart_contract', + quantity: Number(order.quantity), + decimals: Number(order.decimals) } - ) + }) }) - const { resp: { orderId, token } } = await res.json() + const { + resp: { orderId, token } + } = await res.json() - return ({ + return { token, - orderId, - }) + orderId + } } - export const fetchSardineOrderStatus = async (orderId: string, isDev: boolean, projectAccessKey: string) => { // Test credentials: https://docs.sardine.ai/docs/integrate-payments/nft-checkout-testing-credentials - const accessKey = isDev ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey - const url = isDev ? 'https://dev-api.sequence.app/rpc/API/GetSardineNFTCheckoutOrderStatus' : 'https://api.sequence.app/rpc/API/GetSardineNFTCheckoutOrderStatus' + const accessKey = isDev ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey + const url = isDev + ? 'https://dev-api.sequence.app/rpc/API/GetSardineNFTCheckoutOrderStatus' + : 'https://api.sequence.app/rpc/API/GetSardineNFTCheckoutOrderStatus' const response = await fetch(url, { method: 'POST', headers: { @@ -75,7 +79,7 @@ export const fetchSardineOrderStatus = async (orderId: string, isDev: boolean, p 'X-Access-Key': `${accessKey}` }, body: JSON.stringify({ - orderId, + orderId }) }) @@ -85,7 +89,7 @@ export const fetchSardineOrderStatus = async (orderId: string, isDev: boolean, p } export interface Country { - code: string, + code: string } export const fetchSupportedCountryCodes = async (): Promise => { @@ -182,8 +186,8 @@ export const fetchSupportedCountryCodes = async (): Promise => { 'UY', 'UZ', 'VU', - 'VN', + 'VN' ] return supportedCountries.map(countryCode => ({ code: countryCode })) -} \ No newline at end of file +} diff --git a/packages/checkout/src/contexts/CheckoutModal.tsx b/packages/checkout/src/contexts/CheckoutModal.tsx index 0ed4e9e3..58a57936 100644 --- a/packages/checkout/src/contexts/CheckoutModal.tsx +++ b/packages/checkout/src/contexts/CheckoutModal.tsx @@ -1,5 +1,3 @@ -import React from 'react' -import { MethodArguments } from '../api' import { createGenericContext, Theme } from '@0xsequence/kit' interface CoinQuantity { @@ -29,7 +27,7 @@ export interface SardineCheckout { } export interface CheckoutSettings { - sardineCheckout?: SardineCheckout, + sardineCheckout?: SardineCheckout cryptoCheckout?: { chainId: number triggerTransaction: () => void diff --git a/packages/checkout/src/contexts/Navigation.tsx b/packages/checkout/src/contexts/Navigation.tsx index 6b174e61..1fc3fe16 100644 --- a/packages/checkout/src/contexts/Navigation.tsx +++ b/packages/checkout/src/contexts/Navigation.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { createGenericContext } from '@0xsequence/kit' export interface SelectCheckoutNavigation { diff --git a/packages/checkout/src/hooks/useCheckoutModal.ts b/packages/checkout/src/hooks/useCheckoutModal.ts index 99897c80..93d3f969 100644 --- a/packages/checkout/src/hooks/useCheckoutModal.ts +++ b/packages/checkout/src/hooks/useCheckoutModal.ts @@ -1,4 +1,3 @@ -import { useContext } from 'react' import { useCheckoutModalContext } from '../contexts/CheckoutModal' export const useCheckoutModal = () => { diff --git a/packages/checkout/src/hooks/useModalTheme.ts b/packages/checkout/src/hooks/useModalTheme.ts index 1c6f7b85..2b6534ba 100644 --- a/packages/checkout/src/hooks/useModalTheme.ts +++ b/packages/checkout/src/hooks/useModalTheme.ts @@ -1,4 +1,3 @@ -import { useContext } from 'react' import { useCheckoutModalContext } from '../contexts/CheckoutModal' export const useModalTheme = () => { diff --git a/packages/checkout/src/hooks/useNavigation.ts b/packages/checkout/src/hooks/useNavigation.ts index 9607149a..d9b5ad72 100644 --- a/packages/checkout/src/hooks/useNavigation.ts +++ b/packages/checkout/src/hooks/useNavigation.ts @@ -1,4 +1,3 @@ -import React, { useContext } from 'react' import { useNavigationContext, Navigation, History } from '../contexts/Navigation' import { DEFAULT_LOCATION } from '../shared/components/KitCheckoutProvider' diff --git a/packages/checkout/src/shared/components/DefaultIcon.tsx b/packages/checkout/src/shared/components/DefaultIcon.tsx index d46a5765..9aeaa59d 100644 --- a/packages/checkout/src/shared/components/DefaultIcon.tsx +++ b/packages/checkout/src/shared/components/DefaultIcon.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Box, Text } from '@0xsequence/design-system' +import React from 'react' interface DefaultIconProps { size?: number diff --git a/packages/checkout/src/shared/components/KitCheckoutProvider.tsx b/packages/checkout/src/shared/components/KitCheckoutProvider.tsx index e4b6de60..1fdbed0b 100644 --- a/packages/checkout/src/shared/components/KitCheckoutProvider.tsx +++ b/packages/checkout/src/shared/components/KitCheckoutProvider.tsx @@ -1,14 +1,12 @@ -import React, { useState, useEffect } from 'react' -import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { Box, Modal, ThemeProvider } from '@0xsequence/design-system' -import { AnimatePresence } from 'framer-motion' - import { getModalPositionCss, useTheme } from '@0xsequence/kit' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { AnimatePresence } from 'framer-motion' +import React, { useState, useEffect } from 'react' -import { PendingTransaction, TransactionError, TransactionSuccess, CheckoutSelection } from '../../views' import { History, Navigation, NavigationContextProvider, CheckoutModalContextProvider, CheckoutSettings } from '../../contexts' - import { NavigationHeader } from '../../shared/components/NavigationHeader' +import { PendingTransaction, TransactionError, TransactionSuccess, CheckoutSelection } from '../../views' import '@0xsequence/design-system/styles.css' diff --git a/packages/checkout/src/shared/components/NavigationHeader.tsx b/packages/checkout/src/shared/components/NavigationHeader.tsx index b8a38289..800e5273 100644 --- a/packages/checkout/src/shared/components/NavigationHeader.tsx +++ b/packages/checkout/src/shared/components/NavigationHeader.tsx @@ -1,7 +1,8 @@ -import React from 'react' import { Box, IconButton, ChevronLeftIcon, Text, vars } from '@0xsequence/design-system' -import { useNavigation } from '../../hooks/useNavigation' +import React from 'react' + import { HEADER_HEIGHT } from '../../constants' +import { useNavigation } from '../../hooks/useNavigation' interface NavigationHeaderProps { primaryText?: string diff --git a/packages/checkout/src/utils/networks.ts b/packages/checkout/src/utils/networks.ts index 005c8f5c..271e4831 100644 --- a/packages/checkout/src/utils/networks.ts +++ b/packages/checkout/src/utils/networks.ts @@ -1,4 +1,5 @@ import { NetworkMetadata } from '@0xsequence/network' + import { capitalize } from './helpers' export const getPaperNetworkName = (network: NetworkMetadata): string => { diff --git a/packages/checkout/src/views/CheckoutSelection/component/OrderSummaryItem.tsx b/packages/checkout/src/views/CheckoutSelection/component/OrderSummaryItem.tsx index 07fc7b86..c26e6fe1 100644 --- a/packages/checkout/src/views/CheckoutSelection/component/OrderSummaryItem.tsx +++ b/packages/checkout/src/views/CheckoutSelection/component/OrderSummaryItem.tsx @@ -1,8 +1,7 @@ -import React from 'react' -import { ethers } from 'ethers' -import { useConfig } from 'wagmi' import { Box, Card, Image, Text, Skeleton, TokenImage, NetworkImage } from '@0xsequence/design-system' -import { getNativeTokenInfoByChainId, useContractInfo, useTokenMetadata } from '@0xsequence/kit' +import { useContractInfo, useTokenMetadata } from '@0xsequence/kit' +import { ethers } from 'ethers' +import React from 'react' import { formatDisplay } from '../../../utils' @@ -14,7 +13,6 @@ interface OrderSummaryItem { } export const OrderSummaryItem = ({ contractAddress, tokenId, quantityRaw, chainId }: OrderSummaryItem) => { - const { chains } = useConfig() const { data: tokenMetadata, isPending: isPendingTokenMetadata } = useTokenMetadata(chainId, contractAddress, [tokenId]) const { data: contractInfo, isPending: isPendingContractInfo } = useContractInfo(chainId, contractAddress) const isPending = isPendingTokenMetadata || isPendingContractInfo @@ -23,7 +21,6 @@ export const OrderSummaryItem = ({ contractAddress, tokenId, quantityRaw, chainI return } - const nativeTokenInfo = getNativeTokenInfoByChainId(chainId, [...chains]) const { name = 'unknown', image, decimals = 0 } = tokenMetadata?.[0] ?? {} const { logoURI: collectionLogoURI, name: collectionName = 'Unknown Collection' } = contractInfo || {} diff --git a/packages/checkout/src/views/CheckoutSelection/index.tsx b/packages/checkout/src/views/CheckoutSelection/index.tsx index 16fd93dd..ec4681e0 100644 --- a/packages/checkout/src/views/CheckoutSelection/index.tsx +++ b/packages/checkout/src/views/CheckoutSelection/index.tsx @@ -1,5 +1,3 @@ -import React from 'react' -import { ethers } from 'ethers' import { Box, Button, @@ -14,16 +12,17 @@ import { TokenImage } from '@0xsequence/design-system' import { getNativeTokenInfoByChainId, useBalances, useContractInfo, useTokenMetadata, useProjectAccessKey } from '@0xsequence/kit' - +import { ethers } from 'ethers' +import React from 'react' import { useAccount, useConfig } from 'wagmi' -import { OrderSummaryItem } from './component/OrderSummaryItem' - -import { fetchSardineClientToken, fetchSardineOrderStatus } from '../../api' +import { fetchSardineClientToken } from '../../api' import { HEADER_HEIGHT } from '../../constants' import { useNavigation, useCheckoutModal } from '../../hooks' import { compareAddress, formatDisplay } from '../../utils' +import { OrderSummaryItem } from './component/OrderSummaryItem' + export const CheckoutSelection = () => { const { chains } = useConfig() const { setNavigation } = useNavigation() @@ -67,11 +66,7 @@ export const CheckoutSelection = () => { const chainId = settings?.cryptoCheckout?.chainId || settings?.sardineCheckout?.chainId || 1 - const { data: tokensMetadata, isLoading: isTokenMetadataLoading } = useTokenMetadata( - chainId, - orderSummaryItems[0].contractAddress, - [orderSummaryItems[0].tokenId] - ) + const { data: tokensMetadata } = useTokenMetadata(chainId, orderSummaryItems[0].contractAddress, [orderSummaryItems[0].tokenId]) const tokenMetadata = tokensMetadata ? tokensMetadata[0] : undefined const triggerSardineTransaction = async () => { diff --git a/packages/checkout/src/views/PendingTransaction.tsx b/packages/checkout/src/views/PendingTransaction.tsx index 44db9ed2..28494966 100644 --- a/packages/checkout/src/views/PendingTransaction.tsx +++ b/packages/checkout/src/views/PendingTransaction.tsx @@ -1,10 +1,10 @@ -import React, { useEffect } from 'react' -import { Box, Spinner, Text } from '@0xsequence/design-system' +import { Box } from '@0xsequence/design-system' import { useProjectAccessKey } from '@0xsequence/kit' +import React, { useEffect } from 'react' -import { useNavigation, useCheckoutModal } from '../hooks' -import { TransactionPendingNavigation } from '../contexts' import { fetchSardineOrderStatus } from '../api' +import { TransactionPendingNavigation } from '../contexts' +import { useNavigation, useCheckoutModal } from '../hooks' const POLLING_TIME = 10 * 1000 @@ -22,14 +22,14 @@ export const PendingTransaction = () => { ? `https://crypto.sandbox.sardine.ai/?client_token=${authToken}&show_features=true` : `https://crypto.sardine.ai/?client_token=${authToken}&show_features=true` - const pollForOrderStatus = async () => { - try { - console.log('Polling for transaction status') - const isDev = settings?.sardineCheckout?.isDev || false + const pollForOrderStatus = async () => { + try { + console.log('Polling for transaction status') + const isDev = settings?.sardineCheckout?.isDev || false - const pollResponse = await fetchSardineOrderStatus(orderId, isDev, projectAccessKey) - const status = pollResponse.resp.status - const transactionHash = pollResponse.resp?.transactionHash + const pollResponse = await fetchSardineOrderStatus(orderId, isDev, projectAccessKey) + const status = pollResponse.resp.status + const transactionHash = pollResponse.resp?.transactionHash console.log('transaction status poll response:', status) diff --git a/packages/checkout/src/views/TransactionError.tsx b/packages/checkout/src/views/TransactionError.tsx index 360cc25f..5a5090d6 100644 --- a/packages/checkout/src/views/TransactionError.tsx +++ b/packages/checkout/src/views/TransactionError.tsx @@ -1,8 +1,8 @@ -import React, { useEffect } from 'react' import { Box, CloseIcon, Text } from '@0xsequence/design-system' +import React, { useEffect } from 'react' -import { useCheckoutModal, useNavigation } from '../hooks' import { TransactionErrorNavigation } from '../contexts' +import { useCheckoutModal, useNavigation } from '../hooks' export const TransactionError = () => { const { closeCheckout, settings } = useCheckoutModal() diff --git a/packages/checkout/src/views/TransactionSuccess.tsx b/packages/checkout/src/views/TransactionSuccess.tsx index 39e19dc5..f483f8f7 100644 --- a/packages/checkout/src/views/TransactionSuccess.tsx +++ b/packages/checkout/src/views/TransactionSuccess.tsx @@ -1,12 +1,12 @@ import { sequence } from '0xsequence' -import React, { useEffect } from 'react' import { Box, CheckmarkIcon, Text } from '@0xsequence/design-system' +import React, { useEffect } from 'react' -import { useCheckoutModal, useNavigation } from '../hooks' import { TransactionSuccessNavigation } from '../contexts' +import { useCheckoutModal, useNavigation } from '../hooks' export const TransactionSuccess = () => { - const { closeCheckout, settings } = useCheckoutModal() + const { settings } = useCheckoutModal() const nav = useNavigation() const navigation = nav.navigation as TransactionSuccessNavigation @@ -14,8 +14,10 @@ export const TransactionSuccess = () => { const network = sequence.network.allNetworks.find(n => n.chainId === chainId) useEffect(() => { - settings?.sardineCheckout?.onSuccess && settings?.sardineCheckout?.onSuccess(navigation.params.transactionHash, settings?.sardineCheckout) - settings?.sardineCheckout?.onSuccess && settings?.sardineCheckout?.onSuccess(navigation.params.transactionHash, settings?.sardineCheckout) + settings?.sardineCheckout?.onSuccess && + settings?.sardineCheckout?.onSuccess(navigation.params.transactionHash, settings?.sardineCheckout) + settings?.sardineCheckout?.onSuccess && + settings?.sardineCheckout?.onSuccess(navigation.params.transactionHash, settings?.sardineCheckout) }, []) return ( diff --git a/packages/connectors/src/connectors/apple/AppleLogo.tsx b/packages/connectors/src/connectors/apple/AppleLogo.tsx index 34b807bc..d516586e 100644 --- a/packages/connectors/src/connectors/apple/AppleLogo.tsx +++ b/packages/connectors/src/connectors/apple/AppleLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' interface GetAppleLogo { diff --git a/packages/connectors/src/connectors/apple/apple.ts b/packages/connectors/src/connectors/apple/apple.ts index b26ceaa0..8a76e03e 100644 --- a/packages/connectors/src/connectors/apple/apple.ts +++ b/packages/connectors/src/connectors/apple/apple.ts @@ -1,8 +1,10 @@ import type { Wallet } from '@0xsequence/kit' -import { getAppleLogo, getAppleMonochromeLogo } from './AppleLogo' import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' +import { getAppleLogo, getAppleMonochromeLogo } from './AppleLogo' + + export type AppleOptions = BaseSequenceConnectorOptions export const apple = (options: AppleOptions): Wallet => ({ diff --git a/packages/connectors/src/connectors/apple/appleWaas.ts b/packages/connectors/src/connectors/apple/appleWaas.ts index 0b47167c..c0dac698 100644 --- a/packages/connectors/src/connectors/apple/appleWaas.ts +++ b/packages/connectors/src/connectors/apple/appleWaas.ts @@ -1,8 +1,9 @@ import { Wallet } from '@0xsequence/kit' +import { sequenceWaasWallet, BaseSequenceWaasConnectorOptions } from '../wagmiConnectors/sequenceWaasConnector' + import { getAppleLogo, getAppleMonochromeLogo } from './AppleLogo' -import { sequenceWaasWallet, BaseSequenceWaasConnectorOptions } from '../wagmiConnectors/sequenceWaasConnector' export type AppleWaasOptions = Omit diff --git a/packages/connectors/src/connectors/coinbaseWallet/CoinbaseWalletLogo.tsx b/packages/connectors/src/connectors/coinbaseWallet/CoinbaseWalletLogo.tsx index f1c52282..2ffefedf 100644 --- a/packages/connectors/src/connectors/coinbaseWallet/CoinbaseWalletLogo.tsx +++ b/packages/connectors/src/connectors/coinbaseWallet/CoinbaseWalletLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' export const CoinbaseWalletLogo: React.FunctionComponent = (props: LogoProps) => { diff --git a/packages/connectors/src/connectors/coinbaseWallet/coinbaseWallet.ts b/packages/connectors/src/connectors/coinbaseWallet/coinbaseWallet.ts index 46ea8017..5c7d8d32 100644 --- a/packages/connectors/src/connectors/coinbaseWallet/coinbaseWallet.ts +++ b/packages/connectors/src/connectors/coinbaseWallet/coinbaseWallet.ts @@ -1,7 +1,5 @@ -import { coinbaseWallet as coinbaseWalletBase, CoinbaseWalletParameters } from 'wagmi/connectors' -import { Wallet } from '@0xsequence/kit' - import { CreateConnectorFn } from 'wagmi' +import { coinbaseWallet as coinbaseWalletBase, CoinbaseWalletParameters } from 'wagmi/connectors' import { CoinbaseWalletLogo } from './CoinbaseWalletLogo' diff --git a/packages/connectors/src/connectors/discord/DiscordLogo.tsx b/packages/connectors/src/connectors/discord/DiscordLogo.tsx index 473ea531..7ce09e65 100644 --- a/packages/connectors/src/connectors/discord/DiscordLogo.tsx +++ b/packages/connectors/src/connectors/discord/DiscordLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' interface GetDiscordLogo { diff --git a/packages/connectors/src/connectors/discord/discord.ts b/packages/connectors/src/connectors/discord/discord.ts index 026825bc..614bf639 100644 --- a/packages/connectors/src/connectors/discord/discord.ts +++ b/packages/connectors/src/connectors/discord/discord.ts @@ -1,7 +1,9 @@ -import { getDiscordLogo } from './DiscordLogo' +import { Wallet } from '@0xsequence/kit' import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' -import { Wallet } from '@0xsequence/kit' + +import { getDiscordLogo } from './DiscordLogo' + export interface DiscordOptions extends BaseSequenceConnectorOptions {} diff --git a/packages/connectors/src/connectors/email/EmailLogo.tsx b/packages/connectors/src/connectors/email/EmailLogo.tsx index b9e45e94..9cdead54 100644 --- a/packages/connectors/src/connectors/email/EmailLogo.tsx +++ b/packages/connectors/src/connectors/email/EmailLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' interface GetEmailLogo { diff --git a/packages/connectors/src/connectors/email/email.ts b/packages/connectors/src/connectors/email/email.ts index 2cd7352a..3c3a0c0f 100644 --- a/packages/connectors/src/connectors/email/email.ts +++ b/packages/connectors/src/connectors/email/email.ts @@ -1,7 +1,9 @@ -import { getEmailLogo } from './EmailLogo' +import { Wallet } from '@0xsequence/kit' import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' -import { Wallet } from '@0xsequence/kit' + +import { getEmailLogo } from './EmailLogo' + export interface EmailOptions extends BaseSequenceConnectorOptions {} diff --git a/packages/connectors/src/connectors/email/emailWaas.ts b/packages/connectors/src/connectors/email/emailWaas.ts index 41bb673e..bb1ef24f 100644 --- a/packages/connectors/src/connectors/email/emailWaas.ts +++ b/packages/connectors/src/connectors/email/emailWaas.ts @@ -1,7 +1,9 @@ -import { getEmailLogo } from './EmailLogo' +import { Wallet } from '@0xsequence/kit' import { sequenceWaasWallet, BaseSequenceWaasConnectorOptions } from '../wagmiConnectors/sequenceWaasConnector' -import { Wallet } from '@0xsequence/kit' + +import { getEmailLogo } from './EmailLogo' + export type EmailWaasOptions = Omit diff --git a/packages/connectors/src/connectors/facebook/FacebookLogo.tsx b/packages/connectors/src/connectors/facebook/FacebookLogo.tsx index bc7b0279..41b6fbe2 100644 --- a/packages/connectors/src/connectors/facebook/FacebookLogo.tsx +++ b/packages/connectors/src/connectors/facebook/FacebookLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' export const FacebookLogo: React.FunctionComponent = (props: LogoProps) => { diff --git a/packages/connectors/src/connectors/facebook/facebook.ts b/packages/connectors/src/connectors/facebook/facebook.ts index f00e32da..781f90cf 100644 --- a/packages/connectors/src/connectors/facebook/facebook.ts +++ b/packages/connectors/src/connectors/facebook/facebook.ts @@ -1,8 +1,9 @@ import type { Wallet } from '@0xsequence/kit' +import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' + import { FacebookLogo, getFacebookMonochromeLogo } from './FacebookLogo' -import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' export interface FacebookOptions extends BaseSequenceConnectorOptions {} diff --git a/packages/connectors/src/connectors/google/GoogleLogo.tsx b/packages/connectors/src/connectors/google/GoogleLogo.tsx index 8ef4513d..30628e9e 100644 --- a/packages/connectors/src/connectors/google/GoogleLogo.tsx +++ b/packages/connectors/src/connectors/google/GoogleLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' export const GoogleLogo: React.FunctionComponent = (props: LogoProps) => { diff --git a/packages/connectors/src/connectors/google/google.ts b/packages/connectors/src/connectors/google/google.ts index 8ce2dfe0..44625381 100644 --- a/packages/connectors/src/connectors/google/google.ts +++ b/packages/connectors/src/connectors/google/google.ts @@ -1,7 +1,9 @@ -import { GoogleLogo, getMonochromeGoogleLogo } from './GoogleLogo' +import { Wallet } from '@0xsequence/kit' import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' -import { Wallet } from '@0xsequence/kit' + +import { GoogleLogo, getMonochromeGoogleLogo } from './GoogleLogo' + export type GoogleOptions = BaseSequenceConnectorOptions diff --git a/packages/connectors/src/connectors/google/googleWaas.ts b/packages/connectors/src/connectors/google/googleWaas.ts index d561e222..a358a1a5 100644 --- a/packages/connectors/src/connectors/google/googleWaas.ts +++ b/packages/connectors/src/connectors/google/googleWaas.ts @@ -1,7 +1,9 @@ -import { GoogleLogo, getMonochromeGoogleLogo } from './GoogleLogo' +import { Wallet } from '@0xsequence/kit' import { sequenceWaasWallet, BaseSequenceWaasConnectorOptions } from '../wagmiConnectors/sequenceWaasConnector' -import { Wallet } from '@0xsequence/kit' + +import { GoogleLogo, getMonochromeGoogleLogo } from './GoogleLogo' + export type GoogleWaasOptions = Omit diff --git a/packages/connectors/src/connectors/injected/InjectedLogo.tsx b/packages/connectors/src/connectors/injected/InjectedLogo.tsx index f09c7b98..7f0d5a1c 100644 --- a/packages/connectors/src/connectors/injected/InjectedLogo.tsx +++ b/packages/connectors/src/connectors/injected/InjectedLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' export const InjectedLogo: React.FunctionComponent = (props: LogoProps) => { diff --git a/packages/connectors/src/connectors/injected/injected.ts b/packages/connectors/src/connectors/injected/injected.ts index cdc08356..184eb994 100644 --- a/packages/connectors/src/connectors/injected/injected.ts +++ b/packages/connectors/src/connectors/injected/injected.ts @@ -1,9 +1,10 @@ -import React from 'react' +import { Wallet } from '@0xsequence/kit' import { ethers } from 'ethers' +import React from 'react' import { injected as injectedBase } from 'wagmi/connectors' import { InjectedLogo } from './InjectedLogo' -import { Wallet } from '@0xsequence/kit' + declare global { interface Window { diff --git a/packages/connectors/src/connectors/metamask/MetamaskLogo.tsx b/packages/connectors/src/connectors/metamask/MetamaskLogo.tsx index d5642aaa..b9d3afc3 100644 --- a/packages/connectors/src/connectors/metamask/MetamaskLogo.tsx +++ b/packages/connectors/src/connectors/metamask/MetamaskLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' export const MetamaskLogo: React.FunctionComponent = (props: LogoProps) => { diff --git a/packages/connectors/src/connectors/metamask/metamask.ts b/packages/connectors/src/connectors/metamask/metamask.ts index 52691d99..f76723f6 100644 --- a/packages/connectors/src/connectors/metamask/metamask.ts +++ b/packages/connectors/src/connectors/metamask/metamask.ts @@ -1,7 +1,7 @@ +import { Wallet } from '@0xsequence/kit' import { injected } from 'wagmi/connectors' import { MetamaskLogo } from './MetamaskLogo' -import { Wallet } from '@0xsequence/kit' export const metamask = (): Wallet => ({ id: 'metamask', diff --git a/packages/connectors/src/connectors/mock/mock.ts b/packages/connectors/src/connectors/mock/mock.ts index 7ba896c8..cb778fc7 100644 --- a/packages/connectors/src/connectors/mock/mock.ts +++ b/packages/connectors/src/connectors/mock/mock.ts @@ -1,7 +1,7 @@ +import { Wallet } from '@0xsequence/kit' import { mock as mockBase, MockParameters } from 'wagmi/connectors' import { SequenceLogo } from '../sequence/SequenceLogo' -import { Wallet } from '@0xsequence/kit' export const mock = (options: MockParameters): Wallet => ({ id: 'mock', diff --git a/packages/connectors/src/connectors/sequence/SequenceLogo.tsx b/packages/connectors/src/connectors/sequence/SequenceLogo.tsx index e1b379e6..f9372237 100644 --- a/packages/connectors/src/connectors/sequence/SequenceLogo.tsx +++ b/packages/connectors/src/connectors/sequence/SequenceLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' export const SequenceLogo: React.FunctionComponent = (props: LogoProps) => { diff --git a/packages/connectors/src/connectors/sequence/sequence.ts b/packages/connectors/src/connectors/sequence/sequence.ts index 56c3fce8..37bd5eee 100644 --- a/packages/connectors/src/connectors/sequence/sequence.ts +++ b/packages/connectors/src/connectors/sequence/sequence.ts @@ -1,6 +1,7 @@ import type { Wallet } from '@0xsequence/kit' import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' + import { SequenceLogo } from './SequenceLogo' export interface SequenceOptions extends BaseSequenceConnectorOptions {} diff --git a/packages/connectors/src/connectors/twitch/TwitchLogo.tsx b/packages/connectors/src/connectors/twitch/TwitchLogo.tsx index 3f8551db..b9fbdd73 100644 --- a/packages/connectors/src/connectors/twitch/TwitchLogo.tsx +++ b/packages/connectors/src/connectors/twitch/TwitchLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' interface GetTwitchLogo { diff --git a/packages/connectors/src/connectors/twitch/twitch.ts b/packages/connectors/src/connectors/twitch/twitch.ts index 6f2525f4..eb92f100 100644 --- a/packages/connectors/src/connectors/twitch/twitch.ts +++ b/packages/connectors/src/connectors/twitch/twitch.ts @@ -1,7 +1,9 @@ -import { getTwitchLogo } from './TwitchLogo' +import { Wallet } from '@0xsequence/kit' import { sequenceWallet, BaseSequenceConnectorOptions } from '../wagmiConnectors' -import { Wallet } from '@0xsequence/kit' + +import { getTwitchLogo } from './TwitchLogo' + export interface TwitchOptions extends BaseSequenceConnectorOptions {} diff --git a/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts b/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts index ff5dbe43..f8b7c160 100644 --- a/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts +++ b/packages/connectors/src/connectors/wagmiConnectors/sequenceConnector.ts @@ -1,9 +1,7 @@ import { sequence } from '0xsequence' import { ETHAuthProof } from '@0xsequence/auth' import { LocalStorageKey, EthAuthSettings } from '@0xsequence/kit' - import { UserRejectedRequestError, getAddress } from 'viem' - import { createConnector } from 'wagmi' export interface BaseSequenceConnectorOptions { @@ -198,7 +196,7 @@ export function sequenceWallet(params: BaseSequenceConnectorOptions) { provider.setDefaultChainId(normalizeChainId(chain)) }, - async onConnect(connectinfo) {}, + async onConnect(_connectinfo) {}, async onDisconnect() { await config.storage?.removeItem(LocalStorageKey.EthAuthProof) diff --git a/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts b/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts index eae91de3..f519d13a 100644 --- a/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts +++ b/packages/connectors/src/connectors/wagmiConnectors/sequenceWaasConnector.ts @@ -1,10 +1,10 @@ -import { SequenceWaaS, SequenceConfig, ExtendedSequenceConfig, Transaction, FeeOption } from '@0xsequence/waas' +import { sequence } from '0xsequence' import { LocalStorageKey } from '@0xsequence/kit' -import { TransactionRejectedRpcError, UserRejectedRequestError, getAddress } from 'viem' -import { createConnector } from 'wagmi' +import { SequenceWaaS, SequenceConfig, ExtendedSequenceConfig, Transaction, FeeOption } from '@0xsequence/waas' import { ethers } from 'ethers' import { v4 as uuidv4 } from 'uuid' -import { sequence } from '0xsequence' +import { TransactionRejectedRpcError, UserRejectedRequestError, getAddress } from 'viem' +import { createConnector } from 'wagmi' export interface SequenceWaasConnectConfig { googleClientId?: string @@ -100,7 +100,7 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) { }) }, - async connect(connectInfo) { + async connect(_connectInfo) { const provider = await this.getProvider() const isSignedIn = await provider.sequenceWaas.isSignedIn() @@ -216,13 +216,14 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) { }, async onChainChanged(chain) { - const provider = await this.getProvider() + // const provider = await this.getProvider() config.emitter.emit('change', { chainId: normalizeChainId(chain) }) + // provider.setDefaultChainId(normalizeChainId(chain)) }, - async onConnect(connectInfo) {}, + async onConnect(_connectInfo) {}, async onDisconnect() { await this.disconnect() diff --git a/packages/connectors/src/connectors/walletConnect/WalletConnectLogo.tsx b/packages/connectors/src/connectors/walletConnect/WalletConnectLogo.tsx index c22e70ea..f618e5b9 100644 --- a/packages/connectors/src/connectors/walletConnect/WalletConnectLogo.tsx +++ b/packages/connectors/src/connectors/walletConnect/WalletConnectLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { LogoProps } from '../types' export const WalletConnectLogo: React.FunctionComponent = (props: LogoProps) => { diff --git a/packages/connectors/src/connectors/walletConnect/walletConnect.ts b/packages/connectors/src/connectors/walletConnect/walletConnect.ts index 7f5881d9..dbcba13d 100644 --- a/packages/connectors/src/connectors/walletConnect/walletConnect.ts +++ b/packages/connectors/src/connectors/walletConnect/walletConnect.ts @@ -1,7 +1,7 @@ +import { Wallet } from '@0xsequence/kit' import { walletConnect as walletConnectbase, WalletConnectParameters } from 'wagmi/connectors' import { WalletConnectLogo } from './WalletConnectLogo' -import { Wallet } from '@0xsequence/kit' export const walletConnect = (options: WalletConnectParameters): Wallet => ({ id: 'wallet-connect', diff --git a/packages/connectors/src/defaultConnectors.ts b/packages/connectors/src/defaultConnectors.ts index 8f7c7e4f..3c7c76d1 100644 --- a/packages/connectors/src/defaultConnectors.ts +++ b/packages/connectors/src/defaultConnectors.ts @@ -1,10 +1,10 @@ -import { CreateConnectorFn } from 'wagmi' import { getKitConnectWallets } from '@0xsequence/kit' +import { CreateConnectorFn } from 'wagmi' import { apple, coinbaseWallet, email, facebook, google, metamask, sequence, twitch, walletConnect } from './connectors' -import { googleWaas } from './connectors/google/googleWaas' -import { emailWaas } from './connectors/email/emailWaas' import { appleWaas } from './connectors/apple/appleWaas' +// import { emailWaas } from './connectors/email/emailWaas' +import { googleWaas } from './connectors/google/googleWaas' interface GetDefaultConnectors { walletConnectProjectId: string diff --git a/packages/kit/src/components/KitProvider/CollectibleTileImage.tsx b/packages/kit/src/components/KitProvider/CollectibleTileImage.tsx index 6041f8bc..03a8898e 100644 --- a/packages/kit/src/components/KitProvider/CollectibleTileImage.tsx +++ b/packages/kit/src/components/KitProvider/CollectibleTileImage.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Card, Image } from '@0xsequence/design-system' +import React from 'react' interface CollectibleTileImageProps { imageUrl?: string diff --git a/packages/kit/src/components/KitProvider/ConnectWalletContent/Banner.tsx b/packages/kit/src/components/KitProvider/ConnectWalletContent/Banner.tsx index d61307f4..a2fe0f30 100644 --- a/packages/kit/src/components/KitProvider/ConnectWalletContent/Banner.tsx +++ b/packages/kit/src/components/KitProvider/ConnectWalletContent/Banner.tsx @@ -1,5 +1,5 @@ +import { Box, Image } from '@0xsequence/design-system' import React from 'react' -import { Box, Image, useTheme } from '@0xsequence/design-system' import { KitConfig } from '../index' diff --git a/packages/kit/src/components/KitProvider/ConnectWalletContent/ExtendedWalletList.tsx b/packages/kit/src/components/KitProvider/ConnectWalletContent/ExtendedWalletList.tsx index c352b438..f162e9d4 100644 --- a/packages/kit/src/components/KitProvider/ConnectWalletContent/ExtendedWalletList.tsx +++ b/packages/kit/src/components/KitProvider/ConnectWalletContent/ExtendedWalletList.tsx @@ -1,6 +1,5 @@ -import React, { useState } from 'react' - -import { Box, Button, Text, TokenImage, useTheme } from '@0xsequence/design-system' +import { Box, Button, Text, useTheme } from '@0xsequence/design-system' +import React from 'react' import { useConnect } from 'wagmi' import { ExtendedConnector } from '../../../utils/getKitConnectWallets' diff --git a/packages/kit/src/components/KitProvider/ConnectWalletContent/index.tsx b/packages/kit/src/components/KitProvider/ConnectWalletContent/index.tsx index 78330d5b..f931615d 100644 --- a/packages/kit/src/components/KitProvider/ConnectWalletContent/index.tsx +++ b/packages/kit/src/components/KitProvider/ConnectWalletContent/index.tsx @@ -1,4 +1,3 @@ -import React, { useState, useEffect } from 'react' import { Box, Button, @@ -8,7 +7,6 @@ import { Divider, Text, TextInput, - vars, useTheme, Spinner, Image, @@ -16,23 +14,23 @@ import { Tooltip, PINCodeInput } from '@0xsequence/design-system' -import { useConnect, useAccount, Connector, useConfig, Storage } from 'wagmi' -import { LogoProps, sequenceWallet } from '@0xsequence/kit-connectors' +import { LogoProps } from '@0xsequence/kit-connectors' import { GoogleLogin } from '@react-oauth/google' +import React, { useState, useEffect } from 'react' import { appleAuthHelpers, useScript } from 'react-apple-signin-auth' +import { useConnect, useAccount, useConfig, Storage } from 'wagmi' -import { ExtendedWalletList } from './ExtendedWalletList' -import { Banner } from './Banner' -import { GoogleLogo } from './GoogleLogo' - -import { KitConfig } from '../../index' import { LocalStorageKey, defaultSignInOptions } from '../../../constants' +import { useEmailAuth } from '../../../hooks/useWaasEmailAuth' import { isEmailValid } from '../../../utils' -import { KitConnectProviderProps } from '../index' import { ExtendedConnector } from '../../../utils/getKitConnectWallets' - -import { useEmailAuth } from '../../../hooks/useWaasEmailAuth' import { getStorageItem } from '../../../utils/storage' +import { KitConfig } from '../../index' +import { KitConnectProviderProps } from '../index' + +import { Banner } from './Banner' +import { ExtendedWalletList } from './ExtendedWalletList' +import { GoogleLogo } from './GoogleLogo' interface ConnectWalletContentProps extends KitConnectProviderProps { openConnectModal: boolean @@ -62,7 +60,9 @@ export const ConnectWalletContent = (props: ConnectWalletContentProps) => { const [enableGoogleTooltip, setEnableGoogleTooltip] = useState(false) useEffect(() => { - setTimeout(() => { setEnableGoogleTooltip(true) },300) + setTimeout(() => { + setEnableGoogleTooltip(true) + }, 300) }) // EIP-6963 connectors will not have the _wallet property @@ -316,7 +316,7 @@ export const ConnectWalletContent = (props: ConnectWalletContentProps) => { paddingRight: '12px', top: '50%', left: '50%', - transform: 'translate(-50%, -50%)', + transform: 'translate(-50%, -50%)' }} > { - const { chains } = useConfig() const network = getNetwork(chainId) - const nativeTokenInfo = getNativeTokenInfoByChainId(chainId, chains) const chainColor = getNetworkColor(chainId) const chainBGColor = getNetworkBackgroundColor(chainId) diff --git a/packages/kit/src/components/KitProvider/index.tsx b/packages/kit/src/components/KitProvider/index.tsx index a5622e5f..27abe446 100644 --- a/packages/kit/src/components/KitProvider/index.tsx +++ b/packages/kit/src/components/KitProvider/index.tsx @@ -1,16 +1,14 @@ -import React, { useState, useEffect } from 'react' -import type { ComponentProps } from 'react' import { sequence } from '0xsequence' -import { GoogleOAuthProvider } from '@react-oauth/google' import { Box, Button, Card, Collapsible, Modal, Text, ThemeProvider } from '@0xsequence/design-system' +import { GoogleOAuthProvider } from '@react-oauth/google' +import { ethers } from 'ethers' import { AnimatePresence } from 'framer-motion' +import type { ComponentProps } from 'react' +import React, { useState, useEffect } from 'react' import { Connector, useAccount, useConfig, useConnections } from 'wagmi' -import { ethers } from 'ethers' import '@0xsequence/design-system/styles.css' -import { ConnectWalletContent } from './ConnectWalletContent' -import { SequenceLogo } from './SequenceLogo' import { DEFAULT_SESSION_EXPIRATION, LocalStorageKey } from '../../constants' import { KitConfigContextProvider, @@ -19,13 +17,14 @@ import { WalletConfigContextProvider, AnalyticsContextProvider } from '../../contexts' -import { ExtendedConnector, ModalPosition, getModalPositionCss } from '../../utils' - import { useWaasConfirmationHandler } from '../../hooks/useWaasConfirmationHandler' - -import { TxnDetails } from '../TxnDetails' +import { ExtendedConnector, ModalPosition, getModalPositionCss } from '../../utils' import { setStorageItem } from '../../utils/storage' +import { TxnDetails } from '../TxnDetails' + +import { ConnectWalletContent } from './ConnectWalletContent' import { NetworkBadge } from './NetworkBadge' +import { SequenceLogo } from './SequenceLogo' export declare const THEME: readonly ['dark', 'light'] export declare type Theme = Exclude['theme'], undefined> diff --git a/packages/kit/src/components/TxnDetails/index.tsx b/packages/kit/src/components/TxnDetails/index.tsx index 08459b01..ebfe4c52 100644 --- a/packages/kit/src/components/TxnDetails/index.tsx +++ b/packages/kit/src/components/TxnDetails/index.tsx @@ -1,16 +1,14 @@ +import { commons } from '@0xsequence/core' import { Box, Card, GradientAvatar, Skeleton, Text, TokenImage } from '@0xsequence/design-system' - -import React, { useEffect, useState } from 'react' - +import { ContractType } from '@0xsequence/indexer' +import { useTokenMetadata, useBalances } from '@0xsequence/kit' import { ethers } from 'ethers' +import React, { useEffect, useState } from 'react' import { useConfig } from 'wagmi' -import { useTokenMetadata, useBalances } from '@0xsequence/kit' +import { useAPIClient } from '../../hooks' import { capitalize, compareAddress, getNativeTokenInfoByChainId } from '../../utils' -import { commons } from '@0xsequence/core' import { DecodingType, TransferProps, AwardItemProps, decodeTransactions } from '../../utils/txnDecoding' -import { ContractType } from '@0xsequence/indexer' -import { useAPIClient } from '../../hooks' import { CollectibleTileImage } from '../KitProvider/CollectibleTileImage' interface TxnDetailsProps { @@ -95,17 +93,13 @@ const TransferItemInfo = ({ address, transferProps, chainId }: TransferItemInfoP const isNFT = transferProps[0]?.contractType === ContractType.ERC1155 || transferProps[0]?.contractType === ContractType.ERC721 const nativeTokenInfo = getNativeTokenInfoByChainId(chainId, chains) - const { data: balances = [], isPending: isPendingBalances } = useBalances({ + const { data: balances = [] } = useBalances({ chainIds: [chainId], accountAddress: address, contractAddress }) - const { data: tokenMetadata, isPending: isPendingTokenMetadata } = useTokenMetadata( - chainId, - contractAddress, - transferProps[0]?.tokenIds ?? [] - ) + const { data: tokenMetadata } = useTokenMetadata(chainId, contractAddress, transferProps[0]?.tokenIds ?? []) const tokenBalance = contractAddress ? balances.find(b => compareAddress(b.contractAddress, contractAddress)) : undefined const decimals = isNativeCoin ? nativeTokenInfo.decimals : tokenBalance?.contractInfo?.decimals || 18 @@ -118,8 +112,6 @@ const TransferItemInfo = ({ address, transferProps, chainId }: TransferItemInfoP const name = isNativeCoin ? nativeTokenInfo.name : isNFT ? tokenMetadata?.[0]?.name : tokenBalance?.contractInfo?.name || '' const symbol = isNativeCoin ? nativeTokenInfo.symbol : isNFT ? '' : tokenBalance?.contractInfo?.symbol || '' - const formattedBalance = tokenBalance !== undefined ? ethers.utils.formatUnits(tokenBalance.balance, decimals) : '' - const amountSending = transferProps[0]?.amounts?.[0] ?? transferProps[0]?.value const showSquareImage = isNFT diff --git a/packages/kit/src/contexts/ConnectModal.ts b/packages/kit/src/contexts/ConnectModal.ts index 42de3ac1..8cc71438 100644 --- a/packages/kit/src/contexts/ConnectModal.ts +++ b/packages/kit/src/contexts/ConnectModal.ts @@ -1,4 +1,5 @@ import React from 'react' + import { createGenericContext } from '../utils' type ConnectModalContext = { diff --git a/packages/kit/src/contexts/KitConfig.ts b/packages/kit/src/contexts/KitConfig.ts index f9b777a5..e06f20db 100644 --- a/packages/kit/src/contexts/KitConfig.ts +++ b/packages/kit/src/contexts/KitConfig.ts @@ -1,4 +1,4 @@ -import { createGenericContext } from '../utils' import { KitConfig } from '../components/KitProvider' +import { createGenericContext } from '../utils' export const [useKitConfig, KitConfigContextProvider] = createGenericContext() diff --git a/packages/kit/src/contexts/Theme.ts b/packages/kit/src/contexts/Theme.ts index c18ed64a..062bf88d 100644 --- a/packages/kit/src/contexts/Theme.ts +++ b/packages/kit/src/contexts/Theme.ts @@ -1,4 +1,5 @@ import React from 'react' + import { Theme } from '../index' import { createGenericContext, ModalPosition } from '../utils' diff --git a/packages/kit/src/contexts/WalletSettings.ts b/packages/kit/src/contexts/WalletSettings.ts index e5ace070..928eea92 100644 --- a/packages/kit/src/contexts/WalletSettings.ts +++ b/packages/kit/src/contexts/WalletSettings.ts @@ -1,6 +1,7 @@ import React from 'react' -import { createGenericContext } from '../utils' + import { DisplayedAsset } from '../components/KitProvider' +import { createGenericContext } from '../utils' type WalletConfigContext = { setDisplayedAssets: React.Dispatch> diff --git a/packages/kit/src/hooks/data.ts b/packages/kit/src/hooks/data.ts index e4f9d553..bd0c458b 100644 --- a/packages/kit/src/hooks/data.ts +++ b/packages/kit/src/hooks/data.ts @@ -1,13 +1,13 @@ import { SequenceAPIClient, Token } from '@0xsequence/api' +import { ContractType, Page, SequenceIndexer, TokenBalance } from '@0xsequence/indexer' import { useInfiniteQuery, useQuery } from '@tanstack/react-query' +import { zeroAddress } from 'viem' + +import { compareAddress } from '../utils/helpers' -import { useMetadataClient } from './useMetadataClient' import { useAPIClient } from './useAPIClient' import { useIndexerClient, useIndexerClients } from './useIndexerClient' -import { ContractType, Page, SequenceIndexer, TokenBalance } from '@0xsequence/indexer' - -import { zeroAddress } from 'viem' -import { compareAddress } from '../utils/helpers' +import { useMetadataClient } from './useMetadataClient' export const time = { oneSecond: 1 * 1000, diff --git a/packages/kit/src/hooks/useAPIClient.ts b/packages/kit/src/hooks/useAPIClient.ts index c7bfc53d..5280df84 100644 --- a/packages/kit/src/hooks/useAPIClient.ts +++ b/packages/kit/src/hooks/useAPIClient.ts @@ -1,6 +1,7 @@ +import { SequenceAPIClient } from '@0xsequence/api' import { useMemo } from 'react' + import { useProjectAccessKey } from './useProjectAccessKey' -import { SequenceAPIClient } from '@0xsequence/api' export const useAPIClient = () => { const projectAccessKey = useProjectAccessKey() diff --git a/packages/kit/src/hooks/useIndexerClient.ts b/packages/kit/src/hooks/useIndexerClient.ts index 142b939a..59081600 100644 --- a/packages/kit/src/hooks/useIndexerClient.ts +++ b/packages/kit/src/hooks/useIndexerClient.ts @@ -1,8 +1,8 @@ -import { useMemo } from 'react' -import { useProjectAccessKey } from './useProjectAccessKey' import { SequenceIndexer } from '@0xsequence/indexer' import { ChainId, indexerURL, networks } from '@0xsequence/network' -import { useConfig } from 'wagmi' +import { useMemo } from 'react' + +import { useProjectAccessKey } from './useProjectAccessKey' export const useIndexerClient = (chainId: ChainId) => { const projectAccessKey = useProjectAccessKey() diff --git a/packages/kit/src/hooks/useMetadataClient.ts b/packages/kit/src/hooks/useMetadataClient.ts index 830713a0..1a877f7b 100644 --- a/packages/kit/src/hooks/useMetadataClient.ts +++ b/packages/kit/src/hooks/useMetadataClient.ts @@ -1,7 +1,8 @@ import { SequenceMetadata } from '@0xsequence/metadata' -import { useProjectAccessKey } from './useProjectAccessKey' import { useMemo } from 'react' +import { useProjectAccessKey } from './useProjectAccessKey' + export const useMetadataClient = () => { const projectAccessKey = useProjectAccessKey() diff --git a/packages/kit/src/hooks/useOpenConnectModal.ts b/packages/kit/src/hooks/useOpenConnectModal.ts index 92fc9c51..2d19396b 100644 --- a/packages/kit/src/hooks/useOpenConnectModal.ts +++ b/packages/kit/src/hooks/useOpenConnectModal.ts @@ -1,4 +1,3 @@ -import React, { useContext } from 'react' import { useConnectModalContext } from '../contexts/ConnectModal' export const useOpenConnectModal = () => { diff --git a/packages/kit/src/hooks/useTheme.ts b/packages/kit/src/hooks/useTheme.ts index b3e5e1e7..0e748091 100644 --- a/packages/kit/src/hooks/useTheme.ts +++ b/packages/kit/src/hooks/useTheme.ts @@ -1,4 +1,3 @@ -import React from 'react' import { useThemeContext } from '../contexts/Theme' export const useTheme = () => { diff --git a/packages/kit/src/hooks/useWaasConfirmationHandler.ts b/packages/kit/src/hooks/useWaasConfirmationHandler.ts index b0181d56..45534098 100644 --- a/packages/kit/src/hooks/useWaasConfirmationHandler.ts +++ b/packages/kit/src/hooks/useWaasConfirmationHandler.ts @@ -1,5 +1,6 @@ import { commons } from '@0xsequence/core' import { useState, useEffect } from 'react' + import { Deferred } from '../utils/deferred' let _pendingConfirmation: Deferred<{ id: string; confirmed: boolean }> | undefined diff --git a/packages/kit/src/hooks/useWaasEmailAuth.ts b/packages/kit/src/hooks/useWaasEmailAuth.ts index 2dc921e0..d29ea259 100644 --- a/packages/kit/src/hooks/useWaasEmailAuth.ts +++ b/packages/kit/src/hooks/useWaasEmailAuth.ts @@ -1,4 +1,5 @@ import { useState } from 'react' + import { ExtendedConnector } from '../utils' export function useEmailAuth({ connector, onSuccess }: { connector?: ExtendedConnector; onSuccess: (idToken: string) => void }) { @@ -7,8 +8,8 @@ export function useEmailAuth({ connector, onSuccess }: { connector?: ExtendedCon inProgress: false, loading: false, error: undefined, - initiateAuth: async (email: string) => {}, - sendChallengeAnswer: async (answer: string) => {} + initiateAuth: async (_email: string) => {}, + sendChallengeAnswer: async (_answer: string) => {} } } diff --git a/packages/kit/src/hooks/useWaasFeeOptions.ts b/packages/kit/src/hooks/useWaasFeeOptions.ts index a7fd6932..29cb97f0 100644 --- a/packages/kit/src/hooks/useWaasFeeOptions.ts +++ b/packages/kit/src/hooks/useWaasFeeOptions.ts @@ -1,8 +1,9 @@ -import { useState, useEffect } from 'react' -import { Deferred } from '../utils/deferred' -import { Connector, useConnections } from 'wagmi' import { FeeOption } from '@0xsequence/waas' import { ethers } from 'ethers' +import { useState, useEffect } from 'react' +import { Connector, useConnections } from 'wagmi' + +import { Deferred } from '../utils/deferred' // null means it's native token let _pendingFeeConfirmation: Deferred<{ id: string; feeTokenAddress?: string | null; confirmed: boolean }> | undefined diff --git a/packages/kit/src/utils/ethAuth.ts b/packages/kit/src/utils/ethAuth.ts index 639e7131..3898a5ec 100644 --- a/packages/kit/src/utils/ethAuth.ts +++ b/packages/kit/src/utils/ethAuth.ts @@ -1,17 +1,16 @@ +import { sequence } from '0xsequence' import { ETHAuthProof } from '@0xsequence/auth' import { ETHAuth, Proof } from '@0xsequence/ethauth' -import { sequence } from '0xsequence' -import { Storage, UsePublicClientReturnType, useConfig } from 'wagmi' +import { UsePublicClientReturnType } from 'wagmi' import { GetWalletClientData } from 'wagmi/query' -import { publicClientToProvider, walletClientToSigner } from './adapters' - -import { LocalStorageKey, DEFAULT_SESSION_EXPIRATION } from '../constants' import { EthAuthSettings } from '../components/KitProvider' +import { LocalStorageKey, DEFAULT_SESSION_EXPIRATION } from '../constants' + +import { publicClientToProvider, walletClientToSigner } from './adapters' import { getStorageItem } from './storage' export const signEthAuthProof = async (walletClient: GetWalletClientData): Promise => { - const wagmiConfig = useConfig() const proofInformation = getStorageItem(LocalStorageKey.EthAuthProof) as ETHAuthProof | undefined // if proof information was generated and saved upon wallet connection, use that diff --git a/packages/kit/src/utils/getKitConnectWallets.ts b/packages/kit/src/utils/getKitConnectWallets.ts index 72aadadf..b18ffb0a 100644 --- a/packages/kit/src/utils/getKitConnectWallets.ts +++ b/packages/kit/src/utils/getKitConnectWallets.ts @@ -1,7 +1,7 @@ +import { LogoProps } from '@0xsequence/kit-connectors' import React from 'react' import { Connector, CreateConnectorFn } from 'wagmi' -import { LogoProps } from '@0xsequence/kit-connectors' export interface WalletProperties { id: string diff --git a/packages/wallet/src/contexts/Navigation.tsx b/packages/wallet/src/contexts/Navigation.tsx index bf16e5c3..be9b06bb 100644 --- a/packages/wallet/src/contexts/Navigation.tsx +++ b/packages/wallet/src/contexts/Navigation.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Transaction } from '@0xsequence/indexer' + import { createGenericContext } from '../utils/genericContext' export interface CollectionDetailsParams { diff --git a/packages/wallet/src/contexts/WalletModal.tsx b/packages/wallet/src/contexts/WalletModal.tsx index 930cf8d9..d1927fe3 100644 --- a/packages/wallet/src/contexts/WalletModal.tsx +++ b/packages/wallet/src/contexts/WalletModal.tsx @@ -1,4 +1,5 @@ import React from 'react' + import { createGenericContext } from '../utils/genericContext' type WalletModalContext = { diff --git a/packages/wallet/src/hooks/data.ts b/packages/wallet/src/hooks/data.ts index a93e2710..f5bda6a2 100644 --- a/packages/wallet/src/hooks/data.ts +++ b/packages/wallet/src/hooks/data.ts @@ -1,4 +1,5 @@ -import { useQuery } from '@tanstack/react-query' +import { SequenceAPIClient, TokenPrice } from '@0xsequence/api' +import { Transaction, TokenBalance, SequenceIndexer } from '@0xsequence/indexer' import { getTransactionHistory, useAPIClient, @@ -10,9 +11,8 @@ import { getCollectionBalance, useMetadataClient } from '@0xsequence/kit' -import { Transaction, TokenBalance, SequenceIndexer } from '@0xsequence/indexer' import { GetContractInfoBatchReturn, SequenceMetadata } from '@0xsequence/metadata' -import { SequenceAPIClient, TokenPrice } from '@0xsequence/api' +import { useQuery } from '@tanstack/react-query' import { ethers } from 'ethers' import { compareAddress, sampleSize, sortBalancesByType } from '../utils' @@ -95,7 +95,7 @@ export const getBalancesAssetsSummary = async ( tokenBalances = ( await Promise.all([ ...indexerClientsArr.map(([chainId, indexerClient]) => getNativeTokenBalance(indexerClient, chainId, accountAddress)), - ...indexerClientsArr.map(([chainId, indexerClient]) => + ...indexerClientsArr.map(([_chainId, indexerClient]) => getTokenBalances(indexerClient, { accountAddress, hideCollectibles, @@ -109,7 +109,7 @@ export const getBalancesAssetsSummary = async ( const { nativeTokens, erc20Tokens, collectibles: collectionBalances } = sortBalancesByType(tokenBalances) - const fetchPricesPromise: Promise = new Promise(async (resolve, reject) => { + const fetchPricesPromise: Promise = new Promise(async resolve => { if (erc20Tokens.length > 0) { const tokens = erc20Tokens.map(token => ({ chainId: token.chainId, diff --git a/packages/wallet/src/hooks/useNavigation.ts b/packages/wallet/src/hooks/useNavigation.ts index e113f829..4d0984b4 100644 --- a/packages/wallet/src/hooks/useNavigation.ts +++ b/packages/wallet/src/hooks/useNavigation.ts @@ -1,6 +1,4 @@ -import React, { useContext } from 'react' -import { useNavigationContext, Navigation, History, BasicNavigation } from '../contexts/Navigation' -import { useOpenWalletModal } from './useOpenWalletModal' +import { useNavigationContext, Navigation, History } from '../contexts/Navigation' interface UseNavigation { setNavigation: (navigation: Navigation) => void diff --git a/packages/wallet/src/hooks/useOpenWalletModal.ts b/packages/wallet/src/hooks/useOpenWalletModal.ts index df467944..b4b13e49 100644 --- a/packages/wallet/src/hooks/useOpenWalletModal.ts +++ b/packages/wallet/src/hooks/useOpenWalletModal.ts @@ -1,4 +1,3 @@ -import { useContext } from 'react' import { useWalletModalContext } from '../contexts/WalletModal' export const useOpenWalletModal = () => { diff --git a/packages/wallet/src/hooks/useSettings.ts b/packages/wallet/src/hooks/useSettings.ts index 29849f1c..6e7804b2 100644 --- a/packages/wallet/src/hooks/useSettings.ts +++ b/packages/wallet/src/hooks/useSettings.ts @@ -1,6 +1,7 @@ import { LocalStorageKey } from '@0xsequence/kit' import { useState } from 'react' import { useConfig } from 'wagmi' + import { FiatCurrency, defaultFiatCurrency } from '../constants' interface Settings { diff --git a/packages/wallet/src/shared/CoinRow.tsx b/packages/wallet/src/shared/CoinRow.tsx index a50b0fb4..34e5a784 100644 --- a/packages/wallet/src/shared/CoinRow.tsx +++ b/packages/wallet/src/shared/CoinRow.tsx @@ -1,6 +1,6 @@ -import React from 'react' -import { ethers } from 'ethers' import { Box, Skeleton, Text, TokenImage } from '@0xsequence/design-system' +import { ethers } from 'ethers' +import React from 'react' import { formatDisplay, getPercentageColor } from '../utils' diff --git a/packages/wallet/src/shared/CollectibleTileImage.tsx b/packages/wallet/src/shared/CollectibleTileImage.tsx index 6041f8bc..03a8898e 100644 --- a/packages/wallet/src/shared/CollectibleTileImage.tsx +++ b/packages/wallet/src/shared/CollectibleTileImage.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Card, Image } from '@0xsequence/design-system' +import React from 'react' interface CollectibleTileImageProps { imageUrl?: string diff --git a/packages/wallet/src/shared/CopyButton.tsx b/packages/wallet/src/shared/CopyButton.tsx index 44dc11c3..54b76126 100644 --- a/packages/wallet/src/shared/CopyButton.tsx +++ b/packages/wallet/src/shared/CopyButton.tsx @@ -1,4 +1,4 @@ -import { Button, CopyIcon, CheckmarkIcon, Icon, IconButton, vars } from '@0xsequence/design-system' +import { Button, CopyIcon, CheckmarkIcon, IconButton, vars } from '@0xsequence/design-system' import React, { useEffect, useState, ComponentProps } from 'react' import { CopyToClipboard } from 'react-copy-to-clipboard' diff --git a/packages/wallet/src/shared/DefaultIcon.tsx b/packages/wallet/src/shared/DefaultIcon.tsx index fdde5359..35bc38dc 100644 --- a/packages/wallet/src/shared/DefaultIcon.tsx +++ b/packages/wallet/src/shared/DefaultIcon.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Box, Text } from '@0xsequence/design-system' +import React from 'react' interface DefaultIconProps { size?: number diff --git a/packages/wallet/src/shared/KitWalletProvider/index.tsx b/packages/wallet/src/shared/KitWalletProvider/index.tsx index 497f0a3e..de9aa9a8 100644 --- a/packages/wallet/src/shared/KitWalletProvider/index.tsx +++ b/packages/wallet/src/shared/KitWalletProvider/index.tsx @@ -1,15 +1,13 @@ -import { ethers } from 'ethers' -import React, { useState, useEffect } from 'react' -import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { Box, Modal, ThemeProvider, Scroll } from '@0xsequence/design-system' import { getModalPositionCss, useTheme } from '@0xsequence/kit' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { AnimatePresence } from 'framer-motion' +import React, { useState, useEffect } from 'react' -import { getHeader, getContent } from './utils' - +import { HEADER_HEIGHT } from '../../constants' import { History, Navigation, NavigationContextProvider, WalletModalContextProvider } from '../../contexts' -import { HEADER_HEIGHT } from '../../constants' +import { getHeader, getContent } from './utils' import '@0xsequence/design-system/styles.css' diff --git a/packages/wallet/src/shared/KitWalletProvider/utils/index.tsx b/packages/wallet/src/shared/KitWalletProvider/utils/index.tsx index d25f7a7c..2f0dacd0 100644 --- a/packages/wallet/src/shared/KitWalletProvider/utils/index.tsx +++ b/packages/wallet/src/shared/KitWalletProvider/utils/index.tsx @@ -1,4 +1,6 @@ import React from 'react' + +import { Navigation } from '../../../contexts' import { CoinDetails, CollectibleDetails, @@ -16,9 +18,8 @@ import { SettingsGeneral, TransactionDetails } from '../../../views' -import { WalletHeader } from '../../WalletHeader' import { NavigationHeader } from '../../NavigationHeader' -import { Navigation } from '../../../contexts' +import { WalletHeader } from '../../WalletHeader' export const getContent = (navigation: Navigation) => { const { location } = navigation diff --git a/packages/wallet/src/shared/Loader.tsx b/packages/wallet/src/shared/Loader.tsx index 02ffd65a..bfd55f0f 100644 --- a/packages/wallet/src/shared/Loader.tsx +++ b/packages/wallet/src/shared/Loader.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Box, Spinner } from '@0xsequence/design-system' +import React from 'react' export const Loader = () => { return ( diff --git a/packages/wallet/src/shared/NavigationHeader/index.tsx b/packages/wallet/src/shared/NavigationHeader/index.tsx index ed4fcfae..abd10d80 100644 --- a/packages/wallet/src/shared/NavigationHeader/index.tsx +++ b/packages/wallet/src/shared/NavigationHeader/index.tsx @@ -1,8 +1,8 @@ +import { Box, IconButton, ChevronLeftIcon, Text } from '@0xsequence/design-system' import React from 'react' -import { Box, IconButton, ChevronLeftIcon, Text, vars } from '@0xsequence/design-system' -import { useNavigation } from '../../hooks/useNavigation' + import { HEADER_HEIGHT } from '../../constants' -import { Navigation } from '../../contexts/Navigation' +import { useNavigation } from '../../hooks/useNavigation' interface NavigationHeaderProps { primaryText?: string diff --git a/packages/wallet/src/shared/NetworkBadge.tsx b/packages/wallet/src/shared/NetworkBadge.tsx index 0a2f9c3c..f4ed57ef 100644 --- a/packages/wallet/src/shared/NetworkBadge.tsx +++ b/packages/wallet/src/shared/NetworkBadge.tsx @@ -1,7 +1,6 @@ -import React from 'react' import { Box, NetworkImage, Text } from '@0xsequence/design-system' -import { getNativeTokenInfoByChainId, getNetwork, getNetworkColor, getNetworkBackgroundColor } from '@0xsequence/kit' -import { useConfig } from 'wagmi' +import { getNetwork, getNetworkColor, getNetworkBackgroundColor } from '@0xsequence/kit' +import React from 'react' import { capitalize } from '../utils' @@ -10,9 +9,7 @@ interface NetworkBadgeProps { } export const NetworkBadge = ({ chainId }: NetworkBadgeProps) => { - const { chains } = useConfig() const network = getNetwork(chainId) - const nativeTokenInfo = getNativeTokenInfoByChainId(chainId, chains) const chainColor = getNetworkColor(chainId) const chainBGColor = getNetworkBackgroundColor(chainId) diff --git a/packages/wallet/src/shared/SelectButton/SelectedIndicator.tsx b/packages/wallet/src/shared/SelectButton/SelectedIndicator.tsx index a7e54f4e..4f6d20a9 100644 --- a/packages/wallet/src/shared/SelectButton/SelectedIndicator.tsx +++ b/packages/wallet/src/shared/SelectButton/SelectedIndicator.tsx @@ -1,6 +1,6 @@ -import React from 'react' import { Box, CheckmarkIcon, vars } from '@0xsequence/design-system' import { motion } from 'framer-motion' +import React from 'react' interface SelectedIndicatorProps { selected: boolean diff --git a/packages/wallet/src/shared/SendItemInfo.tsx b/packages/wallet/src/shared/SendItemInfo.tsx index 13f755b0..3ecbce14 100644 --- a/packages/wallet/src/shared/SendItemInfo.tsx +++ b/packages/wallet/src/shared/SendItemInfo.tsx @@ -1,11 +1,10 @@ -import React from 'react' -import { ethers } from 'ethers' -import { useConfig } from 'wagmi' import { Box, NetworkImage, Skeleton, Text, TokenImage } from '@0xsequence/design-system' +import { ethers } from 'ethers' +import React from 'react' -import { formatDisplay } from '../utils' import { useSettings } from '../hooks' import { CollectibleTileImage } from '../shared/CollectibleTileImage' +import { formatDisplay } from '../utils' interface SendItemInfoProps { name: string @@ -46,7 +45,6 @@ export const SendItemInfo = ({ chainId, showSquareImage }: SendItemInfoProps) => { - const { chains } = useConfig() const { fiatCurrency } = useSettings() const formattedBalance = ethers.utils.formatUnits(balance, decimals) const balanceDisplayed = formatDisplay(formattedBalance) diff --git a/packages/wallet/src/shared/TransactionHistoryList/TransactionHistoryItem.tsx b/packages/wallet/src/shared/TransactionHistoryList/TransactionHistoryItem.tsx index 0a60886d..e312a0a9 100644 --- a/packages/wallet/src/shared/TransactionHistoryList/TransactionHistoryItem.tsx +++ b/packages/wallet/src/shared/TransactionHistoryList/TransactionHistoryItem.tsx @@ -1,10 +1,10 @@ -import React from 'react' import { TokenPrice } from '@0xsequence/api' -import { ethers } from 'ethers' +import { ArrowRightIcon, Box, Text, Image, TransactionIcon, vars, Skeleton, NetworkImage } from '@0xsequence/design-system' import { Transaction, TxnTransfer, TxnTransferType } from '@0xsequence/indexer' import { getNativeTokenInfoByChainId, useCoinPrices, useExchangeRate } from '@0xsequence/kit' -import { ArrowRightIcon, Box, Text, Image, TransactionIcon, vars, Skeleton, NetworkImage } from '@0xsequence/design-system' import dayjs from 'dayjs' +import { ethers } from 'ethers' +import React from 'react' import { useConfig } from 'wagmi' import { useSettings, useNavigation } from '../../hooks' @@ -50,8 +50,6 @@ export const TransactionHistoryItem = ({ transaction }: TransactionHistoryItemPr const { transfers } = transaction - const nativeTokenInfo = getNativeTokenInfoByChainId(transaction.chainId, chains) - const getTransactionIconByType = (transferType: TxnTransferType) => { switch (transferType) { case TxnTransferType.SEND: diff --git a/packages/wallet/src/shared/TransactionHistoryList/TransactionHistorySkeleton.tsx b/packages/wallet/src/shared/TransactionHistoryList/TransactionHistorySkeleton.tsx index f800bd07..5a34e237 100644 --- a/packages/wallet/src/shared/TransactionHistoryList/TransactionHistorySkeleton.tsx +++ b/packages/wallet/src/shared/TransactionHistoryList/TransactionHistorySkeleton.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Box, Skeleton } from '@0xsequence/design-system' +import React from 'react' export const TransactionHistorySkeleton = () => { const getTransactionItem = () => { diff --git a/packages/wallet/src/shared/TransactionHistoryList/index.tsx b/packages/wallet/src/shared/TransactionHistoryList/index.tsx index d8d1021f..a91766f9 100644 --- a/packages/wallet/src/shared/TransactionHistoryList/index.tsx +++ b/packages/wallet/src/shared/TransactionHistoryList/index.tsx @@ -1,9 +1,8 @@ -import React, { useMemo } from 'react' +import { Box, Spinner, Text } from '@0xsequence/design-system' import { Transaction } from '@0xsequence/indexer' +import React, { useMemo } from 'react' import { TransactionHistoryItem } from './TransactionHistoryItem' -import { Box, Spinner, Text } from '@0xsequence/design-system' - import { TransactionHistorySkeleton } from './TransactionHistorySkeleton' interface TransactionHistoryListProps { diff --git a/packages/wallet/src/shared/WalletHeader/components/AccountInformation.tsx b/packages/wallet/src/shared/WalletHeader/components/AccountInformation.tsx index bac60bfe..ee17765f 100644 --- a/packages/wallet/src/shared/WalletHeader/components/AccountInformation.tsx +++ b/packages/wallet/src/shared/WalletHeader/components/AccountInformation.tsx @@ -1,7 +1,5 @@ -import React, { forwardRef } from 'react' - import { Box, Text, GradientAvatar, ChevronDownIcon } from '@0xsequence/design-system' - +import React, { forwardRef } from 'react' import { useAccount } from 'wagmi' import { formatAddress } from '../../../utils' diff --git a/packages/wallet/src/shared/WalletHeader/components/WalletDropdownContent.tsx b/packages/wallet/src/shared/WalletHeader/components/WalletDropdownContent.tsx index fbb6bd66..2cd31394 100644 --- a/packages/wallet/src/shared/WalletHeader/components/WalletDropdownContent.tsx +++ b/packages/wallet/src/shared/WalletHeader/components/WalletDropdownContent.tsx @@ -1,6 +1,3 @@ -import React, { forwardRef, useEffect, useRef, useState } from 'react' -import { useDisconnect, useAccount } from 'wagmi' - import { Box, Button, @@ -15,11 +12,13 @@ import { vars } from '@0xsequence/design-system' import { useTheme } from '@0xsequence/kit' +import React, { forwardRef } from 'react' +import { useDisconnect, useAccount } from 'wagmi' import { useNavigation } from '../../../hooks' import { useOpenWalletModal } from '../../../hooks/useOpenWalletModal' -import { CopyButton } from '../../CopyButton' import { formatAddress } from '../../../utils' +import { CopyButton } from '../../CopyButton' interface WalletDropdownContentProps { setOpenWalletDropdown: React.Dispatch> diff --git a/packages/wallet/src/shared/WalletHeader/index.tsx b/packages/wallet/src/shared/WalletHeader/index.tsx index a3ec06ca..4611ac27 100644 --- a/packages/wallet/src/shared/WalletHeader/index.tsx +++ b/packages/wallet/src/shared/WalletHeader/index.tsx @@ -1,14 +1,14 @@ -import React, { useState, useRef, useEffect } from 'react' -import { Box, ChevronLeftIcon, IconButton, SearchIcon, vars } from '@0xsequence/design-system' +import { Box, ChevronLeftIcon, IconButton, SearchIcon } from '@0xsequence/design-system' import * as PopoverPrimitive from '@radix-ui/react-popover' import { AnimatePresence, motion } from 'framer-motion' - -import { AccountInformation } from './components/AccountInformation' -import { WalletDropdownContent } from './components/WalletDropdownContent' +import React, { useState, useRef, useEffect } from 'react' import { HEADER_HEIGHT } from '../../constants' import { useNavigation, useOpenWalletModal } from '../../hooks' +import { AccountInformation } from './components/AccountInformation' +import { WalletDropdownContent } from './components/WalletDropdownContent' + export const WalletHeader = () => { const { openWalletModalState } = useOpenWalletModal() diff --git a/packages/wallet/src/utils/networks.ts b/packages/wallet/src/utils/networks.ts index 1c8a22f4..52628d78 100644 --- a/packages/wallet/src/utils/networks.ts +++ b/packages/wallet/src/utils/networks.ts @@ -1,4 +1,5 @@ import { NetworkConfig } from '@0xsequence/network' + import { capitalize } from './helpers' export const getPaperNetworkName = (network: NetworkConfig): string => { diff --git a/packages/wallet/src/utils/tokens.ts b/packages/wallet/src/utils/tokens.ts index dd920513..3b29990c 100644 --- a/packages/wallet/src/utils/tokens.ts +++ b/packages/wallet/src/utils/tokens.ts @@ -1,9 +1,8 @@ -import { ethers } from 'ethers' -import { TokenBalance, GetTransactionHistoryReturn, Transaction } from '@0xsequence/indexer' import { TokenPrice } from '@0xsequence/api' -import { InfiniteData } from '@tanstack/react-query' - import { vars } from '@0xsequence/design-system' +import { TokenBalance, GetTransactionHistoryReturn, Transaction } from '@0xsequence/indexer' +import { InfiniteData } from '@tanstack/react-query' +import { ethers } from 'ethers' import { compareAddress } from './helpers' diff --git a/packages/wallet/src/views/CoinDetails/Skeleton.tsx b/packages/wallet/src/views/CoinDetails/Skeleton.tsx index 255f5a25..caec2e3d 100644 --- a/packages/wallet/src/views/CoinDetails/Skeleton.tsx +++ b/packages/wallet/src/views/CoinDetails/Skeleton.tsx @@ -1,19 +1,15 @@ -import React from 'react' import { Box, Button, SendIcon, Skeleton, Text } from '@0xsequence/design-system' - -import { TransactionHistorySkeleton } from '../../shared/TransactionHistoryList/TransactionHistorySkeleton' -import { NetworkBadge } from '../../shared/NetworkBadge' +import React from 'react' import { HEADER_HEIGHT } from '../../constants' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' +import { NetworkBadge } from '../../shared/NetworkBadge' +import { TransactionHistorySkeleton } from '../../shared/TransactionHistoryList/TransactionHistorySkeleton' interface CoinDetailsSkeletonProps { chainId: number } export const CoinDetailsSkeleton = ({ chainId }: CoinDetailsSkeletonProps) => { - const scrollbarWidth = useScrollbarWidth() - return ( diff --git a/packages/wallet/src/views/CoinDetails/index.tsx b/packages/wallet/src/views/CoinDetails/index.tsx index af6f97b6..6a24d007 100644 --- a/packages/wallet/src/views/CoinDetails/index.tsx +++ b/packages/wallet/src/views/CoinDetails/index.tsx @@ -1,5 +1,3 @@ -import React from 'react' -import { ethers } from 'ethers' import { Box, Button, Image, SendIcon, Text } from '@0xsequence/design-system' import { getNativeTokenInfoByChainId, @@ -8,18 +6,18 @@ import { useTransactionHistory, useCoinBalance } from '@0xsequence/kit' - +import { ethers } from 'ethers' +import React from 'react' import { useAccount, useConfig } from 'wagmi' -import { CoinDetailsSkeleton } from './Skeleton' - +import { HEADER_HEIGHT } from '../../constants' +import { useSettings, useNavigation } from '../../hooks' import { InfiniteScroll } from '../../shared/InfiniteScroll' import { NetworkBadge } from '../../shared/NetworkBadge' import { TransactionHistoryList } from '../../shared/TransactionHistoryList' -import { useSettings, useNavigation } from '../../hooks' -import { HEADER_HEIGHT } from '../../constants' import { compareAddress, computeBalanceFiat, formatDisplay, flattenPaginatedTransactionHistory } from '../../utils' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' + +import { CoinDetailsSkeleton } from './Skeleton' export interface CoinDetailsProps { contractAddress: string @@ -30,8 +28,6 @@ export const CoinDetails = ({ contractAddress, chainId }: CoinDetailsProps) => { const { chains } = useConfig() const { setNavigation } = useNavigation() const { fiatCurrency, hideUnlistedTokens } = useSettings() - const scrollbarWidth = useScrollbarWidth() - const { address: accountAddress } = useAccount() const { diff --git a/packages/wallet/src/views/CollectibleDetails/Skeleton.tsx b/packages/wallet/src/views/CollectibleDetails/Skeleton.tsx index 4122a702..fdad6edb 100644 --- a/packages/wallet/src/views/CollectibleDetails/Skeleton.tsx +++ b/packages/wallet/src/views/CollectibleDetails/Skeleton.tsx @@ -1,14 +1,10 @@ -import React from 'react' import { Box, Button, SendIcon, Skeleton, Text } from '@0xsequence/design-system' - -import { TransactionHistorySkeleton } from '../../shared/TransactionHistoryList/TransactionHistorySkeleton' +import React from 'react' import { HEADER_HEIGHT } from '../../constants' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' +import { TransactionHistorySkeleton } from '../../shared/TransactionHistoryList/TransactionHistorySkeleton' export const CollectibleDetailsSkeleton = () => { - const scrollbarWidth = useScrollbarWidth() - return ( { - const { chains } = useConfig() const { address: accountAddress } = useAccount() const { fiatCurrency } = useSettings() const { setNavigation } = useNavigation() - const scrollbarWidth = useScrollbarWidth() const { data: dataTransactionHistory, @@ -83,7 +74,6 @@ export const CollectibleDetails = ({ contractAddress, chainId, tokenId }: Collec }) } - const nativeTokenInfo = getNativeTokenInfoByChainId(chainId, chains) const collectionLogo = dataCollectibleBalance?.contractInfo?.logoURI const collectionName = dataCollectibleBalance?.contractInfo?.name || 'Unknown Collection' diff --git a/packages/wallet/src/views/CollectionDetails/Skeleton.tsx b/packages/wallet/src/views/CollectionDetails/Skeleton.tsx index 4348d8f4..21d57a1d 100644 --- a/packages/wallet/src/views/CollectionDetails/Skeleton.tsx +++ b/packages/wallet/src/views/CollectionDetails/Skeleton.tsx @@ -1,16 +1,13 @@ -import React from 'react' import { Box, Skeleton, vars } from '@0xsequence/design-system' +import React from 'react' import { NetworkBadge } from '../../shared/NetworkBadge' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' interface CollectionDetailsSkeletonProps { chainId: number } export const CollectionDetailsSkeleton = ({ chainId }: CollectionDetailsSkeletonProps) => { - const scrollbarWidth = useScrollbarWidth() - return ( { const { selectedNetworks } = useSettings() const { address: accountAddress } = useAccount() - const scrollbarWidth = useScrollbarWidth() const { data: transactionHistory = [], isPending: isPendingTransactionHistory } = useTransactionHistorySummary({ accountAddress: accountAddress || '', diff --git a/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/CoinTileContent.tsx b/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/CoinTileContent.tsx index f0ef6b8d..ca96c48e 100644 --- a/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/CoinTileContent.tsx +++ b/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/CoinTileContent.tsx @@ -1,8 +1,8 @@ +import { Box, NetworkImage, Text, TokenImage } from '@0xsequence/design-system' import React from 'react' -import { Box, NetworkIcon, NetworkImage, Text, TokenImage } from '@0xsequence/design-system' -import { getPercentageColor } from '../../../../../utils' import { useSettings } from '../../../../../hooks' +import { getPercentageColor } from '../../../../../utils' interface CoinTileContentProps { logoUrl?: string diff --git a/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/index.tsx b/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/index.tsx index 3cf16d32..85b4c3c0 100644 --- a/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/index.tsx +++ b/packages/wallet/src/views/Home/components/AssetSummary/CoinTile/index.tsx @@ -1,16 +1,15 @@ -import React from 'react' -import { ethers } from 'ethers' -import { useConfig } from 'wagmi' import { Box } from '@0xsequence/design-system' import { TokenBalance } from '@0xsequence/indexer' - -import { CoinTileContent } from './CoinTileContent' - import { getNativeTokenInfoByChainId, useContractInfo, useExchangeRate, useCoinPrices } from '@0xsequence/kit' +import { ethers } from 'ethers' +import React from 'react' +import { useConfig } from 'wagmi' -import { computeBalanceFiat, formatDisplay, getPercentagePriceChange, compareAddress } from '../../../../../utils' import { useSettings } from '../../../../../hooks' +import { computeBalanceFiat, formatDisplay, getPercentagePriceChange, compareAddress } from '../../../../../utils' + +import { CoinTileContent } from './CoinTileContent' interface CoinTileProps { balance: TokenBalance diff --git a/packages/wallet/src/views/Home/components/AssetSummary/CollectibleTile/index.tsx b/packages/wallet/src/views/Home/components/AssetSummary/CollectibleTile/index.tsx index c87a33d0..bf92bcee 100644 --- a/packages/wallet/src/views/Home/components/AssetSummary/CollectibleTile/index.tsx +++ b/packages/wallet/src/views/Home/components/AssetSummary/CollectibleTile/index.tsx @@ -1,8 +1,9 @@ -import React from 'react' import { TokenBalance } from '@0xsequence/indexer' +import { useTokenMetadata } from '@0xsequence/kit' +import React from 'react' import { CollectibleTileImage } from '../../../../../shared/CollectibleTileImage' -import { useTokenMetadata } from '@0xsequence/kit' + interface CollectibleTileProps { balance: TokenBalance diff --git a/packages/wallet/src/views/Home/components/AssetSummary/SkeletonTiles.tsx b/packages/wallet/src/views/Home/components/AssetSummary/SkeletonTiles.tsx index 76a28bca..b72c7ad8 100644 --- a/packages/wallet/src/views/Home/components/AssetSummary/SkeletonTiles.tsx +++ b/packages/wallet/src/views/Home/components/AssetSummary/SkeletonTiles.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Box, Skeleton, vars } from '@0xsequence/design-system' +import React from 'react' export const SkeletonTiles = () => { return ( diff --git a/packages/wallet/src/views/Home/components/AssetSummary/index.tsx b/packages/wallet/src/views/Home/components/AssetSummary/index.tsx index 36af9e5a..f60e6aeb 100644 --- a/packages/wallet/src/views/Home/components/AssetSummary/index.tsx +++ b/packages/wallet/src/views/Home/components/AssetSummary/index.tsx @@ -1,15 +1,16 @@ -import React from 'react' import { Box, vars } from '@0xsequence/design-system' -import { useWalletSettings } from '@0xsequence/kit' import { TokenBalance } from '@0xsequence/indexer' +import { useWalletSettings } from '@0xsequence/kit' +import React from 'react' import { useAccount } from 'wagmi' +import { useBalancesAssetsSummary, useNavigation, useSettings } from '../../../../hooks' +import { sortBalancesByType } from '../../../../utils' + import { CoinTile } from './CoinTile' import { CollectibleTile } from './CollectibleTile' import { SkeletonTiles } from './SkeletonTiles' -import { sortBalancesByType } from '../../../../utils' -import { useBalancesAssetsSummary, useNavigation, useSettings } from '../../../../hooks' export const AssetSummary = () => { const { address } = useAccount() diff --git a/packages/wallet/src/views/Home/index.tsx b/packages/wallet/src/views/Home/index.tsx index d71e1cc8..d8dfe49b 100644 --- a/packages/wallet/src/views/Home/index.tsx +++ b/packages/wallet/src/views/Home/index.tsx @@ -1,12 +1,9 @@ -import React from 'react' import { Box } from '@0xsequence/design-system' +import React from 'react' import { AssetSummary } from './components/AssetSummary' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' export const Home = () => { - const scrollbarWidth = useScrollbarWidth() - return ( diff --git a/packages/wallet/src/views/Receive.tsx b/packages/wallet/src/views/Receive.tsx index c4b9e5ee..143c0cb9 100644 --- a/packages/wallet/src/views/Receive.tsx +++ b/packages/wallet/src/views/Receive.tsx @@ -1,11 +1,12 @@ import { Box, Button, Text, CopyIcon, ShareIcon, Image } from '@0xsequence/design-system' +import { getNativeTokenInfoByChainId } from '@0xsequence/kit' +import QRCode from 'qrcode.react' import React, { useState, useEffect } from 'react' import { CopyToClipboard } from 'react-copy-to-clipboard' -import QRCode from 'qrcode.react' import { useAccount, useConfig } from 'wagmi' import { HEADER_HEIGHT } from '../constants' -import { getNativeTokenInfoByChainId } from '@0xsequence/kit' + export const Receive = () => { const { address, chain } = useAccount() diff --git a/packages/wallet/src/views/Search/SearchWallet.tsx b/packages/wallet/src/views/Search/SearchWallet.tsx index 6e56f4ad..e1d3742b 100644 --- a/packages/wallet/src/views/Search/SearchWallet.tsx +++ b/packages/wallet/src/views/Search/SearchWallet.tsx @@ -1,23 +1,21 @@ -import React, { useState } from 'react' -import { ethers } from 'ethers' import { Box, SearchIcon, Skeleton, Text, TextInput } from '@0xsequence/design-system' import { getNativeTokenInfoByChainId, useExchangeRate, useCoinPrices, useBalances } from '@0xsequence/kit' +import { ethers } from 'ethers' import Fuse from 'fuse.js' +import React, { useState } from 'react' import { useAccount, useConfig } from 'wagmi' -import { BalanceItem } from './components/BalanceItem' -import { WalletLink } from './components/WalletLink' - import { useSettings } from '../../hooks' import { compareAddress, computeBalanceFiat } from '../../utils' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' + +import { BalanceItem } from './components/BalanceItem' +import { WalletLink } from './components/WalletLink' export const SearchWallet = () => { const { chains } = useConfig() const { fiatCurrency, hideUnlistedTokens, selectedNetworks } = useSettings() const [search, setSearch] = useState('') const { address: accountAddress } = useAccount() - const scrollbarWidth = useScrollbarWidth() const { data: tokenBalancesData, isPending: isPendingTokenBalances } = useBalances({ chainIds: selectedNetworks, diff --git a/packages/wallet/src/views/Search/SearchWalletViewAll.tsx b/packages/wallet/src/views/Search/SearchWalletViewAll.tsx index ede09825..6d9558ef 100644 --- a/packages/wallet/src/views/Search/SearchWalletViewAll.tsx +++ b/packages/wallet/src/views/Search/SearchWalletViewAll.tsx @@ -1,14 +1,14 @@ -import React, { useState, useEffect } from 'react' -import { ethers } from 'ethers' import { Box, SearchIcon, Skeleton, TabsContent, TabsHeader, TabsRoot, Text, TextInput } from '@0xsequence/design-system' import { getNativeTokenInfoByChainId, useExchangeRate, useCoinPrices, useBalances } from '@0xsequence/kit' -import { BalanceItem } from './components/BalanceItem' +import { ethers } from 'ethers' import Fuse from 'fuse.js' +import React, { useState, useEffect } from 'react' import { useAccount, useConfig } from 'wagmi' import { useSettings } from '../../hooks' import { compareAddress, computeBalanceFiat } from '../../utils' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' + +import { BalanceItem } from './components/BalanceItem' interface SearchWalletViewAllProps { defaultTab: 'coins' | 'collections' @@ -19,7 +19,6 @@ export const SearchWalletViewAll = ({ defaultTab }: SearchWalletViewAllProps) => const { fiatCurrency, hideUnlistedTokens, selectedNetworks } = useSettings() const [search, setSearch] = useState('') const [selectedTab, setSelectedTab] = useState(defaultTab) - const scrollbarWidth = useScrollbarWidth() useEffect(() => { setSearch('') diff --git a/packages/wallet/src/views/Search/components/BalanceItem.tsx b/packages/wallet/src/views/Search/components/BalanceItem.tsx index 3442bf7e..0ced60fd 100644 --- a/packages/wallet/src/views/Search/components/BalanceItem.tsx +++ b/packages/wallet/src/views/Search/components/BalanceItem.tsx @@ -1,9 +1,9 @@ -import React from 'react' -import { ethers } from 'ethers' -import { useConfig } from 'wagmi' -import { Box, Image, Text, ChevronRightIcon, TokenImage, NetworkImage } from '@0xsequence/design-system' +import { Box, Text, ChevronRightIcon, TokenImage, NetworkImage } from '@0xsequence/design-system' import { TokenBalance } from '@0xsequence/indexer' import { getNativeTokenInfoByChainId } from '@0xsequence/kit' +import { ethers } from 'ethers' +import React from 'react' +import { useConfig } from 'wagmi' import { useNavigation } from '../../../hooks' import { compareAddress, formatDisplay } from '../../../utils' diff --git a/packages/wallet/src/views/Search/components/WalletLink.tsx b/packages/wallet/src/views/Search/components/WalletLink.tsx index 71c9e5e1..f64eb7fb 100644 --- a/packages/wallet/src/views/Search/components/WalletLink.tsx +++ b/packages/wallet/src/views/Search/components/WalletLink.tsx @@ -1,8 +1,8 @@ -import React from 'react' import { Box, Text, ChevronRightIcon } from '@0xsequence/design-system' -import { useNavigation } from '../../../hooks' +import React from 'react' import { Navigation } from '../../../contexts' +import { useNavigation } from '../../../hooks' interface WalletLinkProps { toLocation: Navigation diff --git a/packages/wallet/src/views/SendCoin.tsx b/packages/wallet/src/views/SendCoin.tsx index c99dcbdc..8aa6ea2e 100644 --- a/packages/wallet/src/views/SendCoin.tsx +++ b/packages/wallet/src/views/SendCoin.tsx @@ -1,5 +1,3 @@ -import React, { useState, ChangeEvent, useRef } from 'react' -import { ethers } from 'ethers' import { Box, Button, @@ -14,6 +12,7 @@ import { Spinner, Card } from '@0xsequence/design-system' +import { TokenBalance } from '@0xsequence/indexer' import { getNativeTokenInfoByChainId, useAnalyticsContext, @@ -22,12 +21,13 @@ import { useCoinPrices, useBalances } from '@0xsequence/kit' -import { TokenBalance } from '@0xsequence/indexer' +import { ethers } from 'ethers' +import React, { useState, ChangeEvent, useRef } from 'react' import { useAccount, useChainId, useSwitchChain, useConfig, useSendTransaction } from 'wagmi' -import { SendItemInfo } from '../shared/SendItemInfo' import { ERC_20_ABI, HEADER_HEIGHT } from '../constants' -import { useSettings, useOpenWalletModal, useNavigation } from '../hooks' +import { useSettings, useNavigation } from '../hooks' +import { SendItemInfo } from '../shared/SendItemInfo' import { compareAddress, computeBalanceFiat, limitDecimals, isEthAddress, truncateAtMiddle } from '../utils' interface SendCoinProps { @@ -47,7 +47,6 @@ export const SendCoin = ({ chainId, contractAddress }: SendCoinProps) => { const showSwitchNetwork = !isCorrectChainId && !isConnectorSequenceBased const { switchChainAsync } = useSwitchChain() const amountInputRef = useRef(null) - const { setOpenWalletModal } = useOpenWalletModal() const { fiatCurrency } = useSettings() const [amount, setAmount] = useState('0') const [toAddress, setToAddress] = useState('') @@ -146,7 +145,7 @@ export const SendCoin = ({ chainId, contractAddress }: SendCoinProps) => { gas: null }, { - onSettled: (result, error) => { + onSettled: result => { if (result) { setNavigation({ location: 'home' @@ -175,7 +174,7 @@ export const SendCoin = ({ chainId, contractAddress }: SendCoinProps) => { gas: null }, { - onSettled: (result, error) => { + onSettled: result => { if (result) { setNavigation({ location: 'home' diff --git a/packages/wallet/src/views/SendCollectible.tsx b/packages/wallet/src/views/SendCollectible.tsx index 426c5223..1cacdf50 100644 --- a/packages/wallet/src/views/SendCollectible.tsx +++ b/packages/wallet/src/views/SendCollectible.tsx @@ -1,5 +1,3 @@ -import React, { useRef, useState, ChangeEvent, useEffect } from 'react' -import { ethers } from 'ethers' import { Box, Button, @@ -16,13 +14,15 @@ import { Spinner, Card } from '@0xsequence/design-system' -import { getNativeTokenInfoByChainId, useAnalyticsContext, ExtendedConnector, useCollectibleBalance } from '@0xsequence/kit' import { TokenBalance } from '@0xsequence/indexer' +import { getNativeTokenInfoByChainId, useAnalyticsContext, ExtendedConnector, useCollectibleBalance } from '@0xsequence/kit' +import { ethers } from 'ethers' +import React, { useRef, useState, ChangeEvent, useEffect } from 'react' import { useAccount, useChainId, useSwitchChain, useConfig, useSendTransaction } from 'wagmi' -import { SendItemInfo } from '../shared/SendItemInfo' import { ERC_1155_ABI, ERC_721_ABI, HEADER_HEIGHT } from '../constants' -import { useNavigation, useOpenWalletModal } from '../hooks' +import { useNavigation } from '../hooks' +import { SendItemInfo } from '../shared/SendItemInfo' import { limitDecimals, isEthAddress, truncateAtMiddle } from '../utils' interface SendCollectibleProps { @@ -43,7 +43,6 @@ export const SendCollectible = ({ chainId, contractAddress, tokenId }: SendColle const showSwitchNetwork = !isCorrectChainId && !isConnectorSequenceBased const { switchChain } = useSwitchChain() const amountInputRef = useRef(null) - const { setOpenWalletModal } = useOpenWalletModal() const [amount, setAmount] = useState('0') const [toAddress, setToAddress] = useState('') const [showAmountControls, setShowAmountControls] = useState(false) @@ -163,7 +162,7 @@ export const SendCollectible = ({ chainId, contractAddress, tokenId }: SendColle gas: null }, { - onSettled: (result, error) => { + onSettled: result => { if (result) { setNavigation({ location: 'home' @@ -198,7 +197,7 @@ export const SendCollectible = ({ chainId, contractAddress, tokenId }: SendColle gas: null }, { - onSettled: (result, error) => { + onSettled: result => { if (result) { setNavigation({ location: 'home' diff --git a/packages/wallet/src/views/Settings/Currency.tsx b/packages/wallet/src/views/Settings/Currency.tsx index 15e84c74..51de8baa 100644 --- a/packages/wallet/src/views/Settings/Currency.tsx +++ b/packages/wallet/src/views/Settings/Currency.tsx @@ -1,14 +1,12 @@ +import { Box, Text } from '@0xsequence/design-system' import React from 'react' -import { Box, Text, vars } from '@0xsequence/design-system' -import { SelectButton } from '../../shared/SelectButton' import { supportedFiatCurrencies } from '../../constants' import { useSettings } from '../../hooks' -import { useScrollbarWidth } from '../../hooks/useScrollbarWidth' +import { SelectButton } from '../../shared/SelectButton' export const SettingsCurrency = () => { const { fiatCurrency, setFiatCurrency } = useSettings() - const scrollbarWidth = useScrollbarWidth() return ( diff --git a/packages/wallet/src/views/Settings/General.tsx b/packages/wallet/src/views/Settings/General.tsx index f94ce727..c5500d12 100644 --- a/packages/wallet/src/views/Settings/General.tsx +++ b/packages/wallet/src/views/Settings/General.tsx @@ -1,17 +1,17 @@ -import React from 'react' import { Box, Card, Switch, Text } from '@0xsequence/design-system' -import { useTheme } from '@0xsequence/kit' +// import { useTheme } from '@0xsequence/kit' +import React from 'react' import { HEADER_HEIGHT } from '../../constants' import { useSettings } from '../../hooks' export const SettingsGeneral = () => { - const { theme, setTheme } = useTheme() + // const { theme, setTheme } = useTheme() const { hideUnlistedTokens, setHideUnlistedTokens, hideCollectibles, setHideCollectibles } = useSettings() - const onChangeTheme = () => { - setTheme && setTheme(theme === 'light' ? 'dark' : 'light') - } + // const onChangeTheme = () => { + // setTheme && setTheme(theme === 'light' ? 'dark' : 'light') + // } const onChangeHideUnlistedTokens = () => { setHideUnlistedTokens(!hideUnlistedTokens) diff --git a/packages/wallet/src/views/Settings/Menu.tsx b/packages/wallet/src/views/Settings/Menu.tsx index b7dad02b..d9fb29c8 100644 --- a/packages/wallet/src/views/Settings/Menu.tsx +++ b/packages/wallet/src/views/Settings/Menu.tsx @@ -1,8 +1,8 @@ +import { Box, Button, SettingsIcon, ChevronRightIcon, CurrencyIcon, NetworkIcon, vars } from '@0xsequence/design-system' import React from 'react' -import { Box, Button, SettingsIcon, ChevronRightIcon, CurrencyIcon, NetworkIcon, Text, vars } from '@0xsequence/design-system' -import { useNavigation } from '../../hooks' import { HEADER_HEIGHT } from '../../constants' +import { useNavigation } from '../../hooks' export const SettingsMenu = () => { const { setNavigation } = useNavigation() diff --git a/packages/wallet/src/views/Settings/Network.tsx b/packages/wallet/src/views/Settings/Network.tsx index 3e08d470..c63eed82 100644 --- a/packages/wallet/src/views/Settings/Network.tsx +++ b/packages/wallet/src/views/Settings/Network.tsx @@ -1,11 +1,10 @@ -import React from 'react' import { Box, Text, TokenImage } from '@0xsequence/design-system' - +import React from 'react' import { useConfig } from 'wagmi' -import { SelectButton } from '../../shared/SelectButton' import { HEADER_HEIGHT } from '../../constants' import { useSettings } from '../../hooks' +import { SelectButton } from '../../shared/SelectButton' export const SettingsNetwork = () => { const { selectedNetworks, setSelectedNetworks } = useSettings() diff --git a/packages/wallet/src/views/TransactionDetails/index.tsx b/packages/wallet/src/views/TransactionDetails/index.tsx index d634185a..72b890f8 100644 --- a/packages/wallet/src/views/TransactionDetails/index.tsx +++ b/packages/wallet/src/views/TransactionDetails/index.tsx @@ -1,7 +1,4 @@ -import React from 'react' -import { ethers } from 'ethers' import { Token } from '@0xsequence/api' -import { Transaction, TxnTransfer } from '@0xsequence/indexer' import { ArrowRightIcon, Box, @@ -14,14 +11,17 @@ import { Text, TokenImage } from '@0xsequence/design-system' +import { Transaction, TxnTransfer } from '@0xsequence/indexer' import { getNativeTokenInfoByChainId, useExchangeRate, useCoinPrices, useCollectiblePrices } from '@0xsequence/kit' import dayjs from 'dayjs' +import { ethers } from 'ethers' +import React from 'react' import { useConfig } from 'wagmi' +import { useSettings } from '../../hooks' import { CopyButton } from '../../shared/CopyButton' import { NetworkBadge } from '../../shared/NetworkBadge' import { compareAddress, formatDisplay } from '../../utils' -import { useSettings } from '../../hooks' interface TransactionDetailProps { transaction: Transaction