From df6f50028339c033982b94662e8ab465383095b3 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 20 Feb 2024 02:19:41 +0100 Subject: wallet-core: count deposits towards pendingOutgoing --- packages/taler-wallet-core/src/balance.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 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 e63ea6641..94a500384 100644 --- a/packages/taler-wallet-core/src/balance.ts +++ b/packages/taler-wallet-core/src/balance.ts @@ -196,6 +196,15 @@ class BalancesStore { b.pendingIncoming = Amounts.add(b.pendingIncoming, amount).amount; } + async addPendingOutgoing( + currency: string, + exchangeBaseUrl: string, + amount: AmountLike, + ): Promise { + const b = await this.initBalance(currency, exchangeBaseUrl); + b.pendingOutgoing = Amounts.add(b.pendingOutgoing, amount).amount; + } + async setFlagIncomingAml( currency: string, exchangeBaseUrl: string, @@ -388,6 +397,27 @@ export async function getBalancesInsideTransaction( case DepositOperationStatus.PendingKyc: await balanceStore.setFlagOutgoingKyc(currency, e); } + + switch (dgRecord.operationStatus) { + case DepositOperationStatus.SuspendedKyc: + case DepositOperationStatus.PendingKyc: + case DepositOperationStatus.PendingTrack: + case DepositOperationStatus.SuspendedAborting: + case DepositOperationStatus.SuspendedDeposit: + case DepositOperationStatus.SuspendedTrack: + case DepositOperationStatus.PendingDeposit: { + const perExchange = dgRecord.infoPerExchange; + if (perExchange) { + for (const [e, v] of Object.entries(perExchange)) { + await balanceStore.addPendingOutgoing( + currency, + e, + v.amountEffective, + ); + } + } + } + } } }); -- cgit v1.2.3