@reservoir0x/relay-kit-ui
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
38 lines • 1.51 kB
JavaScript
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