27 lines
838 B
TypeScript
27 lines
838 B
TypeScript
import useSWR from 'swr'
|
|
|
|
import getAccountIds from 'api/wallets/getAccountIds'
|
|
import useChainConfig from 'hooks/useChainConfig'
|
|
|
|
export default function useAccountIdsAndKinds(address?: string, suspense = true, noHls = false) {
|
|
const chainConfig = useChainConfig()
|
|
return useSWR(
|
|
address &&
|
|
`chains/${chainConfig.id}/wallets/${address}/account-ids${noHls ? '-without-hls' : ''}`,
|
|
() =>
|
|
getAccountIds(chainConfig, address).then((accountIdsAndKinds) => {
|
|
if (noHls) {
|
|
return accountIdsAndKinds
|
|
.filter((accountIdAndKind) => accountIdAndKind.kind !== 'high_levered_strategy')
|
|
.map((a) => a.id)
|
|
}
|
|
return accountIdsAndKinds.map((a) => a.id)
|
|
}),
|
|
{
|
|
suspense: suspense,
|
|
fallback: [] as string[],
|
|
revalidateOnFocus: false,
|
|
},
|
|
)
|
|
}
|