summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/dev-experiments.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-03-31 16:50:34 +0200
committerFlorian Dold <florian@dold.me>2024-03-31 16:50:34 +0200
commitf45340eb11435f47a3a561c724cd356e5b4ba885 (patch)
tree3c2a079d78202908f0007fe065f7225ba016e415 /packages/taler-wallet-core/src/dev-experiments.ts
parent2d61180dce798ab260d47f94b382fd4f843a55bf (diff)
downloadwallet-core-f45340eb11435f47a3a561c724cd356e5b4ba885.tar.gz
wallet-core-f45340eb11435f47a3a561c724cd356e5b4ba885.tar.bz2
wallet-core-f45340eb11435f47a3a561c724cd356e5b4ba885.zip
wallet-core: implement denom-loss transaction
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}`);
}