From f45340eb11435f47a3a561c724cd356e5b4ba885 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sun, 31 Mar 2024 16:50:34 +0200 Subject: wallet-core: implement denom-loss transaction --- packages/taler-wallet-core/src/dev-experiments.ts | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'packages/taler-wallet-core/src/dev-experiments.ts') diff --git a/packages/taler-wallet-core/src/dev-experiments.ts b/packages/taler-wallet-core/src/dev-experiments.ts index c94571ff8..130c042b6 100644 --- a/packages/taler-wallet-core/src/dev-experiments.ts +++ b/packages/taler-wallet-core/src/dev-experiments.ts @@ -26,6 +26,7 @@ */ import { + DenomLossEventType, Logger, RefreshReason, TalerPreciseTimestamp, @@ -39,6 +40,8 @@ import { HttpResponse, } from "@gnu-taler/taler-util/http"; import { + DenomLossEventRecord, + DenomLossStatus, RefreshGroupRecord, RefreshOperationStatus, timestampPreciseToDb, @@ -88,6 +91,27 @@ export async function applyDevExperiment( return; } + if (parsedUri.devExperimentId == "insert-denom-loss") { + await wex.db.runReadWriteTx(["denomLossEvents"], async (tx) => { + const eventId = encodeCrock(getRandomBytes(32)); + const newRg: DenomLossEventRecord = { + amount: "TESTKUDOS:42", + currency: "TESTKUDOS", + exchangeBaseUrl: "https://exchange.devexperiment.taler.net/", + denomLossEventId: eventId, + denomPubHashes: [ + encodeCrock(getRandomBytes(64)), + encodeCrock(getRandomBytes(64)), + ], + eventType: DenomLossEventType.DenomExpired, + status: DenomLossStatus.Done, + timestampCreated: timestampPreciseToDb(TalerPreciseTimestamp.now()), + }; + await tx.denomLossEvents.put(newRg); + }); + return; + } + throw Error(`dev-experiment id not understood ${parsedUri.devExperimentId}`); } -- cgit v1.2.3