diff --git a/packages/extension-base/src/services/balance-service/helpers/balance/bitcoin.ts b/packages/extension-base/src/services/balance-service/helpers/balance/bitcoin.ts index fa413568850..5c92e45566b 100644 --- a/packages/extension-base/src/services/balance-service/helpers/balance/bitcoin.ts +++ b/packages/extension-base/src/services/balance-service/helpers/balance/bitcoin.ts @@ -9,7 +9,6 @@ import { _BitcoinApi } from '@subwallet/extension-base/services/chain-service/ty import { _getChainNativeTokenSlug, _getRuneId } from '@subwallet/extension-base/services/chain-service/utils'; import { BalanceItem, UtxoResponseItem } from '@subwallet/extension-base/types'; import { filterAssetsByChainAndType, filteredOutTxsUtxos, getInscriptionUtxos, getRuneUtxos } from '@subwallet/extension-base/utils'; -import BigN from 'bignumber.js'; // todo: update bitcoin params function subscribeRuneBalance (bitcoinApi: _BitcoinApi, addresses: string[], assetMap: Record, chainInfo: _ChainInfo, callback: (rs: BalanceItem[]) => void) { @@ -161,27 +160,18 @@ export const getTransferableBitcoinUtxos = async (bitcoinApi: _BitcoinApi, addre async function getBitcoinBalance (bitcoinApi: _BitcoinApi, addresses: string[]) { return await Promise.all(addresses.map(async (address) => { try { - const [filteredUtxos, addressSummaryInfo] = await Promise.all([ - getTransferableBitcoinUtxos(bitcoinApi, address), - bitcoinApi.api.getAddressSummaryInfo(address) - ]); + const addressSummaryInfo = await bitcoinApi.api.getAddressSummaryInfo(address); const bitcoinBalanceMetadata = { inscriptionCount: addressSummaryInfo.total_inscription } as BitcoinBalanceMetadata; - let balanceValue = new BigN(0); - - filteredUtxos.forEach((utxo) => { - balanceValue = balanceValue.plus(utxo.value); - }); - return { - balance: balanceValue.toString(), + balance: addressSummaryInfo.balance.toString(), bitcoinBalanceMetadata: bitcoinBalanceMetadata }; } catch (error) { - console.log('Error while fetching Bitcoin balances', error); + console.log(`Error while fetching Bitcoin balances for address ${address}`, error); return { balance: '0', diff --git a/packages/extension-base/src/services/chain-service/handler/bitcoin/strategy/BlockStream/types.ts b/packages/extension-base/src/services/chain-service/handler/bitcoin/strategy/BlockStream/types.ts index 28b497c3cab..48c4bbbc16e 100644 --- a/packages/extension-base/src/services/chain-service/handler/bitcoin/strategy/BlockStream/types.ts +++ b/packages/extension-base/src/services/chain-service/handler/bitcoin/strategy/BlockStream/types.ts @@ -34,6 +34,8 @@ export interface BitcoinAddressSummaryInfo { tx_count: number }, balance: number, + balance_inscription: number, + balance_rune: number, total_inscription: number }