taler-typescript-core

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

commit 38ba0210ee089bbe39ea390eed287461a74bc088
parent 54220e944dec267c7e1ef5f29be918115df003d4
Author: Florian Dold <florian@dold.me>
Date:   Tue, 16 Dec 2025 14:35:34 +0100

wallet-core: do flag-disable-direct-deposits per exchange

Diffstat:
Mpackages/taler-wallet-core/src/dev-experiments.ts | 22++++++++++++++++++++--
Mpackages/taler-wallet-core/src/wallet.ts | 3++-
2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/packages/taler-wallet-core/src/dev-experiments.ts b/packages/taler-wallet-core/src/dev-experiments.ts @@ -356,8 +356,26 @@ export async function applyDevExperiment( return; } case "flag-disable-direct-deposits": { - wex.ws.devExperimentState.flagDisableDirectDeposits = - getValFlag(parsedUri); + const flag = getValFlag(parsedUri); + const exchange = parsedUri.query?.get("e"); + let mySet = wex.ws.devExperimentState.flagDisableDirectDeposits; + if (!(flag || exchange)) { + mySet?.clear(); + return; + } + if (!exchange) { + logger.warn(`${parsedUri.devExperimentId}: no exchange specified`); + return; + } + if (flag) { + if (!mySet) { + mySet = wex.ws.devExperimentState.flagDisableDirectDeposits = + new Set(); + } + mySet.add(exchange); + } else { + mySet?.delete(exchange); + } return; } case "fake-shopping-url": { diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts @@ -2971,7 +2971,8 @@ export interface DevExperimentState { flagDisablePeerPayments?: boolean; - flagDisableDirectDeposits?: boolean; + /** Set of exchanges to fake disabled direct deposits for. */ + flagDisableDirectDeposits?: Set<string>; fakeChfBban?: boolean;