From 65a656163797e9dd298b34ec916b982082db7f52 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 3 Apr 2024 16:21:33 +0200 Subject: wallet-core: allow deposits with balance locked behind refresh --- packages/taler-wallet-core/src/transactions.ts | 29 +++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'packages/taler-wallet-core/src/transactions.ts') diff --git a/packages/taler-wallet-core/src/transactions.ts b/packages/taler-wallet-core/src/transactions.ts index e404c0354..463aa97ba 100644 --- a/packages/taler-wallet-core/src/transactions.ts +++ b/packages/taler-wallet-core/src/transactions.ts @@ -894,10 +894,14 @@ function buildTransactionForDeposit( ort?: OperationRetryRecord, ): Transaction { let deposited = true; - for (const d of dg.statusPerCoin) { - if (d == DepositElementStatus.DepositPending) { - deposited = false; + if (dg.statusPerCoin) { + for (const d of dg.statusPerCoin) { + if (d == DepositElementStatus.DepositPending) { + deposited = false; + } } + } else { + deposited = false; } const trackingState: DepositTransactionTrackingState[] = []; @@ -911,6 +915,17 @@ function buildTransactionForDeposit( }); } + let wireTransferProgress = 0; + if (dg.statusPerCoin) { + wireTransferProgress = + (100 * + dg.statusPerCoin.reduce( + (prev, cur) => prev + (cur === DepositElementStatus.Wired ? 1 : 0), + 0, + )) / + dg.statusPerCoin.length; + } + const txState = computeDepositTransactionStatus(dg); return { type: TransactionType.Deposit, @@ -927,13 +942,7 @@ function buildTransactionForDeposit( tag: TransactionType.Deposit, depositGroupId: dg.depositGroupId, }), - wireTransferProgress: - (100 * - dg.statusPerCoin.reduce( - (prev, cur) => prev + (cur === DepositElementStatus.Wired ? 1 : 0), - 0, - )) / - dg.statusPerCoin.length, + wireTransferProgress, depositGroupId: dg.depositGroupId, trackingState, deposited, -- cgit v1.2.3