import useSWR from 'swr' import useChainConfig from 'hooks/useChainConfig' export default function useWalletBalances(address?: string) { const chainConfig = useChainConfig() return useSWR( address && `chains/${chainConfig.id}/wallets/${address}/balances`, () => getWalletBalances(chainConfig, address!), { isPaused: () => !address, fallbackData: [], }, ) } async function getWalletBalances(chainConfig: ChainConfig, address: string): Promise { const uri = '/cosmos/bank/v1beta1/balances/' const response = await fetch(`${chainConfig.endpoints.rest}${uri}${address}`) if (response.ok) { const data = await response.json() return data.balances } return new Promise((_, reject) => reject('No data')) }