UNPKG

@lifi/widget

Version:

LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.

20 lines 1 kB
import { useMemo } from 'react'; import { useTokenSearch } from './useTokenSearch.js'; import { useTokens } from './useTokens.js'; export const useToken = (chainId, tokenAddress, latest) => { const { allTokens, isLoading: isTokensLoading } = useTokens(); const token = useMemo(() => chainId && tokenAddress ? allTokens?.[chainId]?.find((t) => t.address.toLowerCase() === tokenAddress.toLowerCase()) : undefined, [allTokens, chainId, tokenAddress]); const tokenSearchEnabled = !!chainId && !!tokenAddress && (latest || (!isTokensLoading && !token)); const { token: searchedToken, isLoading: isSearchLoading } = useTokenSearch(chainId, tokenAddress, tokenSearchEnabled); const resolvedToken = latest ? (searchedToken ?? token) : (token ?? searchedToken); return { token: resolvedToken, isLoading: !resolvedToken && (isTokensLoading || (tokenSearchEnabled && isSearchLoading)), }; }; //# sourceMappingURL=useToken.js.map