taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

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:
Mpackages/taler-wallet-core/src/balance.ts | 13+++++++++++++
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);