diff --git a/src/hooks/useERC20balance.ts b/src/hooks/useERC20balance.ts index 5ec99f6..ad9f122 100644 --- a/src/hooks/useERC20balance.ts +++ b/src/hooks/useERC20balance.ts @@ -4,7 +4,7 @@ import { useMoralisDapp } from '../providers/MoralisDappProvider/MoralisDappProv export const useERC20Balance = (props) => { const { account } = useMoralisWeb3Api(); - const { isInitialized } = useMoralis(); + const { Moralis, isInitialized } = useMoralis(); const { walletAddress, chainId } = useMoralisDapp(); const [assets, setAssets] = useState(); @@ -15,17 +15,42 @@ export const useERC20Balance = (props) => { .then((balance) => setAssets(balance)) .catch((e) => alert(e.message)); } + // eslint-disable-next-line react-hooks/exhaustive-deps }, [isInitialized, chainId, walletAddress]); const fetchERC20Balance = async () => { - return await account + const erc20Balances = await account .getTokenBalances({ address: walletAddress, chain: props?.chain || chainId, }) .then((result) => result) .catch((e) => alert(e.message)); + + const [cuplrToken] = await Moralis.Web3API.token + .getTokenMetadata({ + chain: '0x38', + addresses: ['0x0D3608CE95Cd2b561298BeeD3F9fd3DDD3083163'], + }) + .then((data) => data) + .catch((e) => alert(e.message)); + + if ( + !erc20Balances.find((token) => token.token_address === cuplrToken.address) + ) { + erc20Balances.unshift({ + balance: '0', + decimals: cuplrToken.decimals, + logo: cuplrToken.logo, + name: cuplrToken.name, + symbol: cuplrToken.symbol, + thumbnail: cuplrToken.thumbnail, + token_address: cuplrToken.address, + }); + } + + return erc20Balances; }; return { fetchERC20Balance, assets };