summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/dev-experiments.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/dev-experiments.ts')
-rw-r--r--packages/taler-wallet-core/src/dev-experiments.ts24
1 files changed, 24 insertions, 0 deletions
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}`);
}