diff options
author | Florian Dold <florian@dold.me> | 2024-02-20 02:19:41 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-02-20 02:19:41 +0100 |
commit | df6f50028339c033982b94662e8ab465383095b3 (patch) | |
tree | f2963e5bee0dbe9552b0978ab59f7d384be5f64a /packages/taler-wallet-core/src/balance.ts | |
parent | 578bd4b1ed12049800556460359cb55a1e8545a2 (diff) | |
download | wallet-core-df6f50028339c033982b94662e8ab465383095b3.tar.gz wallet-core-df6f50028339c033982b94662e8ab465383095b3.tar.bz2 wallet-core-df6f50028339c033982b94662e8ab465383095b3.zip |
wallet-core: count deposits towards pendingOutgoing
Diffstat (limited to 'packages/taler-wallet-core/src/balance.ts')
-rw-r--r-- | packages/taler-wallet-core/src/balance.ts | 30 |
1 files changed, 30 insertions, 0 deletions
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<void> { + 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, + ); + } + } + } + } } }); |