From c493a3069ec330b955efd8604cb9d8b76277c74e Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 13 Dec 2021 11:28:15 +0100 Subject: wallet-core: reset reserve retry when resetting withdrawal retry --- .../taler-wallet-core/src/operations/reserves.ts | 53 +++++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) (limited to 'packages/taler-wallet-core/src/operations/reserves.ts') diff --git a/packages/taler-wallet-core/src/operations/reserves.ts b/packages/taler-wallet-core/src/operations/reserves.ts index 43e0d7d36..5a9fbb405 100644 --- a/packages/taler-wallet-core/src/operations/reserves.ts +++ b/packages/taler-wallet-core/src/operations/reserves.ts @@ -15,35 +15,63 @@ */ import { - AcceptWithdrawalResponse, addPaytoQueryParams, Amounts, canonicalizeBaseUrl, codecForBankWithdrawalOperationPostResponse, + AcceptWithdrawalResponse, + addPaytoQueryParams, + Amounts, + canonicalizeBaseUrl, + codecForBankWithdrawalOperationPostResponse, codecForReserveStatus, - codecForWithdrawOperationStatusResponse, CreateReserveRequest, - CreateReserveResponse, Duration, + codecForWithdrawOperationStatusResponse, + CreateReserveRequest, + CreateReserveResponse, + Duration, durationMax, - durationMin, encodeCrock, getRandomBytes, getTimestampNow, Logger, NotificationType, randomBytes, ReserveTransactionType, - TalerErrorCode, TalerErrorDetails, URL + durationMin, + encodeCrock, + getRandomBytes, + getTimestampNow, + Logger, + NotificationType, + randomBytes, + ReserveTransactionType, + TalerErrorCode, + TalerErrorDetails, + URL, } from "@gnu-taler/taler-util"; import { InternalWalletState } from "../common.js"; import { ReserveBankInfo, - ReserveRecord, ReserveRecordStatus, WalletStoresV1, WithdrawalGroupRecord + ReserveRecord, + ReserveRecordStatus, + WalletStoresV1, + WithdrawalGroupRecord, } from "../db.js"; import { guardOperationException, OperationFailedError } from "../errors.js"; import { assertUnreachable } from "../util/assertUnreachable.js"; import { readSuccessResponseJsonOrErrorCode, readSuccessResponseJsonOrThrow, - throwUnexpectedRequestError + throwUnexpectedRequestError, } from "../util/http.js"; import { GetReadOnlyAccess } from "../util/query.js"; import { - getRetryDuration, initRetryInfo, updateRetryInfoTimeout + getRetryDuration, + initRetryInfo, + updateRetryInfoTimeout, } from "../util/retries.js"; import { - getExchangeDetails, getExchangePaytoUri, getExchangeTrust, updateExchangeFromUrl + getExchangeDetails, + getExchangePaytoUri, + getExchangeTrust, + updateExchangeFromUrl, } from "./exchanges.js"; import { - denomSelectionInfoToState, getBankWithdrawalInfo, getCandidateWithdrawalDenoms, processWithdrawGroup, selectWithdrawalDenominations, updateWithdrawalDenoms + denomSelectionInfoToState, + getBankWithdrawalInfo, + getCandidateWithdrawalDenoms, + processWithdrawGroup, + selectWithdrawalDenominations, + updateWithdrawalDenoms, } from "./withdraw.js"; const logger = new Logger("reserves.ts"); @@ -514,7 +542,7 @@ async function updateReserve( if ( resp.status === 404 && result.talerErrorResponse.code === - TalerErrorCode.EXCHANGE_RESERVES_GET_STATUS_UNKNOWN + TalerErrorCode.EXCHANGE_RESERVES_GET_STATUS_UNKNOWN ) { ws.notify({ type: NotificationType.ReserveNotYetFound, @@ -617,7 +645,8 @@ async function updateReserve( logger.trace( `Remaining unclaimed amount in reseve is ${Amounts.stringify( remainingAmount, - )} and can be withdrawn with ${denomSelInfo.selectedDenoms.length + )} and can be withdrawn with ${ + denomSelInfo.selectedDenoms.length } coins`, ); -- cgit v1.2.3