aboutsummaryrefslogtreecommitdiff
path: root/src/wallet-impl/pending.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/wallet-impl/pending.ts')
-rw-r--r--src/wallet-impl/pending.ts49
1 files changed, 34 insertions, 15 deletions
diff --git a/src/wallet-impl/pending.ts b/src/wallet-impl/pending.ts
index b0ae71f6b..2d4b16cf4 100644
--- a/src/wallet-impl/pending.ts
+++ b/src/wallet-impl/pending.ts
@@ -139,25 +139,17 @@ async function gatherReservePending(
if (!reserve.retryInfo.active) {
return;
}
- resp.nextRetryDelay = updateRetryDelay(
- resp.nextRetryDelay,
- now,
- reserve.retryInfo.nextRetry,
- );
- if (onlyDue && reserve.retryInfo.nextRetry.t_ms > now.t_ms) {
- return;
- }
switch (reserve.reserveStatus) {
case ReserveRecordStatus.DORMANT:
// nothing to report as pending
break;
- case ReserveRecordStatus.WITHDRAWING:
case ReserveRecordStatus.UNCONFIRMED:
- case ReserveRecordStatus.QUERYING_STATUS:
- case ReserveRecordStatus.REGISTERING_BANK:
+ if (onlyDue) {
+ break;
+ }
resp.pendingOperations.push({
type: "reserve",
- givesLifeness: true,
+ givesLifeness: false,
stage: reserve.reserveStatus,
timestampCreated: reserve.created,
reserveType,
@@ -166,9 +158,12 @@ async function gatherReservePending(
});
break;
case ReserveRecordStatus.WAIT_CONFIRM_BANK:
+ if (onlyDue) {
+ break;
+ }
resp.pendingOperations.push({
type: "reserve",
- givesLifeness: true,
+ givesLifeness: false,
stage: reserve.reserveStatus,
timestampCreated: reserve.created,
reserveType,
@@ -177,6 +172,27 @@ async function gatherReservePending(
retryInfo: reserve.retryInfo,
});
break;
+ case ReserveRecordStatus.WITHDRAWING:
+ case ReserveRecordStatus.QUERYING_STATUS:
+ case ReserveRecordStatus.REGISTERING_BANK:
+ resp.nextRetryDelay = updateRetryDelay(
+ resp.nextRetryDelay,
+ now,
+ reserve.retryInfo.nextRetry,
+ );
+ if (onlyDue && reserve.retryInfo.nextRetry.t_ms > now.t_ms) {
+ return;
+ }
+ resp.pendingOperations.push({
+ type: "reserve",
+ givesLifeness: true,
+ stage: reserve.reserveStatus,
+ timestampCreated: reserve.created,
+ reserveType,
+ reservePub: reserve.reservePub,
+ retryInfo: reserve.retryInfo,
+ });
+ break;
default:
resp.pendingOperations.push({
type: "bug",
@@ -265,7 +281,10 @@ async function gatherWithdrawalPending(
if (onlyDue && wsr.retryInfo.nextRetry.t_ms > now.t_ms) {
return;
}
- const numCoinsWithdrawn = wsr.withdrawn.reduce((a, x) => a + (x ? 1 : 0), 0);
+ const numCoinsWithdrawn = wsr.withdrawn.reduce(
+ (a, x) => a + (x ? 1 : 0),
+ 0,
+ );
const numCoinsTotal = wsr.withdrawn.length;
resp.pendingOperations.push({
type: "withdraw",
@@ -352,7 +371,7 @@ async function gatherPurchasePending(
resp: PendingOperationsResponse,
onlyDue: boolean = false,
): Promise<void> {
- await tx.iter(Stores.purchases).forEach((pr) => {
+ await tx.iter(Stores.purchases).forEach(pr => {
if (!pr.firstSuccessfulPayTimestamp) {
resp.nextRetryDelay = updateRetryDelay(
resp.nextRetryDelay,