aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts321
1 files changed, 166 insertions, 155 deletions
diff --git a/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts b/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts
index 2349e5c4a..e80ffc059 100644
--- a/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts
+++ b/packages/taler-wallet-core/src/operations/pay-peer-push-debit.ts
@@ -51,8 +51,8 @@ import {
} from "@gnu-taler/taler-util/http";
import { EncryptContractRequest } from "../crypto/cryptoTypes.js";
import {
- PeerPushPaymentInitiationRecord,
- PeerPushPaymentInitiationStatus,
+ PeerPushDebitRecord,
+ PeerPushDebitStatus,
RefreshOperationStatus,
createRefreshGroup,
} from "../index.js";
@@ -107,7 +107,7 @@ export async function checkPeerPushDebit(
async function handlePurseCreationConflict(
ws: InternalWalletState,
- peerPushInitiation: PeerPushPaymentInitiationRecord,
+ peerPushInitiation: PeerPushDebitRecord,
resp: HttpResponse,
): Promise<TaskRunResult> {
const pursePub = peerPushInitiation.pursePub;
@@ -152,17 +152,15 @@ async function handlePurseCreationConflict(
}
await ws.db
- .mktx((x) => [x.peerPushPaymentInitiations])
+ .mktx((x) => [x.peerPushDebit])
.runReadWrite(async (tx) => {
- const myPpi = await tx.peerPushPaymentInitiations.get(
- peerPushInitiation.pursePub,
- );
+ const myPpi = await tx.peerPushDebit.get(peerPushInitiation.pursePub);
if (!myPpi) {
return;
}
switch (myPpi.status) {
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
- case PeerPushPaymentInitiationStatus.SuspendedCreatePurse: {
+ case PeerPushDebitStatus.PendingCreatePurse:
+ case PeerPushDebitStatus.SuspendedCreatePurse: {
const sel = coinSelRes.result;
myPpi.coinSel = {
coinPubs: sel.coins.map((x) => x.coinPub),
@@ -173,19 +171,36 @@ async function handlePurseCreationConflict(
default:
return;
}
- await tx.peerPushPaymentInitiations.put(myPpi);
+ await tx.peerPushDebit.put(myPpi);
});
return TaskRunResult.finished();
}
async function processPeerPushDebitCreateReserve(
ws: InternalWalletState,
- peerPushInitiation: PeerPushPaymentInitiationRecord,
+ peerPushInitiation: PeerPushDebitRecord,
): Promise<TaskRunResult> {
- logger.info("processing peer-push-debit pending(create-reserve)");
const pursePub = peerPushInitiation.pursePub;
const purseExpiration = peerPushInitiation.purseExpiration;
const hContractTerms = peerPushInitiation.contractTermsHash;
+ const transactionId = constructTransactionIdentifier({
+ tag: TransactionType.PeerPushDebit,
+ pursePub: pursePub,
+ });
+
+ logger.trace(`processing ${transactionId} pending(create-reserve)`);
+
+ const contractTermsRecord = await ws.db
+ .mktx((x) => [x.contractTerms])
+ .runReadOnly(async (tx) => {
+ return tx.contractTerms.get(hContractTerms);
+ });
+
+ if (!contractTermsRecord) {
+ throw Error(
+ `db invariant failed, contract terms for ${transactionId} missing`,
+ );
+ }
const purseSigResp = await ws.cryptoApi.signPurseCreation({
hContractTerms,
@@ -208,7 +223,7 @@ async function processPeerPushDebitCreateReserve(
});
const encryptContractRequest: EncryptContractRequest = {
- contractTerms: peerPushInitiation.contractTerms,
+ contractTerms: contractTermsRecord.contractTermsRaw,
mergePriv: peerPushInitiation.mergePriv,
pursePriv: peerPushInitiation.pursePriv,
pursePub: peerPushInitiation.pursePub,
@@ -284,8 +299,8 @@ async function processPeerPushDebitCreateReserve(
}
await transitionPeerPushDebitTransaction(ws, pursePub, {
- stFrom: PeerPushPaymentInitiationStatus.PendingCreatePurse,
- stTo: PeerPushPaymentInitiationStatus.PendingReady,
+ stFrom: PeerPushDebitStatus.PendingCreatePurse,
+ stTo: PeerPushDebitStatus.PendingReady,
});
return TaskRunResult.finished();
@@ -293,7 +308,7 @@ async function processPeerPushDebitCreateReserve(
async function processPeerPushDebitAbortingDeletePurse(
ws: InternalWalletState,
- peerPushInitiation: PeerPushPaymentInitiationRecord,
+ peerPushInitiation: PeerPushDebitRecord,
): Promise<TaskRunResult> {
const { pursePub, pursePriv } = peerPushInitiation;
const transactionId = constructTransactionIdentifier({
@@ -318,20 +333,18 @@ async function processPeerPushDebitAbortingDeletePurse(
const transitionInfo = await ws.db
.mktx((x) => [
- x.peerPushPaymentInitiations,
+ x.peerPushDebit,
x.refreshGroups,
x.denominations,
x.coinAvailability,
x.coins,
])
.runReadWrite(async (tx) => {
- const ppiRec = await tx.peerPushPaymentInitiations.get(pursePub);
+ const ppiRec = await tx.peerPushDebit.get(pursePub);
if (!ppiRec) {
return undefined;
}
- if (
- ppiRec.status !== PeerPushPaymentInitiationStatus.AbortingDeletePurse
- ) {
+ if (ppiRec.status !== PeerPushDebitStatus.AbortingDeletePurse) {
return undefined;
}
const currency = Amounts.currencyOf(ppiRec.amount);
@@ -352,9 +365,9 @@ async function processPeerPushDebitAbortingDeletePurse(
coinPubs,
RefreshReason.AbortPeerPushDebit,
);
- ppiRec.status = PeerPushPaymentInitiationStatus.AbortingRefresh;
+ ppiRec.status = PeerPushDebitStatus.AbortingRefresh;
ppiRec.abortRefreshGroupId = refresh.refreshGroupId;
- await tx.peerPushPaymentInitiations.put(ppiRec);
+ await tx.peerPushDebit.put(ppiRec);
const newTxState = computePeerPushDebitTransactionState(ppiRec);
return {
oldTxState,
@@ -367,8 +380,8 @@ async function processPeerPushDebitAbortingDeletePurse(
}
interface SimpleTransition {
- stFrom: PeerPushPaymentInitiationStatus;
- stTo: PeerPushPaymentInitiationStatus;
+ stFrom: PeerPushDebitStatus;
+ stTo: PeerPushDebitStatus;
}
async function transitionPeerPushDebitTransaction(
@@ -381,9 +394,9 @@ async function transitionPeerPushDebitTransaction(
pursePub,
});
const transitionInfo = await ws.db
- .mktx((x) => [x.peerPushPaymentInitiations])
+ .mktx((x) => [x.peerPushDebit])
.runReadWrite(async (tx) => {
- const ppiRec = await tx.peerPushPaymentInitiations.get(pursePub);
+ const ppiRec = await tx.peerPushDebit.get(pursePub);
if (!ppiRec) {
return undefined;
}
@@ -392,7 +405,7 @@ async function transitionPeerPushDebitTransaction(
}
const oldTxState = computePeerPushDebitTransactionState(ppiRec);
ppiRec.status = transitionSpec.stTo;
- await tx.peerPushPaymentInitiations.put(ppiRec);
+ await tx.peerPushDebit.put(ppiRec);
const newTxState = computePeerPushDebitTransactionState(ppiRec);
return {
oldTxState,
@@ -404,7 +417,7 @@ async function transitionPeerPushDebitTransaction(
async function processPeerPushDebitAbortingRefresh(
ws: InternalWalletState,
- peerPushInitiation: PeerPushPaymentInitiationRecord,
+ peerPushInitiation: PeerPushDebitRecord,
): Promise<TaskRunResult> {
const pursePub = peerPushInitiation.pursePub;
const abortRefreshGroupId = peerPushInitiation.abortRefreshGroupId;
@@ -414,33 +427,33 @@ async function processPeerPushDebitAbortingRefresh(
pursePub: peerPushInitiation.pursePub,
});
const transitionInfo = await ws.db
- .mktx((x) => [x.refreshGroups, x.peerPushPaymentInitiations])
+ .mktx((x) => [x.refreshGroups, x.peerPushDebit])
.runReadWrite(async (tx) => {
const refreshGroup = await tx.refreshGroups.get(abortRefreshGroupId);
- let newOpState: PeerPushPaymentInitiationStatus | undefined;
+ let newOpState: PeerPushDebitStatus | undefined;
if (!refreshGroup) {
// Maybe it got manually deleted? Means that we should
// just go into failed.
logger.warn("no aborting refresh group found for deposit group");
- newOpState = PeerPushPaymentInitiationStatus.Failed;
+ newOpState = PeerPushDebitStatus.Failed;
} else {
if (refreshGroup.operationStatus === RefreshOperationStatus.Finished) {
- newOpState = PeerPushPaymentInitiationStatus.Aborted;
+ newOpState = PeerPushDebitStatus.Aborted;
} else if (
refreshGroup.operationStatus === RefreshOperationStatus.Failed
) {
- newOpState = PeerPushPaymentInitiationStatus.Failed;
+ newOpState = PeerPushDebitStatus.Failed;
}
}
if (newOpState) {
- const newDg = await tx.peerPushPaymentInitiations.get(pursePub);
+ const newDg = await tx.peerPushDebit.get(pursePub);
if (!newDg) {
return;
}
const oldTxState = computePeerPushDebitTransactionState(newDg);
newDg.status = newOpState;
const newTxState = computePeerPushDebitTransactionState(newDg);
- await tx.peerPushPaymentInitiations.put(newDg);
+ await tx.peerPushDebit.put(newDg);
return { oldTxState, newTxState };
}
return undefined;
@@ -455,7 +468,7 @@ async function processPeerPushDebitAbortingRefresh(
*/
async function processPeerPushDebitReady(
ws: InternalWalletState,
- peerPushInitiation: PeerPushPaymentInitiationRecord,
+ peerPushInitiation: PeerPushDebitRecord,
): Promise<TaskRunResult> {
logger.info("processing peer-push-debit pending(ready)");
const pursePub = peerPushInitiation.pursePub;
@@ -488,8 +501,8 @@ async function processPeerPushDebitReady(
ws,
peerPushInitiation.pursePub,
{
- stFrom: PeerPushPaymentInitiationStatus.PendingReady,
- stTo: PeerPushPaymentInitiationStatus.Done,
+ stFrom: PeerPushDebitStatus.PendingReady,
+ stTo: PeerPushDebitStatus.Done,
},
);
return {
@@ -501,8 +514,8 @@ async function processPeerPushDebitReady(
ws,
peerPushInitiation.pursePub,
{
- stFrom: PeerPushPaymentInitiationStatus.PendingReady,
- stTo: PeerPushPaymentInitiationStatus.Expired,
+ stFrom: PeerPushDebitStatus.PendingReady,
+ stTo: PeerPushDebitStatus.Expired,
},
);
return {
@@ -528,9 +541,9 @@ export async function processPeerPushDebit(
pursePub: string,
): Promise<TaskRunResult> {
const peerPushInitiation = await ws.db
- .mktx((x) => [x.peerPushPaymentInitiations])
+ .mktx((x) => [x.peerPushDebit])
.runReadOnly(async (tx) => {
- return tx.peerPushPaymentInitiations.get(pursePub);
+ return tx.peerPushDebit.get(pursePub);
});
if (!peerPushInitiation) {
throw Error("peer push payment not found");
@@ -550,13 +563,13 @@ export async function processPeerPushDebit(
}
switch (peerPushInitiation.status) {
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
+ case PeerPushDebitStatus.PendingCreatePurse:
return processPeerPushDebitCreateReserve(ws, peerPushInitiation);
- case PeerPushPaymentInitiationStatus.PendingReady:
+ case PeerPushDebitStatus.PendingReady:
return processPeerPushDebitReady(ws, peerPushInitiation);
- case PeerPushPaymentInitiationStatus.AbortingDeletePurse:
+ case PeerPushDebitStatus.AbortingDeletePurse:
return processPeerPushDebitAbortingDeletePurse(ws, peerPushInitiation);
- case PeerPushPaymentInitiationStatus.AbortingRefresh:
+ case PeerPushDebitStatus.AbortingRefresh:
return processPeerPushDebitAbortingRefresh(ws, peerPushInitiation);
default: {
const txState = computePeerPushDebitTransactionState(peerPushInitiation);
@@ -626,7 +639,7 @@ export async function initiatePeerPushDebit(
x.coinAvailability,
x.denominations,
x.refreshGroups,
- x.peerPushPaymentInitiations,
+ x.peerPushDebit,
])
.runReadWrite(async (tx) => {
// FIXME: Instead of directly doing a spendCoin here,
@@ -645,7 +658,7 @@ export async function initiatePeerPushDebit(
refreshReason: RefreshReason.PayPeerPush,
});
- const ppi: PeerPushPaymentInitiationRecord = {
+ const ppi: PeerPushDebitRecord = {
amount: Amounts.stringify(instructedAmount),
contractPriv: contractKeyPair.priv,
contractPub: contractKeyPair.pub,
@@ -657,8 +670,7 @@ export async function initiatePeerPushDebit(
pursePriv: pursePair.priv,
pursePub: pursePair.pub,
timestampCreated: TalerPreciseTimestamp.now(),
- status: PeerPushPaymentInitiationStatus.PendingCreatePurse,
- contractTerms: contractTerms,
+ status: PeerPushDebitStatus.PendingCreatePurse,
contractEncNonce,
coinSel: {
coinPubs: sel.coins.map((x) => x.coinPub),
@@ -667,7 +679,7 @@ export async function initiatePeerPushDebit(
totalCost: Amounts.stringify(totalAmount),
};
- await tx.peerPushPaymentInitiations.add(ppi);
+ await tx.peerPushDebit.add(ppi);
await tx.contractTerms.put({
h: hContractTerms,
@@ -701,32 +713,32 @@ export async function initiatePeerPushDebit(
}
export function computePeerPushDebitTransactionActions(
- ppiRecord: PeerPushPaymentInitiationRecord,
+ ppiRecord: PeerPushDebitRecord,
): TransactionAction[] {
switch (ppiRecord.status) {
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
+ case PeerPushDebitStatus.PendingCreatePurse:
return [TransactionAction.Abort, TransactionAction.Suspend];
- case PeerPushPaymentInitiationStatus.PendingReady:
+ case PeerPushDebitStatus.PendingReady:
return [TransactionAction.Abort, TransactionAction.Suspend];
- case PeerPushPaymentInitiationStatus.Aborted:
+ case PeerPushDebitStatus.Aborted:
return [TransactionAction.Delete];
- case PeerPushPaymentInitiationStatus.AbortingDeletePurse:
+ case PeerPushDebitStatus.AbortingDeletePurse:
return [TransactionAction.Suspend, TransactionAction.Fail];
- case PeerPushPaymentInitiationStatus.AbortingRefresh:
+ case PeerPushDebitStatus.AbortingRefresh:
return [TransactionAction.Suspend, TransactionAction.Fail];
- case PeerPushPaymentInitiationStatus.SuspendedAbortingDeletePurse:
+ case PeerPushDebitStatus.SuspendedAbortingDeletePurse:
return [TransactionAction.Resume, TransactionAction.Fail];
- case PeerPushPaymentInitiationStatus.SuspendedAbortingRefresh:
+ case PeerPushDebitStatus.SuspendedAbortingRefresh:
return [TransactionAction.Resume, TransactionAction.Fail];
- case PeerPushPaymentInitiationStatus.SuspendedCreatePurse:
+ case PeerPushDebitStatus.SuspendedCreatePurse:
return [TransactionAction.Resume, TransactionAction.Abort];
- case PeerPushPaymentInitiationStatus.SuspendedReady:
+ case PeerPushDebitStatus.SuspendedReady:
return [TransactionAction.Suspend, TransactionAction.Abort];
- case PeerPushPaymentInitiationStatus.Done:
+ case PeerPushDebitStatus.Done:
return [TransactionAction.Delete];
- case PeerPushPaymentInitiationStatus.Expired:
+ case PeerPushDebitStatus.Expired:
return [TransactionAction.Delete];
- case PeerPushPaymentInitiationStatus.Failed:
+ case PeerPushDebitStatus.Failed:
return [TransactionAction.Delete];
}
}
@@ -745,32 +757,32 @@ export async function abortPeerPushDebitTransaction(
});
stopLongpolling(ws, taskId);
const transitionInfo = await ws.db
- .mktx((x) => [x.peerPushPaymentInitiations])
+ .mktx((x) => [x.peerPushDebit])
.runReadWrite(async (tx) => {
- const pushDebitRec = await tx.peerPushPaymentInitiations.get(pursePub);
+ const pushDebitRec = await tx.peerPushDebit.get(pursePub);
if (!pushDebitRec) {
logger.warn(`peer push debit ${pursePub} not found`);
return;
}
- let newStatus: PeerPushPaymentInitiationStatus | undefined = undefined;
+ let newStatus: PeerPushDebitStatus | undefined = undefined;
switch (pushDebitRec.status) {
- case PeerPushPaymentInitiationStatus.PendingReady:
- case PeerPushPaymentInitiationStatus.SuspendedReady:
- newStatus = PeerPushPaymentInitiationStatus.AbortingDeletePurse;
+ case PeerPushDebitStatus.PendingReady:
+ case PeerPushDebitStatus.SuspendedReady:
+ newStatus = PeerPushDebitStatus.AbortingDeletePurse;
break;
- case PeerPushPaymentInitiationStatus.SuspendedCreatePurse:
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
+ case PeerPushDebitStatus.SuspendedCreatePurse:
+ case PeerPushDebitStatus.PendingCreatePurse:
// Network request might already be in-flight!
- newStatus = PeerPushPaymentInitiationStatus.AbortingDeletePurse;
+ newStatus = PeerPushDebitStatus.AbortingDeletePurse;
break;
- case PeerPushPaymentInitiationStatus.SuspendedAbortingRefresh:
- case PeerPushPaymentInitiationStatus.SuspendedAbortingDeletePurse:
- case PeerPushPaymentInitiationStatus.AbortingRefresh:
- case PeerPushPaymentInitiationStatus.Done:
- case PeerPushPaymentInitiationStatus.AbortingDeletePurse:
- case PeerPushPaymentInitiationStatus.Aborted:
- case PeerPushPaymentInitiationStatus.Expired:
- case PeerPushPaymentInitiationStatus.Failed:
+ case PeerPushDebitStatus.SuspendedAbortingRefresh:
+ case PeerPushDebitStatus.SuspendedAbortingDeletePurse:
+ case PeerPushDebitStatus.AbortingRefresh:
+ case PeerPushDebitStatus.Done:
+ case PeerPushDebitStatus.AbortingDeletePurse:
+ case PeerPushDebitStatus.Aborted:
+ case PeerPushDebitStatus.Expired:
+ case PeerPushDebitStatus.Failed:
// Do nothing
break;
default:
@@ -780,7 +792,7 @@ export async function abortPeerPushDebitTransaction(
const oldTxState = computePeerPushDebitTransactionState(pushDebitRec);
pushDebitRec.status = newStatus;
const newTxState = computePeerPushDebitTransactionState(pushDebitRec);
- await tx.peerPushPaymentInitiations.put(pushDebitRec);
+ await tx.peerPushDebit.put(pushDebitRec);
return {
oldTxState,
newTxState,
@@ -805,32 +817,32 @@ export async function failPeerPushDebitTransaction(
});
stopLongpolling(ws, taskId);
const transitionInfo = await ws.db
- .mktx((x) => [x.peerPushPaymentInitiations])
+ .mktx((x) => [x.peerPushDebit])
.runReadWrite(async (tx) => {
- const pushDebitRec = await tx.peerPushPaymentInitiations.get(pursePub);
+ const pushDebitRec = await tx.peerPushDebit.get(pursePub);
if (!pushDebitRec) {
logger.warn(`peer push debit ${pursePub} not found`);
return;
}
- let newStatus: PeerPushPaymentInitiationStatus | undefined = undefined;
+ let newStatus: PeerPushDebitStatus | undefined = undefined;
switch (pushDebitRec.status) {
- case PeerPushPaymentInitiationStatus.AbortingRefresh:
- case PeerPushPaymentInitiationStatus.SuspendedAbortingRefresh:
+ case PeerPushDebitStatus.AbortingRefresh:
+ case PeerPushDebitStatus.SuspendedAbortingRefresh:
// FIXME: What to do about the refresh group?
- newStatus = PeerPushPaymentInitiationStatus.Failed;
+ newStatus = PeerPushDebitStatus.Failed;
break;
- case PeerPushPaymentInitiationStatus.AbortingDeletePurse:
- case PeerPushPaymentInitiationStatus.SuspendedAbortingDeletePurse:
- case PeerPushPaymentInitiationStatus.PendingReady:
- case PeerPushPaymentInitiationStatus.SuspendedReady:
- case PeerPushPaymentInitiationStatus.SuspendedCreatePurse:
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
- newStatus = PeerPushPaymentInitiationStatus.Failed;
+ case PeerPushDebitStatus.AbortingDeletePurse:
+ case PeerPushDebitStatus.SuspendedAbortingDeletePurse:
+ case PeerPushDebitStatus.PendingReady:
+ case PeerPushDebitStatus.SuspendedReady:
+ case PeerPushDebitStatus.SuspendedCreatePurse:
+ case PeerPushDebitStatus.PendingCreatePurse:
+ newStatus = PeerPushDebitStatus.Failed;
break;
- case PeerPushPaymentInitiationStatus.Done:
- case PeerPushPaymentInitiationStatus.Aborted:
- case PeerPushPaymentInitiationStatus.Failed:
- case PeerPushPaymentInitiationStatus.Expired:
+ case PeerPushDebitStatus.Done:
+ case PeerPushDebitStatus.Aborted:
+ case PeerPushDebitStatus.Failed:
+ case PeerPushDebitStatus.Expired:
// Do nothing
break;
default:
@@ -840,7 +852,7 @@ export async function failPeerPushDebitTransaction(
const oldTxState = computePeerPushDebitTransactionState(pushDebitRec);
pushDebitRec.status = newStatus;
const newTxState = computePeerPushDebitTransactionState(pushDebitRec);
- await tx.peerPushPaymentInitiations.put(pushDebitRec);
+ await tx.peerPushDebit.put(pushDebitRec);
return {
oldTxState,
newTxState,
@@ -865,36 +877,35 @@ export async function suspendPeerPushDebitTransaction(
});
stopLongpolling(ws, taskId);
const transitionInfo = await ws.db
- .mktx((x) => [x.peerPushPaymentInitiations])
+ .mktx((x) => [x.peerPushDebit])
.runReadWrite(async (tx) => {
- const pushDebitRec = await tx.peerPushPaymentInitiations.get(pursePub);
+ const pushDebitRec = await tx.peerPushDebit.get(pursePub);
if (!pushDebitRec) {
logger.warn(`peer push debit ${pursePub} not found`);
return;
}
- let newStatus: PeerPushPaymentInitiationStatus | undefined = undefined;
+ let newStatus: PeerPushDebitStatus | undefined = undefined;
switch (pushDebitRec.status) {
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
- newStatus = PeerPushPaymentInitiationStatus.SuspendedCreatePurse;
+ case PeerPushDebitStatus.PendingCreatePurse:
+ newStatus = PeerPushDebitStatus.SuspendedCreatePurse;
break;
- case PeerPushPaymentInitiationStatus.AbortingRefresh:
- newStatus = PeerPushPaymentInitiationStatus.SuspendedAbortingRefresh;
+ case PeerPushDebitStatus.AbortingRefresh:
+ newStatus = PeerPushDebitStatus.SuspendedAbortingRefresh;
break;
- case PeerPushPaymentInitiationStatus.AbortingDeletePurse:
- newStatus =
- PeerPushPaymentInitiationStatus.SuspendedAbortingDeletePurse;
+ case PeerPushDebitStatus.AbortingDeletePurse:
+ newStatus = PeerPushDebitStatus.SuspendedAbortingDeletePurse;
break;
- case PeerPushPaymentInitiationStatus.PendingReady:
- newStatus = PeerPushPaymentInitiationStatus.SuspendedReady;
+ case PeerPushDebitStatus.PendingReady:
+ newStatus = PeerPushDebitStatus.SuspendedReady;
break;
- case PeerPushPaymentInitiationStatus.SuspendedAbortingDeletePurse:
- case PeerPushPaymentInitiationStatus.SuspendedAbortingRefresh:
- case PeerPushPaymentInitiationStatus.SuspendedReady:
- case PeerPushPaymentInitiationStatus.SuspendedCreatePurse:
- case PeerPushPaymentInitiationStatus.Done:
- case PeerPushPaymentInitiationStatus.Aborted:
- case PeerPushPaymentInitiationStatus.Failed:
- case PeerPushPaymentInitiationStatus.Expired:
+ case PeerPushDebitStatus.SuspendedAbortingDeletePurse:
+ case PeerPushDebitStatus.SuspendedAbortingRefresh:
+ case PeerPushDebitStatus.SuspendedReady:
+ case PeerPushDebitStatus.SuspendedCreatePurse:
+ case PeerPushDebitStatus.Done:
+ case PeerPushDebitStatus.Aborted:
+ case PeerPushDebitStatus.Failed:
+ case PeerPushDebitStatus.Expired:
// Do nothing
break;
default:
@@ -904,7 +915,7 @@ export async function suspendPeerPushDebitTransaction(
const oldTxState = computePeerPushDebitTransactionState(pushDebitRec);
pushDebitRec.status = newStatus;
const newTxState = computePeerPushDebitTransactionState(pushDebitRec);
- await tx.peerPushPaymentInitiations.put(pushDebitRec);
+ await tx.peerPushDebit.put(pushDebitRec);
return {
oldTxState,
newTxState,
@@ -929,35 +940,35 @@ export async function resumePeerPushDebitTransaction(
});
stopLongpolling(ws, taskId);
const transitionInfo = await ws.db
- .mktx((x) => [x.peerPushPaymentInitiations])
+ .mktx((x) => [x.peerPushDebit])
.runReadWrite(async (tx) => {
- const pushDebitRec = await tx.peerPushPaymentInitiations.get(pursePub);
+ const pushDebitRec = await tx.peerPushDebit.get(pursePub);
if (!pushDebitRec) {
logger.warn(`peer push debit ${pursePub} not found`);
return;
}
- let newStatus: PeerPushPaymentInitiationStatus | undefined = undefined;
+ let newStatus: PeerPushDebitStatus | undefined = undefined;
switch (pushDebitRec.status) {
- case PeerPushPaymentInitiationStatus.SuspendedAbortingDeletePurse:
- newStatus = PeerPushPaymentInitiationStatus.AbortingDeletePurse;
+ case PeerPushDebitStatus.SuspendedAbortingDeletePurse:
+ newStatus = PeerPushDebitStatus.AbortingDeletePurse;
break;
- case PeerPushPaymentInitiationStatus.SuspendedAbortingRefresh:
- newStatus = PeerPushPaymentInitiationStatus.AbortingRefresh;
+ case PeerPushDebitStatus.SuspendedAbortingRefresh:
+ newStatus = PeerPushDebitStatus.AbortingRefresh;
break;
- case PeerPushPaymentInitiationStatus.SuspendedReady:
- newStatus = PeerPushPaymentInitiationStatus.PendingReady;
+ case PeerPushDebitStatus.SuspendedReady:
+ newStatus = PeerPushDebitStatus.PendingReady;
break;
- case PeerPushPaymentInitiationStatus.SuspendedCreatePurse:
- newStatus = PeerPushPaymentInitiationStatus.PendingCreatePurse;
+ case PeerPushDebitStatus.SuspendedCreatePurse:
+ newStatus = PeerPushDebitStatus.PendingCreatePurse;
break;
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
- case PeerPushPaymentInitiationStatus.AbortingRefresh:
- case PeerPushPaymentInitiationStatus.AbortingDeletePurse:
- case PeerPushPaymentInitiationStatus.PendingReady:
- case PeerPushPaymentInitiationStatus.Done:
- case PeerPushPaymentInitiationStatus.Aborted:
- case PeerPushPaymentInitiationStatus.Failed:
- case PeerPushPaymentInitiationStatus.Expired:
+ case PeerPushDebitStatus.PendingCreatePurse:
+ case PeerPushDebitStatus.AbortingRefresh:
+ case PeerPushDebitStatus.AbortingDeletePurse:
+ case PeerPushDebitStatus.PendingReady:
+ case PeerPushDebitStatus.Done:
+ case PeerPushDebitStatus.Aborted:
+ case PeerPushDebitStatus.Failed:
+ case PeerPushDebitStatus.Expired:
// Do nothing
break;
default:
@@ -967,7 +978,7 @@ export async function resumePeerPushDebitTransaction(
const oldTxState = computePeerPushDebitTransactionState(pushDebitRec);
pushDebitRec.status = newStatus;
const newTxState = computePeerPushDebitTransactionState(pushDebitRec);
- await tx.peerPushPaymentInitiations.put(pushDebitRec);
+ await tx.peerPushDebit.put(pushDebitRec);
return {
oldTxState,
newTxState,
@@ -980,62 +991,62 @@ export async function resumePeerPushDebitTransaction(
}
export function computePeerPushDebitTransactionState(
- ppiRecord: PeerPushPaymentInitiationRecord,
+ ppiRecord: PeerPushDebitRecord,
): TransactionState {
switch (ppiRecord.status) {
- case PeerPushPaymentInitiationStatus.PendingCreatePurse:
+ case PeerPushDebitStatus.PendingCreatePurse:
return {
major: TransactionMajorState.Pending,
minor: TransactionMinorState.CreatePurse,
};
- case PeerPushPaymentInitiationStatus.PendingReady:
+ case PeerPushDebitStatus.PendingReady:
return {
major: TransactionMajorState.Pending,
minor: TransactionMinorState.Ready,
};
- case PeerPushPaymentInitiationStatus.Aborted:
+ case PeerPushDebitStatus.Aborted:
return {
major: TransactionMajorState.Aborted,
};
- case PeerPushPaymentInitiationStatus.AbortingDeletePurse:
+ case PeerPushDebitStatus.AbortingDeletePurse:
return {
major: TransactionMajorState.Aborting,
minor: TransactionMinorState.DeletePurse,
};
- case PeerPushPaymentInitiationStatus.AbortingRefresh:
+ case PeerPushDebitStatus.AbortingRefresh:
return {
major: TransactionMajorState.Aborting,
minor: TransactionMinorState.Refresh,
};
- case PeerPushPaymentInitiationStatus.SuspendedAbortingDeletePurse:
+ case PeerPushDebitStatus.SuspendedAbortingDeletePurse:
return {
major: TransactionMajorState.SuspendedAborting,
minor: TransactionMinorState.DeletePurse,
};
- case PeerPushPaymentInitiationStatus.SuspendedAbortingRefresh:
+ case PeerPushDebitStatus.SuspendedAbortingRefresh:
return {
major: TransactionMajorState.SuspendedAborting,
minor: TransactionMinorState.Refresh,
};
- case PeerPushPaymentInitiationStatus.SuspendedCreatePurse:
+ case PeerPushDebitStatus.SuspendedCreatePurse:
return {
major: TransactionMajorState.Suspended,
minor: TransactionMinorState.CreatePurse,
};
- case PeerPushPaymentInitiationStatus.SuspendedReady:
+ case PeerPushDebitStatus.SuspendedReady:
return {
major: TransactionMajorState.Suspended,
minor: TransactionMinorState.Ready,
};
- case PeerPushPaymentInitiationStatus.Done:
+ case PeerPushDebitStatus.Done:
return {
major: TransactionMajorState.Done,
};
- case PeerPushPaymentInitiationStatus.Failed:
+ case PeerPushDebitStatus.Failed:
return {
major: TransactionMajorState.Failed,
};
- case PeerPushPaymentInitiationStatus.Expired:
+ case PeerPushDebitStatus.Expired:
return {
major: TransactionMajorState.Expired,
};