commit f661cc9d5313f607776a9af634aae43722e94e7b
parent ec4680d7b97d45094c117ae00a4cf1aa4fbff79b
Author: Florian Dold <florian@dold.me>
Date: Wed, 1 Jul 2026 18:24:15 +0200
wallet-core: only transition to bank-confirm-transfer if necessary
Diffstat:
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/packages/taler-wallet-core/src/withdraw.ts b/packages/taler-wallet-core/src/withdraw.ts
@@ -3194,7 +3194,7 @@ async function registerReserveWithBank(
return TaskRunResult.progress();
}
- const status = await readSuccessResponseJsonOrThrow(
+ const bankWopStatus = await readSuccessResponseJsonOrThrow(
httpResp,
codecForBankWithdrawalOperationPostResponse(),
);
@@ -3217,8 +3217,20 @@ async function registerReserveWithBank(
r.wgInfo.bankInfo.timestampReserveInfoPosted = timestampPreciseToDb(
AbsoluteTime.toPreciseTimestamp(AbsoluteTime.now()),
);
- r.status = WithdrawalGroupStatus.PendingWaitConfirmBank;
- r.wgInfo.bankInfo.confirmUrl = status.confirm_transfer_url;
+ const now = AbsoluteTime.toPreciseTimestamp(AbsoluteTime.now());
+ switch (bankWopStatus.status) {
+ case "confirmed":
+ r.status = WithdrawalGroupStatus.PendingQueryingStatus;
+ break;
+ case "aborted":
+ r.status = WithdrawalGroupStatus.FailedBankAborted;
+ r.wgInfo.bankInfo.timestampBankConfirmed = timestampPreciseToDb(now);
+ break;
+ default:
+ r.status = WithdrawalGroupStatus.PendingWaitConfirmBank;
+ r.wgInfo.bankInfo.confirmUrl = bankWopStatus.confirm_transfer_url;
+ break;
+ }
await h.update(r);
return TaskRunResult.progress();
});