From be0f21389bb2c206344ed9c4f78c72ae84d5548d Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 27 Mar 2024 19:21:53 +0100 Subject: wallet-core: empty balance item for exchanges that are used or have accepted ToS --- packages/taler-wallet-core/src/balance.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'packages/taler-wallet-core/src/balance.ts') diff --git a/packages/taler-wallet-core/src/balance.ts b/packages/taler-wallet-core/src/balance.ts index 5e3562ba2..50996b8de 100644 --- a/packages/taler-wallet-core/src/balance.ts +++ b/packages/taler-wallet-core/src/balance.ts @@ -67,6 +67,7 @@ import { import { ExchangeRestrictionSpec, findMatchingWire } from "./coinSelection.js"; import { DepositOperationStatus, + ExchangeEntryDbRecordStatus, OPERATION_STATUS_ACTIVE_FIRST, OPERATION_STATUS_ACTIVE_LAST, RefreshGroupRecord, @@ -304,6 +305,18 @@ export async function getBalancesInsideTransaction( OPERATION_STATUS_ACTIVE_LAST, ); + await tx.exchanges.iter().forEachAsync(async (ex) => { + if ( + ex.entryStatus === ExchangeEntryDbRecordStatus.Used || + ex.tosAcceptedTimestamp != null + ) { + const det = await getExchangeWireDetailsInTx(tx, ex.baseUrl); + if (det) { + await balanceStore.addZero(det.currency, ex.baseUrl); + } + } + }); + await tx.coinAvailability.iter().forEachAsync(async (ca) => { const count = ca.visibleCoinCount ?? 0; await balanceStore.addZero(ca.currency, ca.exchangeBaseUrl); -- cgit v1.2.3