diff options
author | Florian Dold <florian@dold.me> | 2021-04-14 18:21:23 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-04-14 18:21:23 +0200 |
commit | f4b5f3cff8c29b4aab31d1ef0d0cefd32045db63 (patch) | |
tree | 3f27375b097edeae35010d5642ea964969001f98 /packages/taler-wallet-core/src/operations/withdraw.ts | |
parent | 14f13250a01ad15d9fb1ba956fc5409c7f76a2fa (diff) | |
download | wallet-core-f4b5f3cff8c29b4aab31d1ef0d0cefd32045db63.tar.gz wallet-core-f4b5f3cff8c29b4aab31d1ef0d0cefd32045db63.tar.bz2 wallet-core-f4b5f3cff8c29b4aab31d1ef0d0cefd32045db63.zip |
implement debug flag for allowing late withdrawal
Diffstat (limited to 'packages/taler-wallet-core/src/operations/withdraw.ts')
-rw-r--r-- | packages/taler-wallet-core/src/operations/withdraw.ts | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/packages/taler-wallet-core/src/operations/withdraw.ts b/packages/taler-wallet-core/src/operations/withdraw.ts index fcaa0e6d5..237ef9fc6 100644 --- a/packages/taler-wallet-core/src/operations/withdraw.ts +++ b/packages/taler-wallet-core/src/operations/withdraw.ts @@ -20,6 +20,7 @@ import { AmountJson, Amounts, + durationFromSpec, parseWithdrawUri, Timestamp, } from "@gnu-taler/taler-util"; @@ -74,6 +75,7 @@ import { URL } from "../util/url"; import { TalerErrorCode } from "@gnu-taler/taler-util"; import { updateRetryInfoTimeout, initRetryInfo } from "../util/retries"; import { compare } from "@gnu-taler/taler-util"; +import { walletCoreDebugFlags } from "../util/debugFlags.js"; /** * Logger for this file. @@ -174,10 +176,15 @@ interface ExchangeWithdrawDetails { export function isWithdrawableDenom(d: DenominationRecord): boolean { const now = getTimestampNow(); const started = timestampCmp(now, d.stampStart) >= 0; - const lastPossibleWithdraw = timestampSubtractDuraction( - d.stampExpireWithdraw, - { d_ms: 50 * 1000 }, - ); + let lastPossibleWithdraw: Timestamp; + if (walletCoreDebugFlags.denomselAllowLate) { + lastPossibleWithdraw = d.stampExpireWithdraw; + } else { + lastPossibleWithdraw = timestampSubtractDuraction( + d.stampExpireWithdraw, + durationFromSpec({ minutes: 5 }), + ); + } const remaining = getDurationRemaining(lastPossibleWithdraw, now); const stillOkay = remaining.d_ms !== 0; return started && stillOkay && !d.isRevoked; |