{"version":3,"file":"static/chunks/8019-b82088a9793a35b3.js","mappings":"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","sources":["webpack://_N_E/./components/TokenFiatPrice/TokenFiatPrice.tsx","webpack://_N_E/./components/TokenFiatPrice/index.ts","webpack://_N_E/./configs/coinGecko.ts","webpack://_N_E/./lib/hooks/flags/useXcmHiddenAssetsFlag.ts","webpack://_N_E/./lib/utils/assets.ts","webpack://_N_E/./lib/hooks/queries/useAssetsBalances/useErc20Balances.ts","webpack://_N_E/./lib/hooks/queries/useAssetsBalances/useXc20Balances.ts","webpack://_N_E/./lib/hooks/queries/useAssetsBalances/useAssetsBalances.ts","webpack://_N_E/./lib/hooks/useAddTokenToWallet.ts","webpack://_N_E/./lib/hooks/useFiatConversion.ts","webpack://_N_E/./lib/hooks/useFormatValue.ts","webpack://_N_E/./lib/hooks/useIsCorrectChainConnected.ts","webpack://_N_E/./lib/services/coingecko/coingecko.ts","webpack://_N_E/./lib/services/coingecko/index.ts","webpack://_N_E/./lib/utils/datetime.ts","webpack://_N_E/./recoil/coingecko/hooks.ts","webpack://_N_E/./recoil/coingecko/index.ts","webpack://_N_E/./recoil/favoriteTokens/atoms.ts","webpack://_N_E/./recoil/favoriteTokens/hooks.ts","webpack://_N_E/./recoil/favoriteTokens/index.ts","webpack://_N_E/./recoil/importedTokens/atoms.ts","webpack://_N_E/./recoil/importedTokens/hooks.ts","webpack://_N_E/./recoil/importedTokens/index.ts"],"sourcesContent":["import {\n Loader,\n Text,\n TextProps,\n Tooltip,\n useMantineTheme,\n} from '@mantine/core';\nimport { AssetAmount } from '@moonbeam-network/xcm-types';\nimport { useFiatConversion } from 'hooks/useFiatConversion';\nimport { useIsMounted } from 'hooks/useIsMounted';\nimport { useTranslation } from 'next-i18next';\nimport { Suspense } from 'react';\nimport { IoHelpCircleOutline } from 'react-icons/io5';\nimport { useUserSettings } from 'recoil/userSettings';\n\ninterface Props extends TextProps {\n assetAmount: AssetAmount;\n showPrice?: boolean;\n maxDecimals?: number;\n isHidable?: boolean;\n}\n\nfunction TokenFiatPriceContent({\n assetAmount,\n maxDecimals,\n showPrice = false,\n isHidable = false,\n ...textProps\n}: Props) {\n const { t } = useTranslation();\n const isMounted = useIsMounted();\n const { areBalancesVisible } = useUserSettings();\n const [fiatConversion, fiatSymbol] = useFiatConversion(\n assetAmount,\n maxDecimals,\n showPrice,\n );\n\n if (!isMounted) {\n return null;\n }\n\n const isHidden = isHidable && !areBalancesVisible;\n\n return (\n \n \n {fiatSymbol}\n {isHidden ? (\n '****'\n ) : fiatConversion ? (\n fiatConversion\n ) : (\n <>\n {'-.- '}\n \n \n )}\n \n \n );\n}\n\nexport function TokenFiatPrice(props: Props) {\n const theme = useMantineTheme();\n\n return (\n }>\n \n \n );\n}\n","export { TokenFiatPrice } from './TokenFiatPrice';\n","import {\n aca,\n aseed,\n astr,\n axlusdc,\n bnc,\n cfg,\n csm,\n dai,\n dot,\n eq,\n eurc,\n fil,\n glmr,\n hdx,\n ibtc,\n intr,\n kar,\n kbtc,\n kint,\n ksm,\n laos,\n ldot,\n manta,\n mgx,\n moonbeam,\n moonriver,\n movr,\n nodl,\n para,\n pen,\n pha,\n pica,\n ring,\n rmrk,\n sdn,\n sub,\n teer,\n tnkr,\n tur,\n usdc,\n usdcwh,\n usdt,\n usdtwh,\n vastr,\n vdot,\n vglmr,\n vksm,\n vmanta,\n vmovr,\n wbtc,\n wbtce,\n weth,\n wethe,\n wstethe,\n xrt,\n ztg,\n} from '@moonbeam-network/xcm-config';\n\nexport const coinGeckoIds = {\n [moonbeam.key]: {\n [aca.key]: 'acala',\n [astr.key]: 'astar',\n [aseed.key]: 'acala-dollar-acala',\n [axlusdc.key]: 'axlusdc',\n [bnc.key]: 'bifrost-native-coin',\n [cfg.key]: 'centrifuge',\n [dai.key]: 'dai',\n [dot.key]: 'polkadot',\n [eq.key]: 'equilibrium-token',\n [eurc.key]: 'euro-coin',\n [hdx.key]: 'hydradx',\n [fil.key]: 'filecoin',\n [glmr.key]: 'moonbeam',\n [intr.key]: 'interlay',\n [laos.key]: 'laos-network',\n [ldot.key]: 'liquid-staking-dot',\n [manta.key]: 'manta-network',\n [nodl.key]: 'nodle-network',\n [para.key]: 'parallel-finance',\n [pen.key]: 'pendulum-chain',\n [pha.key]: 'pha',\n [ring.key]: 'darwinia-network-native-token',\n [sub.key]: 'subsocial',\n [usdc.key]: 'usd-coin',\n [usdcwh.key]: 'usd-coin-wormhole-from-ethereum',\n [usdt.key]: 'tether',\n [usdtwh.key]: 'tether-usd-wormhole',\n [wbtc.key]: 'wrapped-btc-wormhole',\n [wbtce.key]: 'wrapped-btc-wormhole',\n [weth.key]: 'ethereum-wormhole',\n [wethe.key]: 'ethereum-wormhole',\n [wstethe.key]: 'wrapped-steth',\n [ibtc.key]: 'interbtc',\n [vastr.key]: 'bifrost-voucher-astr',\n [vdot.key]: 'voucher-dot',\n [vglmr.key]: 'voucher-glmr',\n [vmanta.key]: 'bifrost-voucher-manta',\n [ztg.key]: 'zeitgeist',\n },\n [moonriver.key]: {\n [aseed.key]: 'acala-dollar',\n [csm.key]: 'crust-storage-market',\n [kar.key]: 'karura',\n [kbtc.key]: 'kintsugi-btc',\n [kint.key]: 'kintsugi',\n [ksm.key]: 'kusama',\n [mgx.key]: 'mangata-x',\n [movr.key]: 'moonriver',\n [rmrk.key]: 'rmrk',\n [sdn.key]: 'shiden',\n [teer.key]: 'integritee',\n [tnkr.key]: 'tinkernet',\n [tur.key]: 'turing-network',\n [usdt.key]: 'tether',\n [xrt.key]: 'robonomics-network',\n [pha.key]: 'pha',\n [pica.key]: 'picasso',\n [bnc.key]: 'bifrost-native-coin',\n [vksm.key]: 'voucher-ksm',\n [vmovr.key]: 'voucher-movr',\n },\n};\n","import { useFlags } from 'flagsmith/react';\n\nexport function useXcmHiddenAssetsFlag(): string[] {\n const { xcm_hidden_assets: flag } = useFlags(['xcm_hidden_assets']);\n\n if (!flag.enabled) return [];\n\n return typeof flag?.value === 'string'\n ? flag?.value.split(',').map((key) => key.toLowerCase().trim())\n : [];\n}\n","import { AssetAmount } from '@moonbeam-network/xcm-types';\nimport { MoonChain } from 'types/MoonChain';\nimport { TokenBalance } from 'types/assets';\n\nexport function sortAssets(\n a: AssetAmount,\n b: AssetAmount,\n moonChain: MoonChain,\n checkFavoriteToken: (id: string) => boolean,\n): number {\n return sortTokensBalances(\n AssetAmountToTokenBalance(a, moonChain),\n AssetAmountToTokenBalance(b, moonChain),\n checkFavoriteToken,\n );\n}\n\nfunction sortTokensBalances(\n a: TokenBalance,\n b: TokenBalance,\n checkFavoriteToken: (id: string) => boolean,\n): number {\n if (a.isNative) {\n return -1;\n }\n\n if (b.isNative) {\n return 1;\n }\n\n const isAFavorite = checkFavoriteToken(a.erc20Id);\n const isBFavorite = checkFavoriteToken(b.erc20Id);\n\n if (isAFavorite && !isBFavorite) return -1;\n if (!isAFavorite && isBFavorite) return 1;\n\n if (a.balance.amount || b.balance.amount) {\n return b.balance.toBigDecimal().sub(a.balance.toBigDecimal()).toNumber();\n }\n\n const aName = a.balance.originSymbol.toLowerCase();\n const bName = b.balance.originSymbol.toLowerCase();\n\n if (aName < bName) {\n return -1;\n }\n\n if (aName > bName) {\n return 1;\n }\n\n return 0;\n}\n\nexport function AssetAmountToTokenBalance(\n balance: AssetAmount,\n moonChain: MoonChain,\n): TokenBalance {\n return {\n balance,\n erc20Id: moonChain.getErc20Address(balance),\n isImported: false,\n isNative: moonChain.isNative(balance),\n };\n}\n","import { AssetAmount } from '@moonbeam-network/xcm-types';\nimport { readContract, readContracts } from '@wagmi/core';\nimport { useAddress } from 'hooks/useAddress';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useEffect, useMemo, useState } from 'react';\nimport { Address, erc20Abi } from 'viem';\nimport { Config, useConfig } from 'wagmi';\n\ninterface XcmSdkAsset {\n id: string | undefined;\n key: string;\n symbol?: string;\n}\n\ninterface BalanceWithKey {\n decimals: number;\n originSymbol: string;\n symbol: string;\n value: bigint;\n key: string;\n}\n\ninterface FetchBalanceArgs {\n address: Address | undefined;\n asset: XcmSdkAsset;\n chainId: number;\n config: Config;\n}\n\nasync function fetchErc20Balance({\n address,\n asset,\n chainId,\n config,\n}: FetchBalanceArgs): Promise {\n const value = address\n ? await readContract(config, {\n address: asset.id as Address,\n abi: erc20Abi,\n chainId: chainId,\n functionName: 'balanceOf',\n args: [address],\n })\n : 0n;\n const [decimals, symbol] = await readContracts(config, {\n allowFailure: false,\n contracts: [\n {\n address: asset.id as Address,\n abi: erc20Abi,\n chainId: chainId,\n functionName: 'decimals',\n },\n {\n address: asset.id as Address,\n abi: erc20Abi,\n chainId: chainId,\n functionName: 'symbol',\n },\n ],\n });\n\n return {\n value,\n decimals,\n symbol,\n key: asset.key,\n originSymbol: asset.symbol || symbol,\n };\n}\n\nfunction useXcmSdkErc20Assets(): XcmSdkAsset[] | undefined {\n const chain = useMoonChain();\n\n return useMemo(() => {\n return Array.from(chain.assets.values())\n .filter((asset) => !chain.isNative(asset) && asset.hasOnlyAddress())\n .map((asset) => ({\n id: asset.address,\n key: asset.key,\n symbol: asset.originSymbol,\n }))\n .filter(Boolean) as XcmSdkAsset[];\n }, [chain]);\n}\n\nexport function useErc20Balances(): AssetAmount[] | undefined {\n const chain = useMoonChain();\n const address = useAddress();\n const config = useConfig();\n const xcmSdkAssets = useXcmSdkErc20Assets();\n const [balances, setBalances] = useState();\n\n useEffect(() => {\n if (!xcmSdkAssets) {\n return;\n }\n\n Promise.all(\n xcmSdkAssets.map((asset) => {\n return fetchErc20Balance({\n address: address as `0x${string}`,\n asset,\n chainId: chain.id,\n config,\n });\n }),\n ).then((responses) =>\n setBalances(\n responses.map(\n ({ decimals, symbol, originSymbol, value, key }) =>\n new AssetAmount({\n amount: value,\n decimals,\n key,\n originSymbol,\n symbol,\n }),\n ),\n ),\n );\n }, [address, chain.id, config, xcmSdkAssets]);\n\n return balances;\n}\n","import { AssetAmount, ChainAsset } from '@moonbeam-network/xcm-types';\nimport {\n PalletAssetsAssetAccount,\n PalletAssetsAssetMetadata,\n} from '@polkadot/types/lookup';\nimport { useAddress } from 'hooks/useAddress';\nimport { useApi } from 'hooks/useApi';\nimport { useApiCall } from 'hooks/useApiCall';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useMemo } from 'react';\n\nfunction useXc20AssetsData() {\n const chain = useMoonChain();\n const { ids, assets } = useMemo(\n () =>\n Array.from(chain.assets.values())\n .filter((asset) => !chain.isNative(asset) && asset.ids?.id)\n .reduce(\n (acc, asset) => {\n acc.ids.push(asset.ids?.id as string);\n acc.assets.push(asset);\n\n return acc;\n },\n { ids: [] as string[], assets: [] as ChainAsset[] },\n ),\n [chain],\n );\n\n return { ids, assets };\n}\n\nfunction useBalances(ids?: string[]): PalletAssetsAssetAccount[] | undefined {\n const api = useApi();\n const address = useAddress();\n\n const query = useMemo(() => {\n if (!api || !address || !ids) {\n return undefined;\n }\n\n return ids.map((id) => [api.query.assets.account, [id, address]]);\n }, [address, api, ids]);\n\n return useApiCall(api?.queryMulti, [query]);\n}\n\nfunction useMeta(ids?: string[]): PalletAssetsAssetMetadata[] | undefined {\n const api = useApi();\n\n const query = useMemo(() => {\n if (!api || !ids) {\n return undefined;\n }\n\n return ids.map((id) => [api.query.assets.metadata, [id]]);\n }, [api, ids]);\n\n return useApiCall(api?.queryMulti, [query]);\n}\n\nexport function useXc20Balances(): AssetAmount[] | undefined {\n const { ids, assets } = useXc20AssetsData();\n const metas = useMeta(ids);\n const balances = useBalances(ids);\n\n return useMemo(() => {\n if (!metas) {\n return undefined;\n }\n\n return assets.map((asset, index) => {\n const meta = metas[index];\n const balance = balances?.[index];\n\n return AssetAmount.fromChainAsset(\n asset.copyWith({\n symbol: meta?.symbol.toHuman()?.toString() || asset.originSymbol,\n }),\n {\n amount: balance?.balance.toBigInt() || 0n,\n },\n );\n });\n }, [assets, balances, metas]);\n}\n","import { AssetAmount } from '@moonbeam-network/xcm-types';\nimport { coinGeckoIds } from 'configs/coinGecko';\nimport { useXcmHiddenAssetsFlag } from 'hooks/flags/useXcmHiddenAssetsFlag';\nimport { useMoonAssetFreeBalance } from 'hooks/queries/balances/useMoonChainBalances';\nimport { useIsCorrectChainConnected } from 'hooks/useIsCorrectChainConnected';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useEffect, useMemo, useState } from 'react';\nimport { useCoinGeckoPrices } from 'recoil/coingecko';\nimport { useFavoriteTokens } from 'recoil/favoriteTokens';\nimport { useImportedTokensBalance } from 'recoil/importedTokens';\nimport { useFiatCurrency } from 'recoil/userSettings/hooks';\nimport { TokenBalance, TokenBalanceFiat } from 'types/assets';\nimport { AssetAmountToTokenBalance, sortAssets } from 'utils/assets';\nimport { calcTokenConversion } from 'utils/calc';\nimport { useErc20Balances } from './useErc20Balances';\nimport { useXc20Balances } from './useXc20Balances';\n\nexport function useAssetsBalances(): AssetAmount[] | undefined {\n const chain = useMoonChain();\n const { checkFavoriteToken } = useFavoriteTokens();\n const moonAsset = useMoonAssetFreeBalance();\n const xc20s = useXc20Balances();\n const erc20s = useErc20Balances();\n const isCorrectChain = useIsCorrectChainConnected();\n const xcmHiddenAssets = useXcmHiddenAssetsFlag();\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n return useMemo(() => {\n if (!xc20s || !erc20s || !moonAsset) {\n return undefined;\n }\n\n const allAssets = [\n moonAsset,\n ...xc20s\n .concat(erc20s)\n .sort((a, b) =>\n isCorrectChain ? sortAssets(a, b, chain, checkFavoriteToken) : 0,\n ),\n ];\n\n return allAssets.filter((asset) => !xcmHiddenAssets.includes(asset.key));\n }, [chain, checkFavoriteToken, erc20s, moonAsset, xc20s, isCorrectChain]);\n}\n\nfunction useAssetsTokenBalances(): TokenBalance[] | undefined {\n const moonChain = useMoonChain();\n const [balances, setBalances] = useState();\n const assets = useAssetsBalances();\n const isCorrectChain = useIsCorrectChainConnected();\n\n useEffect(() => {\n if (assets && isCorrectChain)\n setBalances(\n assets?.map((asset) => ({\n ...AssetAmountToTokenBalance(asset, moonChain),\n coinGeckoId: coinGeckoIds[moonChain.key]?.[asset.key],\n })),\n );\n }, [moonChain, assets, isCorrectChain]);\n\n return balances;\n}\n\nexport function useAllAssetsBalancesWithFiat(): TokenBalanceFiat[] | undefined {\n const [assets, setAssets] = useState();\n const assetsBalances = useAssetsTokenBalances();\n const importedTokensBalances = useImportedTokensBalance();\n\n const fiatPrices = useCoinGeckoPrices();\n const fiatCurrency = useFiatCurrency();\n const isCorrectChain = useIsCorrectChainConnected();\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n useEffect(() => {\n if (!assetsBalances || !importedTokensBalances || !fiatPrices) {\n return;\n }\n\n const allAssets = [...assetsBalances, ...importedTokensBalances];\n\n const allAssetsWithFiat: TokenBalanceFiat[] = allAssets.map((asset) => {\n const fiatPrice =\n (asset.coinGeckoId &&\n fiatPrices?.[asset.coinGeckoId]?.[fiatCurrency]) ||\n 0;\n\n const tokenConversion = calcTokenConversion(asset.balance, fiatPrice);\n\n return {\n ...asset,\n fiatPrice,\n tokenConversion,\n };\n });\n\n setAssets(allAssetsWithFiat);\n }, [\n assetsBalances,\n fiatCurrency,\n fiatPrices,\n importedTokensBalances,\n isCorrectChain,\n ]);\n\n return assets;\n}\n","import { useWalletNotifications } from 'hooks/notifications/useWalletNotifications';\nimport { Wallet, walletsCanAddTokens } from 'lib/wallets';\nimport { useCallback } from 'react';\nimport { useAccount } from 'wagmi';\n\ninterface UseAddTokenToWalletReturn {\n addToWallet: (address: string, decimals: number, symbol: string) => void;\n canAddTokens: boolean;\n}\n\nexport function useAddTokenToWallet(): UseAddTokenToWalletReturn {\n const { connector } = useAccount();\n const { failedToAddAsset } = useWalletNotifications();\n const canAddTokens = walletsCanAddTokens.includes(connector?.name as Wallet);\n\n const addToWallet = useCallback(\n (address: string, decimals: number, symbol: string) => {\n connector\n ?.getProvider()\n .then((provider) =>\n // @ts-expect-error getProvider returns `unknown`\n provider?.request({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20',\n options: {\n address,\n symbol,\n decimals,\n },\n },\n }),\n )\n .catch((error) => {\n console.log(error);\n failedToAddAsset(symbol);\n });\n },\n [connector, failedToAddAsset],\n );\n\n return { addToWallet, canAddTokens };\n}\n","import { AssetAmount } from '@moonbeam-network/xcm-types';\nimport { useFormatValue } from 'hooks/useFormatValue';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport { useRouter } from 'next/router';\nimport { useMemo } from 'react';\nimport { useCoinGeckoPrices } from 'recoil/coingecko';\nimport { useUserSettings } from 'recoil/userSettings';\nimport { getCoinGeckoIdByAssetKey } from 'services/coingecko';\nimport { calcTokenConversion } from 'utils/calc';\n\nfunction useFiatSymbol(): string | undefined {\n const { locale = 'en_US' } = useRouter();\n const { fiatCurrency } = useUserSettings();\n\n return useMemo(\n () =>\n Intl.NumberFormat(locale, {\n style: 'currency',\n currency: fiatCurrency,\n })\n .formatToParts(0)\n .find((part) => part.type === 'currency')?.value,\n [fiatCurrency, locale],\n );\n}\n\nexport function useFiatConversion(\n assetAmount?: AssetAmount,\n maxDecimals?: number,\n showPrice = false,\n noFormat = false,\n): [string | undefined, string | undefined] {\n const fiatPrices = useCoinGeckoPrices();\n const { fiatCurrency } = useUserSettings();\n const fiatSymbol = useFiatSymbol();\n const network = useMoonChainKeyParam();\n const coinGeckoId = getCoinGeckoIdByAssetKey(network, assetAmount?.key);\n\n const fiatPrice = coinGeckoId\n ? fiatPrices?.[coinGeckoId]?.[fiatCurrency]\n : undefined;\n\n const value = useMemo(() => {\n if (!assetAmount || !fiatPrice) {\n return;\n }\n\n return calcTokenConversion(assetAmount, fiatPrice, maxDecimals);\n }, [assetAmount, fiatPrice, maxDecimals]);\n\n return [\n useFormatValue(showPrice ? fiatPrice : value, maxDecimals, noFormat),\n fiatSymbol,\n ];\n}\n\nexport function useTotalValueFromAmountAndPrice(\n price?: number | string,\n amount?: bigint | string | number,\n maxDecimals = 3,\n): undefined | string {\n const { nativeAsset } = useMoonChain();\n\n const total = useMemo(() => {\n if (!price || !amount) {\n return;\n }\n const assetAmount = AssetAmount.fromChainAsset(nativeAsset, {\n amount: BigInt(amount),\n });\n\n return calcTokenConversion(assetAmount, Number(price), maxDecimals);\n }, [nativeAsset, amount, price, maxDecimals]);\n\n return useFormatValue(total, maxDecimals);\n}\n","import Big from 'big.js';\nimport { useRouter } from 'next/router';\nimport { useMemo } from 'react';\n\nexport function useFormatValue(\n value: Big | string | number | undefined,\n maxDecimals?: number,\n noFormat = false,\n): string | undefined {\n const { locale = 'en' } = useRouter();\n\n return useMemo(() => {\n // biome-ignore lint/suspicious/noDoubleEquals: \n if (value == undefined) {\n return;\n }\n\n const big = new Big(value);\n\n if (noFormat) {\n return big.toString();\n }\n\n const number = big.toNumber();\n const standardDecimalLogic = number > 1 ? 2 : number < 0.1 ? 5 : 4;\n // number > 1\n // 12.3456 12.35\n // 1.23456 1.23\n\n // 0.1 <= number < 1\n // 0.123456 0.1234\n\n // number < 0.1\n // 0.0123456 0.01234\n // 0.00123456 0.00123\n // 0.000123456 0.00012\n // 0.0000123456 0.00001\n\n return number.toLocaleString(locale, {\n maximumFractionDigits: maxDecimals || standardDecimalLogic,\n });\n }, [value, noFormat, locale, maxDecimals]);\n}\n","import { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useAccount } from 'wagmi';\n\nexport function useIsCorrectChainConnected(): boolean {\n const config = useMoonChain();\n const { chain } = useAccount();\n\n return config.id === chain?.id;\n}\n","import { coinGeckoIds } from 'configs/coinGecko';\nimport fetchRetry from 'fetch-retry';\nimport ls from 'localstorage-slim';\nimport type { ImportedTokens } from 'recoil/importedTokens';\nimport { FiatCurrencies } from 'types/fiatCurrencies';\nimport { CoinGeckoPricesResponse } from './coingecko.types';\n\nexport function getCoinGeckoIdByAssetKey(\n moonChainKey: string,\n assetKey: string | undefined,\n): string | undefined {\n return assetKey ? coinGeckoIds[moonChainKey]?.[assetKey] : undefined;\n}\n\nexport function getPermanentCoinGeckoIds(): string[] {\n const assetsDicts = Object.values(coinGeckoIds);\n\n return assetsDicts.reduce(\n (assetsList, networkAssets) => [\n ...assetsList,\n ...Object.values(networkAssets),\n ],\n [] as string[],\n );\n}\n\nexport function getImportedCoinGeckoIds(\n importedTokens: ImportedTokens,\n): string[] {\n const importedTokensLists = Object.values(importedTokens);\n\n return importedTokensLists\n .flat()\n .map((token) => token.coinGeckoId || '')\n .filter((id) => id.length);\n}\n\nexport async function getCoinGeckoPrices(\n coinGeckoIds: string[],\n): Promise {\n const url = new URL('https://api.coingecko.com/api/v3/simple/price');\n const dedupedIds = [...new Set(coinGeckoIds)];\n\n url.searchParams.append(\n 'vs_currencies',\n Object.values(FiatCurrencies).join(','),\n );\n\n url.searchParams.append('ids', dedupedIds.join(','));\n\n const cacheKey = url.toString();\n const cachedResponse = ls.get(cacheKey);\n\n if (cachedResponse) return cachedResponse;\n\n // Try needed in CoinGecko might return 429 Too Many Request\n // without Access-Control-Allow-Origin header, making fetch to\n // throw TypeError: Failed to fetch\n // Design pending on how to show the error\n try {\n const response = await fetchRetry(fetch)(url.toString(), {\n retries: 5,\n retryDelay: 10000,\n retryOn: [429, 503],\n });\n\n const pricesResponse = {\n responseOk: response.ok,\n prices: await response.json(),\n };\n\n ls.set(cacheKey, pricesResponse, { ttl: 600 });\n\n return pricesResponse;\n } catch (e) {\n return {\n responseOk: false,\n error: (e as Error).message,\n };\n }\n}\n\nexport async function checkCoinGeckoId(coinGeckoId: string): Promise {\n const url = new URL(`https://api.coingecko.com/api/v3/coins/${coinGeckoId}`);\n\n const response = await fetchRetry(fetch)(url.toString(), {\n retries: 5,\n retryDelay: 8000,\n retryOn: [429, 503],\n });\n\n return response.ok;\n}\n","export * from './coingecko';\n","export function secondsToTime(seconds: number): string {\n const minutes = Math.floor(seconds / 60)\n .toString()\n .padStart(2, '0');\n const sec = (seconds % 60).toString().padStart(2, '0');\n\n return `${minutes}:${sec}`;\n}\n\ninterface PastTimestamps {\n sevenDaysAgo: number;\n oneMonthAgo: number;\n oneYearAgo: number;\n}\n\nexport function getPastTimestamps(now = new Date()): PastTimestamps {\n // Convert the current date to UTC and set the time to 00:00:00.000\n const utcNow = new Date(\n Date.UTC(\n now.getUTCFullYear(),\n now.getUTCMonth(),\n now.getUTCDate(),\n 0,\n 0,\n 0,\n 0,\n ),\n );\n\n return {\n sevenDaysAgo: new Date(\n Date.UTC(\n utcNow.getUTCFullYear(),\n utcNow.getUTCMonth(),\n utcNow.getUTCDate() - 7,\n ),\n ).getTime(),\n\n oneMonthAgo: new Date(\n Date.UTC(\n utcNow.getUTCFullYear(),\n utcNow.getUTCMonth() - 1,\n utcNow.getUTCDate(),\n ),\n ).getTime(),\n\n oneYearAgo: new Date(\n Date.UTC(\n utcNow.getUTCFullYear() - 1,\n utcNow.getUTCMonth(),\n utcNow.getUTCDate(),\n ),\n ).getTime(),\n };\n}\n\nexport function getJsTimestamp(timestamp: number): number {\n if (!timestamp) {\n return timestamp;\n }\n // If the timestamp is less than 10^10, assume it is in seconds.\n return timestamp < 1e10 ? timestamp * 1000 : timestamp;\n}\n\nexport function getDateByAnyTimestamp(timestamp: number): Date {\n return new Date(getJsTimestamp(timestamp));\n}\n","import { useEffect, useState } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { importedTokensAtom } from 'recoil/importedTokens/atoms';\nimport {\n getCoinGeckoPrices,\n getImportedCoinGeckoIds,\n getPermanentCoinGeckoIds,\n} from 'services/coingecko';\nimport { CoinGeckoPrices } from 'services/coingecko/coingecko.types';\n\nconst permanentIds = getPermanentCoinGeckoIds();\n\nexport function useCoinGeckoPrices(): CoinGeckoPrices | undefined {\n const [prices, setPrices] = useState();\n const importedTokens = useRecoilValue(importedTokensAtom);\n\n useEffect(() => {\n const importedTokensIds = getImportedCoinGeckoIds(importedTokens);\n\n getCoinGeckoPrices([...permanentIds, ...importedTokensIds]).then(\n (pricesResponse) => {\n if (!pricesResponse) {\n return;\n }\n\n if (pricesResponse.responseOk) {\n setPrices(pricesResponse.prices);\n } else {\n console.error(pricesResponse.error);\n }\n },\n );\n }, [importedTokens]);\n\n return prices;\n}\n","export * from './hooks';\n","import {\n glmr,\n moonbaseAlpha,\n moonbeam,\n moonriver,\n} from '@moonbeam-network/xcm-config';\nimport { localDevConfig } from 'configs/chains';\nimport { atom } from 'recoil';\nimport { createLocalStorageEffect } from 'recoil/effects';\n\nconst id = moonbeam.getChainAsset(glmr).address as string;\n\nexport const favoriteTokensAtom = atom>({\n key: 'favoriteTokens',\n default: {\n [moonbeam.key]: [id],\n [moonriver.key]: [id],\n [moonbaseAlpha.key]: [id],\n [localDevConfig.key]: [id],\n },\n effects: [createLocalStorageEffect('favorite-tokens')],\n});\n","import { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useCallback } from 'react';\nimport { useRecoilState } from 'recoil';\nimport { favoriteTokensAtom } from './atoms';\n\ninterface UseFavoriteTokensResponse {\n addFavoriteToken: (id: string) => void;\n checkFavoriteToken: (id: string) => boolean;\n favoriteTokens: string[];\n removeFavoriteToken: (id: string) => void;\n}\n\nexport function useFavoriteTokens(): UseFavoriteTokensResponse {\n const { key, nativeAsset } = useMoonChain();\n\n const [favoriteTokens, setFavoriteTokens] =\n useRecoilState(favoriteTokensAtom);\n\n const addFavoriteToken = useCallback(\n (id: string) => {\n setFavoriteTokens((prevFavs) => {\n if (prevFavs[key].includes(id)) return prevFavs;\n\n return {\n ...prevFavs,\n [key]: [...prevFavs[key], id],\n };\n });\n },\n [setFavoriteTokens, key],\n );\n\n const checkFavoriteToken = useCallback(\n (id: string) => favoriteTokens[key].includes(id),\n [favoriteTokens, key],\n );\n\n const removeFavoriteToken = useCallback(\n (id: string) => {\n if (id === nativeAsset.address) {\n return;\n }\n\n setFavoriteTokens((prevFavs) => {\n return {\n ...prevFavs,\n [key]: prevFavs[key].filter((x) => x !== id),\n };\n });\n },\n [key, nativeAsset.address, setFavoriteTokens],\n );\n\n return {\n addFavoriteToken,\n checkFavoriteToken,\n favoriteTokens: favoriteTokens[key],\n removeFavoriteToken,\n };\n}\n","export { useFavoriteTokens } from './hooks';\n","import {\n moonbaseAlpha,\n moonbeam,\n moonriver,\n} from '@moonbeam-network/xcm-config';\nimport { atom } from 'recoil';\nimport { createLocalStorageEffect } from 'recoil/effects';\nimport { ImportedTokens } from './interfaces';\n\nexport const importedTokensAtom = atom({\n key: 'importedTokens',\n default: {\n [moonbeam.key]: [],\n [moonriver.key]: [],\n [moonbaseAlpha.key]: [],\n },\n effects: [createLocalStorageEffect('imported-tokens')],\n});\n","import { AssetAmount } from '@moonbeam-network/xcm-types';\nimport { getBalance } from '@wagmi/core';\nimport { useAddress } from 'hooks/useAddress';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useRecoilState, useRecoilValue } from 'recoil';\nimport { TokenBalance } from 'types/assets';\nimport { Address } from 'viem';\nimport { useConfig } from 'wagmi';\nimport { importedTokensAtom } from './atoms';\nimport type { ImportedToken } from './interfaces';\n\ninterface UseImportedTokensResponse {\n addImportedToken: (tokenInfo: ImportedToken) => Promise;\n isTokenImported: (contractAddress: string) => boolean;\n importedTokens: ImportedToken[];\n removeImportedToken: (contractAddress: string) => void;\n}\n\nexport function useImportedTokens(): UseImportedTokensResponse {\n const network = useMoonChainKeyParam();\n const address = useAddress();\n const config = useConfig();\n const [importedTokens, setImportedTokens] =\n useRecoilState(importedTokensAtom);\n\n const addImportedToken = useCallback(\n async (tokenInfo: ImportedToken) => {\n // Check if it's a valid contract by trying to fetch balance\n try {\n await getBalance(config, {\n address: address as Address,\n token: tokenInfo.contractAddress,\n });\n\n setImportedTokens((prevImports) => {\n if (\n prevImports[network].some(\n (x) => x.contractAddress === tokenInfo.contractAddress,\n )\n )\n return prevImports;\n\n return {\n ...prevImports,\n [network]: [...prevImports[network], tokenInfo],\n };\n });\n\n return true;\n } catch (error) {\n console.error(error);\n return false;\n }\n },\n [setImportedTokens, network, address, config],\n );\n\n const isTokenImported = useCallback(\n (contractAddress: string) =>\n importedTokens[network].some(\n (x) => x.contractAddress === contractAddress,\n ),\n [importedTokens, network],\n );\n\n const removeImportedToken = useCallback(\n (address: string) => {\n setImportedTokens((prevImports) => {\n return {\n ...prevImports,\n [network]: prevImports[network].filter(\n (x) => x.contractAddress !== address,\n ),\n };\n });\n },\n [setImportedTokens, network],\n );\n\n return {\n addImportedToken,\n isTokenImported,\n importedTokens: importedTokens[network],\n removeImportedToken,\n };\n}\n\nexport function useImportedTokensBalance(): TokenBalance[] | undefined {\n const address = useAddress();\n const network = useMoonChainKeyParam();\n const config = useConfig();\n const { name } = useMoonChain();\n const importedTokens = useRecoilValue(importedTokensAtom);\n const [balances, setBalances] = useState();\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n useEffect(() => {\n if (!address) return;\n\n const tokens = importedTokens[network] || [];\n\n Promise.all(\n tokens?.map((token) =>\n getBalance(config, {\n address: address as Address,\n token: token.contractAddress,\n }),\n ),\n ).then((responses) =>\n setBalances(\n responses.map(({ decimals, symbol, value }, index) => ({\n balance: new AssetAmount({\n amount: value,\n decimals,\n key: symbol.toLocaleLowerCase(),\n originSymbol: symbol,\n symbol,\n }),\n coinGeckoId: tokens[index].coinGeckoId,\n erc20Id: tokens[index].contractAddress,\n isImported: true,\n isNative: false,\n })),\n ),\n );\n }, [importedTokens, network, address, name, config]);\n\n return balances;\n}\n","export { useImportedTokens, useImportedTokensBalance } from './hooks';\nexport type { ImportedTokens } from './interfaces';\n"],"names":["TokenFiatPriceContent","param","assetAmount","maxDecimals","showPrice","isHidable","textProps","t","useTranslation","isMounted","useIsMounted","areBalancesVisible","useUserSettings","fiatConversion","fiatSymbol","useFiatConversion","isHidden","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Tooltip","disabled","label","jsxs","Text","span","Fragment","IoHelpCircleOutline","style","verticalAlign","TokenFiatPrice","props","theme","useMantineTheme","Suspense","fallback","Loader","size","color","colors","gray","coinGeckoIds","moonbeam","key","aca","astr","aseed","axlusdc","bnc","cfg","dai","dot","eq","eurc","hdx","fil","glmr","intr","laos","ldot","manta","nodl","para","pen","pha","ring","sub","usdc","usdcwh","usdt","usdtwh","wbtc","wbtce","weth","wethe","wstethe","ibtc","vastr","vdot","vglmr","vmanta","ztg","moonriver","csm","kar","kbtc","kint","ksm","mgx","movr","rmrk","sdn","teer","tnkr","tur","xrt","pica","vksm","vmovr","useXcmHiddenAssetsFlag","xcm_hidden_assets","flag","useFlags","enabled","value","split","map","toLowerCase","trim","AssetAmountToTokenBalance","balance","moonChain","erc20Id","getErc20Address","isImported","isNative","fetchErc20Balance","address","asset","chainId","config","readContract","id","abi","erc20Abi","functionName","args","decimals","symbol","readContracts","allowFailure","contracts","originSymbol","useAssetsBalances","chain","useMoonChain","checkFavoriteToken","useFavoriteTokens","moonAsset","useMoonAssetFreeBalance","xc20s","useXc20Balances","ids","assets","useXc20AssetsData","useMemo","Array","from","values","filter","reduce","acc","push","metas","useMeta","api","useApi","query","metadata","useApiCall","queryMulti","balances","useBalances","useAddress","account","index","meta","AssetAmount","fromChainAsset","copyWith","toHuman","toString","amount","toBigInt","erc20s","useErc20Balances","useConfig","xcmSdkAssets","useXcmSdkErc20Assets","hasOnlyAddress","Boolean","setBalances","useState","useEffect","Promise","all","then","responses","isCorrectChain","useIsCorrectChainConnected","xcmHiddenAssets","allAssets","concat","sort","a","b","sortTokensBalances","isAFavorite","isBFavorite","toBigDecimal","toNumber","aName","bName","includes","useAllAssetsBalancesWithFiat","setAssets","assetsBalances","useAssetsTokenBalances","coinGeckoId","importedTokensBalances","useImportedTokensBalance","fiatPrices","useCoinGeckoPrices","fiatCurrency","useFiatCurrency","fiatPrice","tokenConversion","calcTokenConversion","useAddTokenToWallet","connector","useAccount","failedToAddAsset","useWalletNotifications","canAddTokens","walletsCanAddTokens","name","addToWallet","useCallback","getProvider","provider","request","method","params","type","options","catch","console","log","error","noFormat","useFiatSymbol","locale","useRouter","Intl","NumberFormat","currency","formatToParts","find","part","network","useMoonChainKeyParam","getCoinGeckoIdByAssetKey","undefined","useFormatValue","useTotalValueFromAmountAndPrice","price","nativeAsset","total","BigInt","Number","big","Big","number","toLocaleString","maximumFractionDigits","moonChainKey","assetKey","getPermanentCoinGeckoIds","assetsDicts","assetsList","networkAssets","Object","getImportedCoinGeckoIds","importedTokens","importedTokensLists","flat","token","length","getCoinGeckoPrices","url","URL","dedupedIds","Set","searchParams","append","FiatCurrencies","join","cacheKey","cachedResponse","ls","response","fetchRetry","fetch","retries","retryDelay","retryOn","pricesResponse","responseOk","ok","prices","json","ttl","e","message","checkCoinGeckoId","secondsToTime","seconds","minutes","Math","floor","padStart","sec","getPastTimestamps","now","Date","utcNow","UTC","getUTCFullYear","getUTCMonth","getUTCDate","sevenDaysAgo","getTime","oneMonthAgo","oneYearAgo","getJsTimestamp","timestamp","getDateByAnyTimestamp","permanentIds","setPrices","useRecoilValue","importedTokensAtom","importedTokensIds","getChainAsset","favoriteTokensAtom","atom","default","moonbaseAlpha","localDevConfig","effects","createLocalStorageEffect","favoriteTokens","setFavoriteTokens","useRecoilState","addFavoriteToken","prevFavs","removeFavoriteToken","x","useImportedTokens","setImportedTokens","addImportedToken","tokenInfo","getBalance","contractAddress","some","prevImports","isTokenImported","removeImportedToken","tokens","toLocaleLowerCase"],"sourceRoot":""}