From ded00b680a776d03cd8c928354c87c0be8690f56 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 12 Oct 2022 22:27:50 +0200 Subject: wallet-core: implement enabling/disabling dev mode --- .../src/operations/backup/export.ts | 4 ++-- .../taler-wallet-core/src/operations/backup/index.ts | 8 +++++--- .../taler-wallet-core/src/operations/backup/state.ts | 20 ++++++++++---------- 3 files changed, 17 insertions(+), 15 deletions(-) (limited to 'packages/taler-wallet-core/src/operations') diff --git a/packages/taler-wallet-core/src/operations/backup/export.ts b/packages/taler-wallet-core/src/operations/backup/export.ts index a3c4c8d99..c7890b5d8 100644 --- a/packages/taler-wallet-core/src/operations/backup/export.ts +++ b/packages/taler-wallet-core/src/operations/backup/export.ts @@ -64,11 +64,11 @@ import { import { CoinSourceType, CoinStatus, + ConfigRecordKey, DenominationRecord, PurchaseStatus, RefreshCoinStatus, RefundState, - WALLET_BACKUP_STATE_KEY, WithdrawalGroupStatus, WithdrawalRecordType, } from "../../db.js"; @@ -547,7 +547,7 @@ export async function exportBackup( )} and nonce to ${bs.lastBackupNonce}`, ); await tx.config.put({ - key: WALLET_BACKUP_STATE_KEY, + key: ConfigRecordKey.WalletBackupState, value: bs, }); } else { diff --git a/packages/taler-wallet-core/src/operations/backup/index.ts b/packages/taler-wallet-core/src/operations/backup/index.ts index 3d3ebf04a..8e5e69097 100644 --- a/packages/taler-wallet-core/src/operations/backup/index.ts +++ b/packages/taler-wallet-core/src/operations/backup/index.ts @@ -74,8 +74,8 @@ import { BackupProviderStateTag, BackupProviderTerms, ConfigRecord, + ConfigRecordKey, WalletBackupConfState, - WALLET_BACKUP_STATE_KEY, } from "../../db.js"; import { InternalWalletState } from "../../internal-wallet-state.js"; import { @@ -861,10 +861,12 @@ async function backupRecoveryTheirs( .mktx((x) => [x.config, x.backupProviders]) .runReadWrite(async (tx) => { let backupStateEntry: ConfigRecord | undefined = await tx.config.get( - WALLET_BACKUP_STATE_KEY, + ConfigRecordKey.WalletBackupState, ); checkDbInvariant(!!backupStateEntry); - checkDbInvariant(backupStateEntry.key === WALLET_BACKUP_STATE_KEY); + checkDbInvariant( + backupStateEntry.key === ConfigRecordKey.WalletBackupState, + ); backupStateEntry.value.lastBackupNonce = undefined; backupStateEntry.value.lastBackupTimestamp = undefined; backupStateEntry.value.lastBackupCheckTimestamp = undefined; diff --git a/packages/taler-wallet-core/src/operations/backup/state.ts b/packages/taler-wallet-core/src/operations/backup/state.ts index 2efd9be8e..b8dbb15c1 100644 --- a/packages/taler-wallet-core/src/operations/backup/state.ts +++ b/packages/taler-wallet-core/src/operations/backup/state.ts @@ -17,9 +17,9 @@ import { encodeCrock, getRandomBytes } from "@gnu-taler/taler-util"; import { ConfigRecord, + ConfigRecordKey, WalletBackupConfState, WalletStoresV1, - WALLET_BACKUP_STATE_KEY, } from "../../db.js"; import { checkDbInvariant } from "../../util/invariants.js"; import { GetReadOnlyAccess } from "../../util/query.js"; @@ -31,10 +31,10 @@ export async function provideBackupState( const bs: ConfigRecord | undefined = await ws.db .mktx((stores) => [stores.config]) .runReadOnly(async (tx) => { - return await tx.config.get(WALLET_BACKUP_STATE_KEY); + return await tx.config.get(ConfigRecordKey.WalletBackupState); }); if (bs) { - checkDbInvariant(bs.key === WALLET_BACKUP_STATE_KEY); + checkDbInvariant(bs.key === ConfigRecordKey.WalletBackupState); return bs.value; } // We need to generate the key outside of the transaction @@ -48,11 +48,11 @@ export async function provideBackupState( .mktx((x) => [x.config]) .runReadWrite(async (tx) => { let backupStateEntry: ConfigRecord | undefined = await tx.config.get( - WALLET_BACKUP_STATE_KEY, + ConfigRecordKey.WalletBackupState, ); if (!backupStateEntry) { backupStateEntry = { - key: WALLET_BACKUP_STATE_KEY, + key: ConfigRecordKey.WalletBackupState, value: { deviceId, walletRootPub: k.pub, @@ -62,7 +62,7 @@ export async function provideBackupState( }; await tx.config.put(backupStateEntry); } - checkDbInvariant(backupStateEntry.key === WALLET_BACKUP_STATE_KEY); + checkDbInvariant(backupStateEntry.key === ConfigRecordKey.WalletBackupState); return backupStateEntry.value; }); } @@ -71,9 +71,9 @@ export async function getWalletBackupState( ws: InternalWalletState, tx: GetReadOnlyAccess<{ config: typeof WalletStoresV1.config }>, ): Promise { - const bs = await tx.config.get(WALLET_BACKUP_STATE_KEY); + const bs = await tx.config.get(ConfigRecordKey.WalletBackupState); checkDbInvariant(!!bs, "wallet backup state should be in DB"); - checkDbInvariant(bs.key === WALLET_BACKUP_STATE_KEY); + checkDbInvariant(bs.key === ConfigRecordKey.WalletBackupState); return bs.value; } @@ -86,11 +86,11 @@ export async function setWalletDeviceId( .mktx((x) => [x.config]) .runReadWrite(async (tx) => { let backupStateEntry: ConfigRecord | undefined = await tx.config.get( - WALLET_BACKUP_STATE_KEY, + ConfigRecordKey.WalletBackupState, ); if ( !backupStateEntry || - backupStateEntry.key !== WALLET_BACKUP_STATE_KEY + backupStateEntry.key !== ConfigRecordKey.WalletBackupState ) { return; } -- cgit v1.2.3