commit b36807aa0f673d074f295d004812ba18b2ab544d
parent 0c8e56c32457ea9b9229a8a3607fcf8e7618bc17
Author: Florian Dold <florian@dold.me>
Date: Fri, 14 Oct 2022 22:49:32 +0200
-fix ID parsing
Diffstat:
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
@@ -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 ||