diff --git a/packages/public-api/src/constants.ts b/packages/public-api/src/constants.ts index 117259186b4..30f41055a52 100644 --- a/packages/public-api/src/constants.ts +++ b/packages/public-api/src/constants.ts @@ -9,19 +9,35 @@ export const SUPPORTED_CHAIN_IDS: readonly KnownChainIds[] = [ KnownChainIds.BnbSmartChainMainnet, KnownChainIds.EthereumMainnet, KnownChainIds.GnosisMainnet, + KnownChainIds.HyperEvmMainnet, + KnownChainIds.KatanaMainnet, + KnownChainIds.MegaEthMainnet, + KnownChainIds.MonadMainnet, KnownChainIds.OptimismMainnet, + KnownChainIds.PlasmaMainnet, KnownChainIds.PolygonMainnet, // UTXO KnownChainIds.BitcoinCashMainnet, KnownChainIds.BitcoinMainnet, KnownChainIds.DogecoinMainnet, KnownChainIds.LitecoinMainnet, + KnownChainIds.ZcashMainnet, // Cosmos SDK KnownChainIds.CosmosMainnet, KnownChainIds.MayachainMainnet, KnownChainIds.ThorchainMainnet, // Solana KnownChainIds.SolanaMainnet, + // Tron + KnownChainIds.TronMainnet, + // Sui + KnownChainIds.SuiMainnet, + // TON + KnownChainIds.TonMainnet, + // NEAR + KnownChainIds.NearMainnet, + // Starknet + KnownChainIds.StarknetMainnet, ] export const SUPPORTED_CHAIN_IDS_SET: ReadonlySet = new Set(SUPPORTED_CHAIN_IDS) diff --git a/packages/swap-widget/src/constants/chains.ts b/packages/swap-widget/src/constants/chains.ts index 5eddf02693b..1b67719e37f 100644 --- a/packages/swap-widget/src/constants/chains.ts +++ b/packages/swap-widget/src/constants/chains.ts @@ -39,6 +39,14 @@ const BASE_ASSETS_BY_CHAIN_ID: Record = { [solana.chainId]: solana, } +export const SUPPORTED_CHAIN_IDS_SET: ReadonlySet = new Set( + Object.keys(BASE_ASSETS_BY_CHAIN_ID), +) + +export const isSupportedChainId = (chainId: ChainId): boolean => { + return SUPPORTED_CHAIN_IDS_SET.has(chainId) +} + export const getBaseAsset = (chainId: ChainId): Asset | undefined => { return BASE_ASSETS_BY_CHAIN_ID[chainId] } diff --git a/packages/swap-widget/src/hooks/useAssets.ts b/packages/swap-widget/src/hooks/useAssets.ts index b0ed00f5702..15141f58b81 100644 --- a/packages/swap-widget/src/hooks/useAssets.ts +++ b/packages/swap-widget/src/hooks/useAssets.ts @@ -2,6 +2,7 @@ import { ASSET_NAMESPACE, fromAssetId } from '@shapeshiftoss/caip' import type { UseQueryResult } from '@tanstack/react-query' import { useQuery } from '@tanstack/react-query' +import { isSupportedChainId } from '../constants/chains' import type { Asset, AssetId, ChainId } from '../types' type AssetQueryResult = Omit, 'data'> & { data: TData } @@ -52,7 +53,9 @@ export const useAssetData = (): UseQueryResult => { export const useAssets = (): AssetQueryResult => { const { data, ...rest } = useAssetData() - const assets = data ? data.ids.map(id => data.byId[id]).filter(Boolean) : [] + const assets = data + ? data.ids.map(id => data.byId[id]).filter(asset => asset && isSupportedChainId(asset.chainId)) + : [] return { data: assets, ...rest } }