aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/transactions.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-05-25 19:26:40 +0200
committerFlorian Dold <florian@dold.me>2023-05-25 19:26:40 +0200
commitfe8749c3f81547d080ea23d580497750d52fed91 (patch)
tree2c0e8960fa33fc318b460538fd09fe33e5896500 /packages/taler-wallet-core/src/operations/transactions.ts
parent8624d798b799d78a4b6393493a0750027094904d (diff)
downloadwallet-core-fe8749c3f81547d080ea23d580497750d52fed91.tar.xz
wallet-core: implement cancelAbortingTransaction for deposit groups
Diffstat (limited to 'packages/taler-wallet-core/src/operations/transactions.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/transactions.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/operations/transactions.ts b/packages/taler-wallet-core/src/operations/transactions.ts
index 74df9acfb..84f879f58 100644
--- a/packages/taler-wallet-core/src/operations/transactions.ts
+++ b/packages/taler-wallet-core/src/operations/transactions.ts
@@ -75,6 +75,7 @@ import {
} from "./common.js";
import {
abortDepositGroup,
+ cancelAbortingDepositGroup,
computeDepositTransactionStatus,
processDepositGroup,
resumeDepositGroup,
@@ -1401,6 +1402,23 @@ export async function suspendTransaction(
}
}
+export async function cancelAbortingTransaction(
+ ws: InternalWalletState,
+ transactionId: string,
+): Promise<void> {
+ const tx = parseTransactionIdentifier(transactionId);
+ if (!tx) {
+ throw Error("invalid transaction ID");
+ }
+ switch (tx.tag) {
+ case TransactionType.Deposit:
+ await cancelAbortingDepositGroup(ws, tx.depositGroupId);
+ return;
+ default:
+ logger.warn(`unable to suspend transaction of type '${tx.tag}'`);
+ }
+}
+
/**
* Resume a suspended transaction.
*/