summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/pay-peer.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-05-28 18:03:28 +0200
committerFlorian Dold <florian@dold.me>2023-05-30 09:33:38 +0200
commit246f914ca62906b463dfe98e834b5ade379a97e0 (patch)
tree3a55e74b74f3ebbae7d6d42fc0eee2c251d85de7 /packages/taler-wallet-core/src/operations/pay-peer.ts
parentbd7ca80ff6528377afdfcb94f612393853d3f69c (diff)
downloadwallet-core-246f914ca62906b463dfe98e834b5ade379a97e0.tar.gz
wallet-core-246f914ca62906b463dfe98e834b5ade379a97e0.tar.bz2
wallet-core-246f914ca62906b463dfe98e834b5ade379a97e0.zip
wallet-core: missing suspended states
Diffstat (limited to 'packages/taler-wallet-core/src/operations/pay-peer.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/pay-peer.ts65
1 files changed, 46 insertions, 19 deletions
diff --git a/packages/taler-wallet-core/src/operations/pay-peer.ts b/packages/taler-wallet-core/src/operations/pay-peer.ts
index f464948f8..fb1260e3c 100644
--- a/packages/taler-wallet-core/src/operations/pay-peer.ts
+++ b/packages/taler-wallet-core/src/operations/pay-peer.ts
@@ -84,7 +84,7 @@ import { SpendCoinDetails } from "../crypto/cryptoImplementation.js";
import {
DenominationRecord,
PeerPullPaymentIncomingRecord,
- PeerPullPaymentIncomingStatus,
+ PeerPullDebitRecordStatus,
PeerPullPaymentInitiationRecord,
PeerPullPaymentInitiationStatus,
PeerPushPaymentCoinSelection,
@@ -828,7 +828,8 @@ export async function preparePeerPushCredit(
existing.existingPushInc.peerPushPaymentIncomingId,
transactionId: constructTransactionIdentifier({
tag: TransactionType.PeerPushCredit,
- peerPushPaymentIncomingId: existing.existingPushInc.peerPushPaymentIncomingId,
+ peerPushPaymentIncomingId:
+ existing.existingPushInc.peerPushPaymentIncomingId,
}),
};
}
@@ -892,7 +893,7 @@ export async function preparePeerPushCredit(
pursePub: pursePub,
timestamp: TalerPreciseTimestamp.now(),
contractTermsHash,
- status: PeerPushPaymentIncomingStatus.Proposed,
+ status: PeerPushPaymentIncomingStatus.DialogProposed,
withdrawalGroupId,
currency: Amounts.currencyOf(purseStatus.balance),
estimatedAmountEffective: Amounts.stringify(
@@ -1120,7 +1121,7 @@ export async function processPeerPushCredit(
return;
}
if (
- peerInc.status === PeerPushPaymentIncomingStatus.Accepted ||
+ peerInc.status === PeerPushPaymentIncomingStatus.PendingMerge ||
peerInc.status === PeerPushPaymentIncomingStatus.MergeKycRequired
) {
peerInc.status = PeerPushPaymentIncomingStatus.Done;
@@ -1149,8 +1150,8 @@ export async function confirmPeerPushCredit(
if (!peerInc) {
return;
}
- if (peerInc.status === PeerPushPaymentIncomingStatus.Proposed) {
- peerInc.status = PeerPushPaymentIncomingStatus.Accepted;
+ if (peerInc.status === PeerPushPaymentIncomingStatus.DialogProposed) {
+ peerInc.status = PeerPushPaymentIncomingStatus.PendingMerge;
}
await tx.peerPushPaymentIncoming.put(peerInc);
});
@@ -1185,7 +1186,7 @@ export async function processPeerPullDebit(
if (!peerPullInc) {
throw Error("peer pull debit not found");
}
- if (peerPullInc.status === PeerPullPaymentIncomingStatus.Accepted) {
+ if (peerPullInc.status === PeerPullDebitRecordStatus.PendingDeposit) {
const pursePub = peerPullInc.pursePub;
const coinSel = peerPullInc.coinSel;
@@ -1231,8 +1232,8 @@ export async function processPeerPullDebit(
if (!pi) {
throw Error("peer pull payment not found anymore");
}
- if (pi.status === PeerPullPaymentIncomingStatus.Accepted) {
- pi.status = PeerPullPaymentIncomingStatus.Paid;
+ if (pi.status === PeerPullDebitRecordStatus.PendingDeposit) {
+ pi.status = PeerPullDebitRecordStatus.DonePaid;
}
await tx.peerPullPaymentIncoming.put(pi);
});
@@ -1311,8 +1312,8 @@ export async function confirmPeerPullDebit(
if (!pi) {
throw Error();
}
- if (pi.status === PeerPullPaymentIncomingStatus.Proposed) {
- pi.status = PeerPullPaymentIncomingStatus.Accepted;
+ if (pi.status === PeerPullDebitRecordStatus.DialogProposed) {
+ pi.status = PeerPullDebitRecordStatus.PendingDeposit;
pi.coinSel = {
coinPubs: sel.coins.map((x) => x.coinPub),
contributions: sel.coins.map((x) => x.contribution),
@@ -1374,7 +1375,8 @@ export async function preparePeerPullDebit(
existingPullIncomingRecord.peerPullPaymentIncomingId,
transactionId: constructTransactionIdentifier({
tag: TransactionType.PeerPullDebit,
- peerPullPaymentIncomingId: existingPullIncomingRecord.peerPullPaymentIncomingId,
+ peerPullPaymentIncomingId:
+ existingPullIncomingRecord.peerPullPaymentIncomingId,
}),
};
}
@@ -1453,7 +1455,7 @@ export async function preparePeerPullDebit(
pursePub: pursePub,
timestampCreated: TalerPreciseTimestamp.now(),
contractTerms,
- status: PeerPullPaymentIncomingStatus.Proposed,
+ status: PeerPullDebitRecordStatus.DialogProposed,
totalCostEstimated: Amounts.stringify(totalAmount),
});
});
@@ -2249,12 +2251,12 @@ export function computePeerPushCreditTransactionState(
pushCreditRecord: PeerPushPaymentIncomingRecord,
): TransactionState {
switch (pushCreditRecord.status) {
- case PeerPushPaymentIncomingStatus.Proposed:
+ case PeerPushPaymentIncomingStatus.DialogProposed:
return {
major: TransactionMajorState.Dialog,
minor: TransactionMinorState.Proposed,
};
- case PeerPushPaymentIncomingStatus.Accepted:
+ case PeerPushPaymentIncomingStatus.PendingMerge:
return {
major: TransactionMajorState.Pending,
minor: TransactionMinorState.Merge,
@@ -2268,11 +2270,26 @@ export function computePeerPushCreditTransactionState(
major: TransactionMajorState.Pending,
minor: TransactionMinorState.KycRequired,
};
- case PeerPushPaymentIncomingStatus.Withdrawing:
+ case PeerPushPaymentIncomingStatus.PendingWithdrawing:
return {
major: TransactionMajorState.Pending,
minor: TransactionMinorState.Withdraw,
};
+ case PeerPushPaymentIncomingStatus.SuspendedMerge:
+ return {
+ major: TransactionMajorState.Suspended,
+ minor: TransactionMinorState.Merge,
+ };
+ case PeerPushPaymentIncomingStatus.SuspendedMergeKycRequired:
+ return {
+ major: TransactionMajorState.Suspended,
+ minor: TransactionMinorState.MergeKycRequired,
+ };
+ case PeerPushPaymentIncomingStatus.SuspendedWithdrawing:
+ return {
+ major: TransactionMajorState.Suspended,
+ minor: TransactionMinorState.Withdraw,
+ };
}
}
@@ -2319,6 +2336,11 @@ export function computePeerPullCreditTransactionState(
major: TransactionMajorState.Pending,
minor: TransactionMinorState.Withdraw,
};
+ case PeerPullPaymentInitiationStatus.SuspendedMergeKycRequired:
+ return {
+ major: TransactionMajorState.Suspended,
+ minor: TransactionMinorState.MergeKycRequired,
+ };
}
}
@@ -2326,19 +2348,24 @@ export function computePeerPullDebitTransactionState(
pullDebitRecord: PeerPullPaymentIncomingRecord,
): TransactionState {
switch (pullDebitRecord.status) {
- case PeerPullPaymentIncomingStatus.Proposed:
+ case PeerPullDebitRecordStatus.DialogProposed:
return {
major: TransactionMajorState.Dialog,
minor: TransactionMinorState.Proposed,
};
- case PeerPullPaymentIncomingStatus.Accepted:
+ case PeerPullDebitRecordStatus.PendingDeposit:
return {
major: TransactionMajorState.Pending,
minor: TransactionMinorState.Deposit,
};
- case PeerPullPaymentIncomingStatus.Paid:
+ case PeerPullDebitRecordStatus.DonePaid:
return {
major: TransactionMajorState.Done,
};
+ case PeerPullDebitRecordStatus.SuspendedDeposit:
+ return {
+ major: TransactionMajorState.Suspended,
+ minor: TransactionMinorState.Deposit,
+ };
}
}