@reservoir0x/relay-kit-ui
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
40 lines • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const RelayKitProvider_js_1 = require("../providers/RelayKitProvider.js");
const react_1 = require("react");
const react_query_1 = require("@tanstack/react-query");
exports.default = (address, queryOptions) => {
const providerOptions = (0, react_1.useContext)(RelayKitProvider_js_1.ProviderOptionsContext);
const queryKey = ['useBitcoinBalance', address];
const response = react_query_1.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