From d8d214942cc2544d46448811303cedf15809f5b3 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 6 Jun 2023 17:25:17 +0200 Subject: wallet-core: truncate withdrawal errors --- packages/taler-wallet-core/src/operations/withdraw.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'packages/taler-wallet-core') diff --git a/packages/taler-wallet-core/src/operations/withdraw.ts b/packages/taler-wallet-core/src/operations/withdraw.ts index 61cab6fbb..26149bd06 100644 --- a/packages/taler-wallet-core/src/operations/withdraw.ts +++ b/packages/taler-wallet-core/src/operations/withdraw.ts @@ -1426,6 +1426,8 @@ async function processWithdrawalGroupPendingReady( let numKycRequired = 0; let finishedForFirstTime = false; const errorsPerCoin: Record = {}; + let numPlanchetErrors = 0; + const maxReportedErrors = 5; const res = await ws.db .mktx((x) => [x.coins, x.withdrawalGroups, x.planchets]) @@ -1445,7 +1447,10 @@ async function processWithdrawalGroupPendingReady( numKycRequired++; } if (x.lastError) { - errorsPerCoin[x.coinIdx] = x.lastError; + numPlanchetErrors++; + if (numPlanchetErrors < maxReportedErrors) { + errorsPerCoin[x.coinIdx] = x.lastError; + } } }); const oldTxState = computeWithdrawalTransactionStatus(wg); @@ -1507,6 +1512,7 @@ async function processWithdrawalGroupPendingReady( throw TalerError.fromDetail( TalerErrorCode.WALLET_WITHDRAWAL_GROUP_INCOMPLETE, { + numErrors: numPlanchetErrors, errorsPerCoin, }, `withdrawal did not finish (${numFinished} / ${numTotalCoins} coins withdrawn)`, -- cgit v1.2.3