aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/transactions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/operations/transactions.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/transactions.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/taler-wallet-core/src/operations/transactions.ts b/packages/taler-wallet-core/src/operations/transactions.ts
index 9a34379a9..c7ff4161a 100644
--- a/packages/taler-wallet-core/src/operations/transactions.ts
+++ b/packages/taler-wallet-core/src/operations/transactions.ts
@@ -954,7 +954,11 @@ export async function retryTransaction(
): Promise<void> {
logger.info(`retrying transaction ${transactionId}`);
- const [type, ...rest] = transactionId.split(":");
+ const [tmbPrefix, type, ...rest] = transactionId.split(":");
+
+ if (tmbPrefix !== "tmb") {
+ throw Error("invalid tombstone, expected 'tmb' prefix");
+ }
switch (type) {
case TransactionType.Deposit: {
@@ -996,7 +1000,10 @@ export async function deleteTransaction(
ws: InternalWalletState,
transactionId: string,
): Promise<void> {
- const [typeStr, ...rest] = transactionId.split(":");
+ const [txnPrefix, typeStr, ...rest] = transactionId.split(":");
+ if (txnPrefix !== "txn") {
+ throw Error("invalid transaction ID, expected 'txn' prefix");
+ }
const type = typeStr as TransactionType;
if (
type === TransactionType.Withdrawal ||