taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

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:
Mpackages/taler-wallet-core/src/withdraw.ts | 18+++++++++++++++---
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(); });