diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-09-07 15:54:22 +0530 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-09-07 15:54:22 +0530 |
commit | be77ee284a819f7932831bd85e88c47c655addb2 (patch) | |
tree | e0e57cdc9a2889a16c6640f1e2346df85054409e /packages/taler-wallet-core/src/operations/pay.ts | |
parent | d0088323ce02c6cc2cbe1413eddb0b81f3f147f2 (diff) | |
download | wallet-core-be77ee284a819f7932831bd85e88c47c655addb2.tar.xz |
dynamic pay request timeout
Diffstat (limited to 'packages/taler-wallet-core/src/operations/pay.ts')
-rw-r--r-- | packages/taler-wallet-core/src/operations/pay.ts | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/taler-wallet-core/src/operations/pay.ts b/packages/taler-wallet-core/src/operations/pay.ts index 6452a11ae..50f863e48 100644 --- a/packages/taler-wallet-core/src/operations/pay.ts +++ b/packages/taler-wallet-core/src/operations/pay.ts @@ -68,6 +68,8 @@ import { durationMax, durationMin, isTimestampExpired, + durationMul, + durationAdd, } from "../util/time"; import { strcmp, canonicalJson } from "../util/helpers"; import { @@ -614,8 +616,8 @@ function getProposalRequestTimeout(proposal: ProposalRecord): Duration { ); } -function getPurchaseRequestTimeout(purchase: PurchaseRecord): Duration { - return { d_ms: 5000 }; +function getPayRequestTimeout(purchase: PurchaseRecord): Duration { + return durationMul({ d_ms: 5000 }, 1 + purchase.payCoinSelection.coinPubs.length / 20); } async function processDownloadProposalImpl( @@ -936,7 +938,7 @@ export async function submitPay( const resp = await ws.runSequentialized([EXCHANGE_COINS_LOCK], () => ws.http.postJson(payUrl, reqBody, { - timeout: getPurchaseRequestTimeout(purchase), + timeout: getPayRequestTimeout(purchase), }), ); |