consider deposit operations for pending operations
This commit is contained in:
parent
15eea5da9f
commit
c077c0d8c0
@ -56,7 +56,9 @@ export async function runDepositTest(t: GlobalTestState) {
|
|||||||
);
|
);
|
||||||
console.log("transactions", JSON.stringify(transactions, undefined, 2));
|
console.log("transactions", JSON.stringify(transactions, undefined, 2));
|
||||||
t.assertDeepEqual(transactions.transactions[0].type, "withdrawal");
|
t.assertDeepEqual(transactions.transactions[0].type, "withdrawal");
|
||||||
|
t.assertTrue(!transactions.transactions[0].pending);
|
||||||
t.assertDeepEqual(transactions.transactions[1].type, "deposit");
|
t.assertDeepEqual(transactions.transactions[1].type, "deposit");
|
||||||
|
t.assertTrue(!transactions.transactions[1].pending);
|
||||||
// The raw amount is what ends up on the bank account, which includes
|
// The raw amount is what ends up on the bank account, which includes
|
||||||
// deposit and wire fees.
|
// deposit and wire fees.
|
||||||
t.assertDeepEqual(transactions.transactions[1].amountRaw, "TESTKUDOS:9.79");
|
t.assertDeepEqual(transactions.transactions[1].amountRaw, "TESTKUDOS:9.79");
|
||||||
|
@ -180,6 +180,27 @@ async function gatherProposalPending(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function gatherDepositPending(
|
||||||
|
tx: GetReadOnlyAccess<{ depositGroups: typeof WalletStoresV1.depositGroups }>,
|
||||||
|
now: Timestamp,
|
||||||
|
resp: PendingOperationsResponse,
|
||||||
|
): Promise<void> {
|
||||||
|
await tx.depositGroups.iter().forEach((dg) => {
|
||||||
|
if (dg.timestampFinished) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const timestampDue = dg.retryInfo?.nextRetry ?? getTimestampNow();
|
||||||
|
resp.pendingOperations.push({
|
||||||
|
type: PendingTaskType.Deposit,
|
||||||
|
givesLifeness: true,
|
||||||
|
timestampDue,
|
||||||
|
depositGroupId: dg.depositGroupId,
|
||||||
|
lastError: dg.lastError,
|
||||||
|
retryInfo: dg.retryInfo,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
async function gatherTipPending(
|
async function gatherTipPending(
|
||||||
tx: GetReadOnlyAccess<{ tips: typeof WalletStoresV1.tips }>,
|
tx: GetReadOnlyAccess<{ tips: typeof WalletStoresV1.tips }>,
|
||||||
now: Timestamp,
|
now: Timestamp,
|
||||||
@ -313,6 +334,7 @@ export async function getPendingOperations(
|
|||||||
await gatherRefreshPending(tx, now, resp);
|
await gatherRefreshPending(tx, now, resp);
|
||||||
await gatherWithdrawalPending(tx, now, resp);
|
await gatherWithdrawalPending(tx, now, resp);
|
||||||
await gatherProposalPending(tx, now, resp);
|
await gatherProposalPending(tx, now, resp);
|
||||||
|
await gatherDepositPending(tx, now, resp);
|
||||||
await gatherTipPending(tx, now, resp);
|
await gatherTipPending(tx, now, resp);
|
||||||
await gatherPurchasePending(tx, now, resp);
|
await gatherPurchasePending(tx, now, resp);
|
||||||
await gatherRecoupPending(tx, now, resp);
|
await gatherRecoupPending(tx, now, resp);
|
||||||
|
Loading…
Reference in New Issue
Block a user