From 79b77a0c3c5a9a07d22c276a63ed81eb30507eba Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sun, 12 Feb 2023 21:13:30 +0100 Subject: wallet-core: skeleton support for regional currency scopes --- packages/taler-wallet-core/src/db.ts | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'packages/taler-wallet-core/src/db.ts') diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts index 78c73fba5..8aff18c6d 100644 --- a/packages/taler-wallet-core/src/db.ts +++ b/packages/taler-wallet-core/src/db.ts @@ -121,7 +121,7 @@ export const CURRENT_DB_CONFIG_KEY = "currentMainDbName"; * backwards-compatible way or object stores and indices * are added. */ -export const WALLET_DB_MINOR_VERSION = 2; +export const WALLET_DB_MINOR_VERSION = 3; /** * Ranges for operation status fields. @@ -1956,11 +1956,44 @@ export interface UserAttentionRecord { read: TalerProtocolTimestamp | undefined; } +export interface DbExchangeHandle { + url: string; + exchangeMasterPub: string; +} + +export interface DbAuditorHandle { + url: string; + auditorPub: string; +} + +// Work in progress for regional currencies +export interface CurrencySettingsRecord { + currency: string; + + globalScopeExchanges: DbExchangeHandle[]; + + globalScopeAuditors: DbAuditorHandle[]; + + // Used to decide which auditor to show the currency under + // when multiple auditors apply. + auditorPriority: string[]; + + // Later, we might add stuff related to how the currency is rendered. +} + /** * Schema definition for the IndexedDB * wallet database. */ export const WalletStoresV1 = { + currencySettings: describeStore( + "currencySettings", + describeContents({ + keyPath: ["currency"], + versionAdded: 3, + }), + {}, + ), coinAvailability: describeStore( "coinAvailability", describeContents({ -- cgit v1.2.3