mars-v2-frontend/src/hooks/useWalletBalances.tsx
Bob van der Helm e763203d15
Mp 2182 convert api folder to swr hooks (#758)
* moved api/openingFee to hook

* moved api/icns and api/balances to hooks

* moved api/assetIncentivesApy to hooks

* moved api/incentives to hooks

* fix relative import
2024-01-31 09:17:13 +01:00

30 lines
766 B
TypeScript

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<Coin[]> {
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'))
}