From b36807aa0f673d074f295d004812ba18b2ab544d Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 14 Oct 2022 22:49:32 +0200 Subject: [PATCH] -fix ID parsing --- .../taler-wallet-core/src/operations/transactions.ts | 11 +++++++++-- 1 file 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 { 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 { - 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 ||