UNPKG

@reservoir0x/relay-kit-ui

Version:

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

38 lines 1.51 kB
import { ProviderOptionsContext } from '../providers/RelayKitProvider.js'; import { useContext } from 'react'; import { useQuery } from '@tanstack/react-query'; export default (address, queryOptions) => { const providerOptions = useContext(ProviderOptionsContext); const queryKey = ['useBitcoinBalance', address]; const response = useQuery({ queryKey: ['useBitcoinBalance', address], queryFn: () => { const url = `https://mempool.space/api/address/${address}`; return fetch(url) .then((response) => response.json()) .then((response) => { let balance = BigInt(0); let inflightTxo = BigInt(0); if (response) { const balanceResponse = response; const fundedTxo = balanceResponse.chain_stats.funded_txo_sum; const spentTxo = balanceResponse.chain_stats.spent_txo_sum; inflightTxo = BigInt(balanceResponse.mempool_stats.spent_txo_sum); balance = BigInt(fundedTxo) - BigInt(spentTxo) - inflightTxo; } return { balance, pendingBalance: inflightTxo }; }); }, enabled: address !== undefined, ...queryOptions }); return { ...response, balance: response.data?.balance, queryKey }; }; //# sourceMappingURL=useBitcoinBalance.js.map