commit be0f21389bb2c206344ed9c4f78c72ae84d5548d
parent 3a1a56704da4d77a2bbedd70a7fe4d26b00165fb
Author: Florian Dold <florian@dold.me>
Date: Wed, 27 Mar 2024 19:21:53 +0100
wallet-core: empty balance item for exchanges that are used or have accepted ToS
Diffstat:
1 file changed, 13 insertions(+), 0 deletions(-)
diff --git 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);