UNPKG

@reservoir0x/relay-kit-ui

Version:

Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.

45 lines 1.58 kB
import { useQuery } from '@tanstack/react-query'; import useRelayClient from './useRelayClient.js'; export default (address, coinType = '0x2::sui::SUI', queryOptions) => { const client = useRelayClient(); const rpcUrl = client?.baseApiUrl?.includes('testnet') ? 'https://fullnode.testnet.sui.io:443' : 'https://fullnode.mainnet.sui.io:443'; const queryKey = ['useSuiBalance', address, coinType, rpcUrl]; const response = useQuery({ queryKey, queryFn: async () => { const payload = { jsonrpc: '2.0', id: 1, method: 'suix_getBalance', params: [address, coinType] }; const response = await fetch(rpcUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); const data = await response.json(); if (data.error) { throw new Error(data.error.message); } const result = data.result; return { balance: BigInt(result.totalBalance), lockedBalance: BigInt(Object.values(result.lockedBalance)[0] || 0) }; }, enabled: address !== undefined, ...queryOptions }); return { ...response, balance: response.data?.balance, lockedBalance: response.data?.lockedBalance, queryKey }; }; //# sourceMappingURL=useSuiBalance.js.map