taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit ee826c157605177195b6fd6c0c5c172c1066368a
parent b57f850195d951db1de88c97e15a669e5d2e805b
Author: Florian Dold <florian@dold.me>
Date:   Tue, 14 Jan 2025 21:16:47 +0100

wallet-core: refine confusing log

Diffstat:
Mpackages/taler-wallet-core/src/exchanges.ts | 19++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/packages/taler-wallet-core/src/exchanges.ts b/packages/taler-wallet-core/src/exchanges.ts @@ -255,7 +255,24 @@ async function getExchangeRecordsInternal( } const dp = r.detailsPointer; if (!dp) { - logger.warn(`no exchange details pointer for ${exchangeBaseUrl}`); + switch (r.updateStatus) { + case ExchangeEntryDbUpdateStatus.Ready: + case ExchangeEntryDbUpdateStatus.ReadyUpdate: + case ExchangeEntryDbUpdateStatus.OutdatedUpdate: + logger.error( + `Database invariant violated: no exchange details in wallet database for ${exchangeBaseUrl}.`, + ); + break; + case ExchangeEntryDbUpdateStatus.Initial: + case ExchangeEntryDbUpdateStatus.InitialUpdate: + case ExchangeEntryDbUpdateStatus.Suspended: + case ExchangeEntryDbUpdateStatus.UnavailableUpdate: + // In these states, not having exchange details in the wallet DB + // is expected. + break; + default: + assertUnreachable(r.updateStatus); + } return; } const { currency, masterPublicKey } = dp;