From 40d2aa0c11e61ea45005c4c212c6ab686162b4b0 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 15 Sep 2023 17:14:37 +0200 Subject: cli: allow DB stats tracking via environment variable --- packages/taler-wallet-cli/src/index.ts | 38 +++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 14 deletions(-) (limited to 'packages/taler-wallet-cli/src') diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts index 3fc86d0b5..b37d4974b 100644 --- a/packages/taler-wallet-cli/src/index.ts +++ b/packages/taler-wallet-cli/src/index.ts @@ -53,6 +53,7 @@ import { import { createPlatformHttpLib } from "@gnu-taler/taler-util/http"; import { JsonMessage, runRpcServer } from "@gnu-taler/taler-util/twrpc"; import { + AccessStats, createNativeWalletHost, createNativeWalletHost2, Wallet, @@ -237,16 +238,21 @@ export interface WalletContext { ): Promise; } +interface CreateWalletResult { + wallet: Wallet; + getStats: () => AccessStats; +} + async function createLocalWallet( walletCliArgs: WalletCliArgsType, notificationHandler?: (n: WalletNotification) => void, -): Promise { +): Promise { const dbPath = walletCliArgs.wallet.walletDbFile ?? defaultWalletDbPath; const myHttpLib = createPlatformHttpLib({ enableThrottling: walletCliArgs.wallet.noThrottle ? false : true, requireTls: walletCliArgs.wallet.noHttp, }); - const wallet = await createNativeWalletHost({ + const wh = await createNativeWalletHost2({ persistentStoragePath: dbPath !== ":memory:" ? dbPath : undefined, httpLib: myHttpLib, notifyHandler: (n) => { @@ -269,10 +275,10 @@ async function createLocalWallet( applyVerbose(walletCliArgs.wallet.verbose); try { - await wallet.handleCoreApiRequest("initWallet", "native-init", { + await wh.wallet.handleCoreApiRequest("initWallet", "native-init", { skipDefaults: walletCliArgs.wallet.skipDefaults, }); - return wallet; + return { wallet: wh.wallet, getStats: wh.getDbStats }; } catch (e) { const ed = getErrorDetailFromException(e); console.error("Operation failed: " + summarizeTalerErrorDetail(ed)); @@ -307,16 +313,20 @@ async function withWallet( w.close(); return res; } else { - const w = await createLocalWallet(walletCliArgs, waiter.notify); + const wh = await createLocalWallet(walletCliArgs, waiter.notify); const ctx: WalletContext = { - client: w.client, + client: wh.wallet.client, waitForNotificationCond: waiter.waitForNotificationCond, makeCoreApiRequest(operation, payload) { - return w.handleCoreApiRequest(operation, "my-req", payload); + return wh.wallet.handleCoreApiRequest(operation, "my-req", payload); }, }; const result = await f(ctx); - w.stop(); + wh.wallet.stop(); + if (process.env.TALER_WALLET_DBSTATS) { + console.log("database stats:"); + console.log(j2s(wh.getStats())); + } return result; } } @@ -330,7 +340,8 @@ async function withLocalWallet( walletCliArgs: WalletCliArgsType, f: (w: { client: WalletCoreApiClient; ws: Wallet }) => Promise, ): Promise { - const w = await createLocalWallet(walletCliArgs); + const wh = await createLocalWallet(walletCliArgs); + const w = wh.wallet; const res = await f({ client: w.client, ws: w }); w.stop(); return res; @@ -1030,8 +1041,7 @@ peerCli const resp = await wallet.client.call( WalletApiOperation.ConfirmPeerPullDebit, { - peerPullDebitId: - args.confirmIncomingPayPull.peerPullDebitId, + peerPullDebitId: args.confirmIncomingPayPull.peerPullDebitId, }, ); console.log(JSON.stringify(resp, undefined, 2)); @@ -1046,8 +1056,7 @@ peerCli const resp = await wallet.client.call( WalletApiOperation.ConfirmPeerPushCredit, { - peerPushCreditId: - args.confirmIncomingPayPush.peerPushCreditId, + peerPushCreditId: args.confirmIncomingPayPush.peerPushCreditId, }, ); console.log(JSON.stringify(resp, undefined, 2)); @@ -1174,7 +1183,8 @@ advancedCli }) .action(async (args) => { logger.info(`serving at ${args.serve.unixPath}`); - const w = await createLocalWallet(args); + const wh = await createLocalWallet(args); + const w = wh.wallet; w.runTaskLoop() .then((res) => { logger.warn("task loop exited unexpectedly"); -- cgit v1.2.3 From a99156ed22d21c88cddbfa5fb5908d093b32fbf8 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 21 Sep 2023 18:02:36 +0200 Subject: wallet-core,harness: remove separate fakebank withdrawal API --- packages/taler-harness/src/bench1.ts | 6 ++-- packages/taler-harness/src/bench3.ts | 6 ++-- .../integrationtests/test-withdrawal-fakebank.ts | 6 ++-- .../src/integrationtests/test-withdrawal-huge.ts | 6 ++-- packages/taler-wallet-cli/src/index.ts | 23 ------------- packages/taler-wallet-core/src/wallet-api-types.ts | 14 -------- packages/taler-wallet-core/src/wallet.ts | 40 ---------------------- 7 files changed, 12 insertions(+), 89 deletions(-) (limited to 'packages/taler-wallet-cli/src') diff --git a/packages/taler-harness/src/bench1.ts b/packages/taler-harness/src/bench1.ts index 618eb683e..f7b42836d 100644 --- a/packages/taler-harness/src/bench1.ts +++ b/packages/taler-harness/src/bench1.ts @@ -96,10 +96,10 @@ export async function runBench1(configJson: any): Promise { logger.trace(`Starting withdrawal amount=${withdrawAmount}`); let start = Date.now(); - await wallet.client.call(WalletApiOperation.WithdrawFakebank, { + await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: b1conf.currency + ":" + withdrawAmount, - bank: b1conf.bank, - exchange: b1conf.exchange, + bankAccessApiBaseUrl: b1conf.bank, + exchangeBaseUrl: b1conf.exchange, }); await wallet.runTaskLoop({ diff --git a/packages/taler-harness/src/bench3.ts b/packages/taler-harness/src/bench3.ts index 0b5371af5..55cd335f2 100644 --- a/packages/taler-harness/src/bench3.ts +++ b/packages/taler-harness/src/bench3.ts @@ -107,10 +107,10 @@ export async function runBench3(configJson: any): Promise { logger.trace(`Starting withdrawal amount=${withdrawAmount}`); let start = Date.now(); - await wallet.client.call(WalletApiOperation.WithdrawFakebank, { + await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: b3conf.currency + ":" + withdrawAmount, - bank: b3conf.bank, - exchange: b3conf.exchange, + bankAccessApiBaseUrl: b3conf.bank, + exchangeBaseUrl: b3conf.exchange, }); await wallet.runTaskLoop({ diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts index 7cd0548a5..84b7b37bf 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts @@ -79,10 +79,10 @@ export async function runWithdrawalFakebankTest(t: GlobalTestState) { exchangeBaseUrl: exchange.baseUrl, }); - await wallet.client.call(WalletApiOperation.WithdrawFakebank, { - exchange: exchange.baseUrl, + await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { + bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + exchangeBaseUrl: exchange.baseUrl, amount: "TESTKUDOS:10", - bank: bank.baseUrl, }); await exchange.runWirewatchOnce(); diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts index 8777b19e2..0dfc77447 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts @@ -99,10 +99,10 @@ export async function runWithdrawalHugeTest(t: GlobalTestState) { }); // Results in about 1K coins withdrawn - await wallet.client.call(WalletApiOperation.WithdrawFakebank, { - exchange: exchange.baseUrl, + await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { + exchangeBaseUrl: exchange.baseUrl, amount: "TESTKUDOS:10000", - bank: bank.baseUrl, + bankAccessApiBaseUrl: bank.baseUrl, }); await withdrawalFinishedCond; diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts index b37d4974b..e21a8ce35 100644 --- a/packages/taler-wallet-cli/src/index.ts +++ b/packages/taler-wallet-cli/src/index.ts @@ -1290,29 +1290,6 @@ advancedCli wallet.stop(); }); -advancedCli - .subcommand("withdrawFakebank", "withdraw-fakebank", { - help: "Withdraw via a fakebank.", - }) - .requiredOption("exchange", ["--exchange"], clk.STRING, { - help: "Base URL of the exchange to use", - }) - .requiredOption("amount", ["--amount"], clk.STRING, { - help: "Amount to withdraw (before fees).", - }) - .requiredOption("bank", ["--bank"], clk.STRING, { - help: "Base URL of the Taler fakebank service.", - }) - .action(async (args) => { - await withWallet(args, async (wallet) => { - await wallet.client.call(WalletApiOperation.WithdrawFakebank, { - amount: args.withdrawFakebank.amount, - bank: args.withdrawFakebank.bank, - exchange: args.withdrawFakebank.exchange, - }); - }); - }); - advancedCli .subcommand("genSegwit", "gen-segwit") .requiredArgument("paytoUri", clk.STRING) diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts b/packages/taler-wallet-core/src/wallet-api-types.ts index 67c05a42f..3520a05cb 100644 --- a/packages/taler-wallet-core/src/wallet-api-types.ts +++ b/packages/taler-wallet-core/src/wallet-api-types.ts @@ -118,7 +118,6 @@ import { WalletContractData, WalletCoreVersion, WalletCurrencyInfo, - WithdrawFakebankRequest, WithdrawTestBalanceRequest, WithdrawUriInfoResponse, } from "@gnu-taler/taler-util"; @@ -199,7 +198,6 @@ export enum WalletApiOperation { GenerateDepositGroupTxId = "generateDepositGroupTxId", CreateDepositGroup = "createDepositGroup", SetWalletDeviceId = "setWalletDeviceId", - WithdrawFakebank = "withdrawFakebank", ImportDb = "importDb", ExportDb = "exportDb", PreparePeerPushCredit = "preparePeerPushCredit", @@ -934,17 +932,6 @@ export type TestPayOp = { response: TestPayResult; }; -/** - * Make a withdrawal from a fakebank, i.e. - * a bank where test users can be registered freely - * and testing APIs are available. - */ -export type WithdrawFakebankOp = { - op: WalletApiOperation.WithdrawFakebank; - request: WithdrawFakebankRequest; - response: EmptyObject; -}; - /** * Get wallet-internal pending tasks. */ @@ -1040,7 +1027,6 @@ export type ForceRefreshOp = { export type WalletOperations = { [WalletApiOperation.InitWallet]: InitWalletOp; [WalletApiOperation.GetVersion]: GetVersionOp; - [WalletApiOperation.WithdrawFakebank]: WithdrawFakebankOp; [WalletApiOperation.PreparePayForUri]: PreparePayForUriOp; [WalletApiOperation.SharePayment]: SharePaymentOp; [WalletApiOperation.PreparePayForTemplate]: PreparePayForTemplateOp; diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index 2c4f1ba6f..75f1a33a9 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -1492,46 +1492,6 @@ async function dispatchRequestInternal( trustedExchanges: [], }; } - case WalletApiOperation.WithdrawFakebank: { - const req = codecForWithdrawFakebankRequest().decode(payload); - const amount = Amounts.parseOrThrow(req.amount); - const details = await getExchangeWithdrawalInfo( - ws, - req.exchange, - amount, - undefined, - ); - const wres = await createManualWithdrawal(ws, { - amount: amount, - exchangeBaseUrl: req.exchange, - }); - const paytoUri = details.exchangePaytoUris[0]; - const pt = parsePaytoUri(paytoUri); - if (!pt) { - throw Error("failed to parse payto URI"); - } - const components = pt.targetPath.split("/"); - const creditorAcct = components[components.length - 1]; - logger.info(`making testbank transfer to '${creditorAcct}'`); - const fbReq = await ws.http.fetch( - new URL( - `accounts/${creditorAcct}/taler-wire-gateway/admin/add-incoming`, - req.bank, - ).href, - { - method: "POST", - body: { - amount: Amounts.stringify(amount), - reserve_pub: wres.reservePub, - debit_account: - "payto://x-taler-bank/localhost/testdebtor?receiver-name=Foo", - }, - }, - ); - const fbResp = await readSuccessResponseJsonOrThrow(fbReq, codecForAny()); - logger.info(`started fakebank withdrawal: ${j2s(fbResp)}`); - return {}; - } case WalletApiOperation.TestCrypto: { return await ws.cryptoApi.hashString({ str: "hello world" }); } -- cgit v1.2.3 From e628ca1af851259e609a16d0b53b8d7abfc33716 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 25 Sep 2023 19:46:47 +0200 Subject: change demo/test bank URL --- packages/taler-harness/src/index.ts | 4 ++-- packages/taler-wallet-cli/src/index.ts | 2 +- packages/taler-wallet-core/src/wallet.ts | 2 +- packages/taler-wallet-embedded/src/wallet-qjs.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'packages/taler-wallet-cli/src') diff --git a/packages/taler-harness/src/index.ts b/packages/taler-harness/src/index.ts index 8ace45a89..1f5156b57 100644 --- a/packages/taler-harness/src/index.ts +++ b/packages/taler-harness/src/index.ts @@ -313,7 +313,7 @@ deploymentCli await topupReserveWithDemobank({ amount: "KUDOS:10", bankAccessApiBaseUrl: - "https://bank.demo.taler.net/demobanks/default/access-api/", + "https://bank.demo.taler.net/", exchangeInfo, http, reservePub: reserveKeyPair.pub, @@ -342,7 +342,7 @@ deploymentCli await topupReserveWithDemobank({ amount: "TESTKUDOS:10", bankAccessApiBaseUrl: - "https://bank.test.taler.net/demobanks/default/access-api/", + "https://bank.test.taler.net/", exchangeInfo, http, reservePub: reserveKeyPair.pub, diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts index e21a8ce35..bfc259481 100644 --- a/packages/taler-wallet-cli/src/index.ts +++ b/packages/taler-wallet-cli/src/index.ts @@ -1508,7 +1508,7 @@ testCli.subcommand("withdrawKudos", "withdraw-kudos").action(async (args) => { await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: "KUDOS:50", bankAccessApiBaseUrl: - "https://bank.demo.taler.net/demobanks/default/access-api/", + "https://bank.demo.taler.net/", exchangeBaseUrl: "https://exchange.demo.taler.net/", }); }); diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index ccc7ec094..496297021 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -1072,7 +1072,7 @@ async function dispatchRequestInternal( await withdrawTestBalance(ws, { amount: "TESTKUDOS:10", bankAccessApiBaseUrl: - "https://bank.test.taler.net/demobanks/default/access-api/", + "https://bank.test.taler.net/", exchangeBaseUrl: "https://exchange.test.taler.net/", }); return { diff --git a/packages/taler-wallet-embedded/src/wallet-qjs.ts b/packages/taler-wallet-embedded/src/wallet-qjs.ts index 5e2f1e0a4..e0888aa8a 100644 --- a/packages/taler-wallet-embedded/src/wallet-qjs.ts +++ b/packages/taler-wallet-embedded/src/wallet-qjs.ts @@ -279,7 +279,7 @@ export async function testWithGv() { amountToSpend: "KUDOS:1", amountToWithdraw: "KUDOS:3", bankAccessApiBaseUrl: - "https://bank.demo.taler.net/demobanks/default/access-api/", + "https://bank.demo.taler.net/", exchangeBaseUrl: "https://exchange.demo.taler.net/", merchantBaseUrl: "https://backend.demo.taler.net/", }); -- cgit v1.2.3 From 97d7be7503168f4f3bbd05905d32aa76ca1636b2 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 6 Oct 2023 14:42:32 +0200 Subject: rename to corebank API --- packages/taler-harness/src/bench1.ts | 2 +- packages/taler-harness/src/bench3.ts | 2 +- packages/taler-harness/src/harness/harness.ts | 10 +++++----- packages/taler-harness/src/harness/helpers.ts | 2 +- packages/taler-harness/src/index.ts | 6 +++--- .../src/integrationtests/test-age-restrictions-merchant.ts | 2 +- .../taler-harness/src/integrationtests/test-bank-api.ts | 2 +- .../src/integrationtests/test-exchange-deposit.ts | 2 +- .../src/integrationtests/test-exchange-management.ts | 2 +- .../src/integrationtests/test-exchange-purse.ts | 2 +- .../src/integrationtests/test-forced-selection.ts | 2 +- packages/taler-harness/src/integrationtests/test-kyc.ts | 2 +- .../src/integrationtests/test-libeufin-bank.ts | 2 +- .../src/integrationtests/test-payment-fault.ts | 2 +- .../taler-harness/src/integrationtests/test-tipping.ts | 2 +- .../src/integrationtests/test-wallet-dbless.ts | 2 +- .../src/integrationtests/test-wallet-notifications.ts | 2 +- .../src/integrationtests/test-wallettesting.ts | 6 +++--- .../src/integrationtests/test-withdrawal-abort-bank.ts | 2 +- .../integrationtests/test-withdrawal-bank-integrated.ts | 2 +- .../src/integrationtests/test-withdrawal-fakebank.ts | 2 +- .../src/integrationtests/test-withdrawal-fees.ts | 2 +- .../src/integrationtests/test-withdrawal-huge.ts | 2 +- .../src/integrationtests/test-withdrawal-manual.ts | 2 +- packages/taler-util/src/wallet-types.ts | 14 +++++++------- packages/taler-wallet-cli/src/index.ts | 4 ++-- packages/taler-wallet-core/src/dbless.ts | 6 +++--- packages/taler-wallet-core/src/operations/testing.ts | 14 +++++++------- packages/taler-wallet-core/src/wallet.ts | 2 +- packages/taler-wallet-embedded/src/wallet-qjs.ts | 4 ++-- 30 files changed, 54 insertions(+), 54 deletions(-) (limited to 'packages/taler-wallet-cli/src') diff --git a/packages/taler-harness/src/bench1.ts b/packages/taler-harness/src/bench1.ts index f7b42836d..efe162320 100644 --- a/packages/taler-harness/src/bench1.ts +++ b/packages/taler-harness/src/bench1.ts @@ -98,7 +98,7 @@ export async function runBench1(configJson: any): Promise { await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: b1conf.currency + ":" + withdrawAmount, - bankAccessApiBaseUrl: b1conf.bank, + corebankApiBaseUrl: b1conf.bank, exchangeBaseUrl: b1conf.exchange, }); diff --git a/packages/taler-harness/src/bench3.ts b/packages/taler-harness/src/bench3.ts index 55cd335f2..bc345aa9e 100644 --- a/packages/taler-harness/src/bench3.ts +++ b/packages/taler-harness/src/bench3.ts @@ -109,7 +109,7 @@ export async function runBench3(configJson: any): Promise { await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: b3conf.currency + ":" + withdrawAmount, - bankAccessApiBaseUrl: b3conf.bank, + corebankApiBaseUrl: b3conf.bank, exchangeBaseUrl: b3conf.exchange, }); diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts index a57cb4355..e30cbcb54 100644 --- a/packages/taler-harness/src/harness/harness.ts +++ b/packages/taler-harness/src/harness/harness.ts @@ -650,7 +650,7 @@ export class FakebankService return `http://localhost:${this.bankConfig.httpPort}/`; } - get bankAccessApiBaseUrl(): string { + get corebankApiBaseUrl(): string { return this.baseUrl; } @@ -691,7 +691,7 @@ export class FakebankService "bank", ); await this.pingUntilAvailable(); - const bankClient = new TalerCorebankApiClient(this.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(this.corebankApiBaseUrl); for (const acc of this.accounts) { await bankClient.registerAccount(acc.accountName, acc.accountPassword); } @@ -798,7 +798,7 @@ export class LibeufinBankService return `http://localhost:${this.bankConfig.httpPort}/`; } - get bankAccessApiBaseUrl(): string { + get corebankApiBaseUrl(): string { return this.baseUrl; } @@ -825,7 +825,7 @@ export class LibeufinBankService "libeufin-bank-httpd", ); await this.pingUntilAvailable(); - const bankClient = new TalerCorebankApiClient(this.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(this.corebankApiBaseUrl); for (const acc of this.accounts) { await bankClient.registerAccount(acc.accountName, acc.accountPassword); } @@ -841,7 +841,7 @@ export class LibeufinBankService const useLibeufinBank = false; export interface BankServiceHandle { - readonly bankAccessApiBaseUrl: string; + readonly corebankApiBaseUrl: string; readonly http: HttpRequestLibrary; } diff --git a/packages/taler-harness/src/harness/helpers.ts b/packages/taler-harness/src/harness/helpers.ts index 68b7d087c..8c1612457 100644 --- a/packages/taler-harness/src/harness/helpers.ts +++ b/packages/taler-harness/src/harness/helpers.ts @@ -560,7 +560,7 @@ export async function withdrawViaBankV2( ): Promise { const { walletClient: wallet, bank, exchange, amount } = p; - const bankClient = new TalerCorebankApiClient(bank.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); const user = await bankClient.createRandomBankUser(); const wop = await bankClient.createWithdrawalOperation(user.username, amount); diff --git a/packages/taler-harness/src/index.ts b/packages/taler-harness/src/index.ts index 1f5156b57..82d8e4326 100644 --- a/packages/taler-harness/src/index.ts +++ b/packages/taler-harness/src/index.ts @@ -312,7 +312,7 @@ deploymentCli const exchangeInfo = await downloadExchangeInfo(exchangeBaseUrl, http); await topupReserveWithDemobank({ amount: "KUDOS:10", - bankAccessApiBaseUrl: + corebankApiBaseUrl: "https://bank.demo.taler.net/", exchangeInfo, http, @@ -341,7 +341,7 @@ deploymentCli const exchangeInfo = await downloadExchangeInfo(exchangeBaseUrl, http); await topupReserveWithDemobank({ amount: "TESTKUDOS:10", - bankAccessApiBaseUrl: + corebankApiBaseUrl: "https://bank.test.taler.net/", exchangeInfo, http, @@ -371,7 +371,7 @@ deploymentCli const exchangeInfo = await downloadExchangeInfo(exchangeBaseUrl, http); await topupReserveWithDemobank({ amount: "TESTKUDOS:10", - bankAccessApiBaseUrl: "http://localhost:8082/taler-bank-access/", + corebankApiBaseUrl: "http://localhost:8082/taler-bank-access/", exchangeInfo, http, reservePub: reserveKeyPair.pub, diff --git a/packages/taler-harness/src/integrationtests/test-age-restrictions-merchant.ts b/packages/taler-harness/src/integrationtests/test-age-restrictions-merchant.ts index 90b08724f..5653e22e2 100644 --- a/packages/taler-harness/src/integrationtests/test-age-restrictions-merchant.ts +++ b/packages/taler-harness/src/integrationtests/test-age-restrictions-merchant.ts @@ -179,7 +179,7 @@ export async function runAgeRestrictionsMerchantTest(t: GlobalTestState) { // Pay with coin from tipping { - const bankClient = new TalerCorebankApiClient(bank.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); const mbu = await bankClient.createRandomBankUser(); const tipReserveResp = await merchantClient.createTippingReserve({ exchange_url: exchange.baseUrl, diff --git a/packages/taler-harness/src/integrationtests/test-bank-api.ts b/packages/taler-harness/src/integrationtests/test-bank-api.ts index b87a4043b..9c5b06397 100644 --- a/packages/taler-harness/src/integrationtests/test-bank-api.ts +++ b/packages/taler-harness/src/integrationtests/test-bank-api.ts @@ -99,7 +99,7 @@ export async function runBankApiTest(t: GlobalTestState) { console.log("setup done!"); - const bankClient = new TalerCorebankApiClient(bank.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); const bankUser = await bankClient.registerAccount("user1", "pw1"); diff --git a/packages/taler-harness/src/integrationtests/test-exchange-deposit.ts b/packages/taler-harness/src/integrationtests/test-exchange-deposit.ts index 96255f5b5..8ad7daa63 100644 --- a/packages/taler-harness/src/integrationtests/test-exchange-deposit.ts +++ b/packages/taler-harness/src/integrationtests/test-exchange-deposit.ts @@ -66,7 +66,7 @@ export async function runExchangeDepositTest(t: GlobalTestState) { await topupReserveWithDemobank({ http, amount: "TESTKUDOS:10", - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, exchangeInfo, reservePub: reserveKeyPair.pub, }); diff --git a/packages/taler-harness/src/integrationtests/test-exchange-management.ts b/packages/taler-harness/src/integrationtests/test-exchange-management.ts index fbee50385..a7908264d 100644 --- a/packages/taler-harness/src/integrationtests/test-exchange-management.ts +++ b/packages/taler-harness/src/integrationtests/test-exchange-management.ts @@ -263,7 +263,7 @@ export async function runExchangeManagementTest( // Create withdrawal operation - const bankClient = new TalerCorebankApiClient(bank.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); const user = await bankClient.createRandomBankUser(); const wop = await bankClient.createWithdrawalOperation( diff --git a/packages/taler-harness/src/integrationtests/test-exchange-purse.ts b/packages/taler-harness/src/integrationtests/test-exchange-purse.ts index 5a1d02692..33a09ed16 100644 --- a/packages/taler-harness/src/integrationtests/test-exchange-purse.ts +++ b/packages/taler-harness/src/integrationtests/test-exchange-purse.ts @@ -79,7 +79,7 @@ export async function runExchangePurseTest(t: GlobalTestState) { amount: "TESTKUDOS:10", http, reservePub: reserveKeyPair.pub, - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, exchangeInfo, }); diff --git a/packages/taler-harness/src/integrationtests/test-forced-selection.ts b/packages/taler-harness/src/integrationtests/test-forced-selection.ts index 3425dadf1..917ad2025 100644 --- a/packages/taler-harness/src/integrationtests/test-forced-selection.ts +++ b/packages/taler-harness/src/integrationtests/test-forced-selection.ts @@ -38,7 +38,7 @@ export async function runForcedSelectionTest(t: GlobalTestState) { await walletClient.call(WalletApiOperation.WithdrawTestBalance, { exchangeBaseUrl: exchange.baseUrl, amount: "TESTKUDOS:10", - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, forcedDenomSel: { denoms: [ { diff --git a/packages/taler-harness/src/integrationtests/test-kyc.ts b/packages/taler-harness/src/integrationtests/test-kyc.ts index d646995d6..319e8828f 100644 --- a/packages/taler-harness/src/integrationtests/test-kyc.ts +++ b/packages/taler-harness/src/integrationtests/test-kyc.ts @@ -302,7 +302,7 @@ export async function runKycTest(t: GlobalTestState) { // Withdraw digital cash into the wallet. - const bankClient = new TalerCorebankApiClient(bank.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); const amount = "TESTKUDOS:20"; const user = await bankClient.createRandomBankUser(); diff --git a/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts b/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts index 66b4c0b80..c8c668bed 100644 --- a/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts +++ b/packages/taler-harness/src/integrationtests/test-libeufin-bank.ts @@ -126,7 +126,7 @@ export async function runLibeufinBankTest(t: GlobalTestState) { console.log("setup done!"); - const bankClient = new TalerCorebankApiClient(bank.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); // register exchange bank account await bankClient.registerAccountExtended({ diff --git a/packages/taler-harness/src/integrationtests/test-payment-fault.ts b/packages/taler-harness/src/integrationtests/test-payment-fault.ts index 63244a4e3..af6751ef4 100644 --- a/packages/taler-harness/src/integrationtests/test-payment-fault.ts +++ b/packages/taler-harness/src/integrationtests/test-payment-fault.ts @@ -127,7 +127,7 @@ export async function runPaymentFaultTest(t: GlobalTestState) { // Create withdrawal operation - const bankClient = new TalerCorebankApiClient(bank.bankAccessApiBaseUrl); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); const user = await bankClient.createRandomBankUser(); const wop = await bankClient.createWithdrawalOperation( diff --git a/packages/taler-harness/src/integrationtests/test-tipping.ts b/packages/taler-harness/src/integrationtests/test-tipping.ts index 3d4ea6663..12cdbae53 100644 --- a/packages/taler-harness/src/integrationtests/test-tipping.ts +++ b/packages/taler-harness/src/integrationtests/test-tipping.ts @@ -39,7 +39,7 @@ export async function runTippingTest(t: GlobalTestState) { await createSimpleTestkudosEnvironmentV2(t); const bankAccessApiClient = new TalerCorebankApiClient( - bank.bankAccessApiBaseUrl, + bank.corebankApiBaseUrl, ); const mbu = await bankAccessApiClient.createRandomBankUser(); diff --git a/packages/taler-harness/src/integrationtests/test-wallet-dbless.ts b/packages/taler-harness/src/integrationtests/test-wallet-dbless.ts index 153ae93d8..5e6539654 100644 --- a/packages/taler-harness/src/integrationtests/test-wallet-dbless.ts +++ b/packages/taler-harness/src/integrationtests/test-wallet-dbless.ts @@ -72,7 +72,7 @@ export async function runWalletDblessTest(t: GlobalTestState) { amount: "TESTKUDOS:10", http, reservePub: reserveKeyPair.pub, - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, exchangeInfo, }); diff --git a/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts b/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts index 0b5bc45ef..c87a9a264 100644 --- a/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts +++ b/packages/taler-harness/src/integrationtests/test-wallet-notifications.ts @@ -122,7 +122,7 @@ export async function runWalletNotificationsTest(t: GlobalTestState) { }); const bankAccessApiClient = new TalerCorebankApiClient( - bank.bankAccessApiBaseUrl, + bank.corebankApiBaseUrl, ); const user = await bankAccessApiClient.createRandomBankUser(); bankAccessApiClient.setAuth(user); diff --git a/packages/taler-harness/src/integrationtests/test-wallettesting.ts b/packages/taler-harness/src/integrationtests/test-wallettesting.ts index 6d58ae1f2..e5191aa5b 100644 --- a/packages/taler-harness/src/integrationtests/test-wallettesting.ts +++ b/packages/taler-harness/src/integrationtests/test-wallettesting.ts @@ -120,7 +120,7 @@ export async function runWallettestingTest(t: GlobalTestState) { await wallet.client.call(WalletApiOperation.RunIntegrationTest, { amountToSpend: "TESTKUDOS:5", amountToWithdraw: "TESTKUDOS:10", - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, exchangeBaseUrl: exchange.baseUrl, merchantAuthToken: merchantAuthToken, merchantBaseUrl: merchant.makeInstanceBaseUrl(), @@ -143,7 +143,7 @@ export async function runWallettestingTest(t: GlobalTestState) { await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: "TESTKUDOS:10", - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, exchangeBaseUrl: exchange.baseUrl, }); @@ -168,7 +168,7 @@ export async function runWallettestingTest(t: GlobalTestState) { await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: "TESTKUDOS:10", - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, exchangeBaseUrl: exchange.baseUrl, }); diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-abort-bank.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-abort-bank.ts index 4a0dd845b..f9f2df0fc 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-abort-bank.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-abort-bank.ts @@ -34,7 +34,7 @@ export async function runWithdrawalAbortBankTest(t: GlobalTestState) { // Create a withdrawal operation const bankAccessApiClient = new TalerCorebankApiClient( - bank.bankAccessApiBaseUrl, + bank.corebankApiBaseUrl, ); const user = await bankAccessApiClient.createRandomBankUser(); bankAccessApiClient.setAuth(user); diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-bank-integrated.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-bank-integrated.ts index 817da5865..76dec50d3 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-bank-integrated.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-bank-integrated.ts @@ -42,7 +42,7 @@ export async function runWithdrawalBankIntegratedTest(t: GlobalTestState) { // Create a withdrawal operation const corebankApiClient = new TalerCorebankApiClient( - bank.bankAccessApiBaseUrl, + bank.corebankApiBaseUrl, ); const user = await corebankApiClient.createRandomBankUser(); corebankApiClient.setAuth(user); diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts index 84b7b37bf..e3057451e 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-fakebank.ts @@ -80,7 +80,7 @@ export async function runWithdrawalFakebankTest(t: GlobalTestState) { }); await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { - bankAccessApiBaseUrl: bank.bankAccessApiBaseUrl, + corebankApiBaseUrl: bank.corebankApiBaseUrl, exchangeBaseUrl: exchange.baseUrl, amount: "TESTKUDOS:10", }); diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-fees.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-fees.ts index d3df19664..f702376e1 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-fees.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-fees.ts @@ -108,7 +108,7 @@ export async function runWithdrawalFeesTest(t: GlobalTestState) { const amount = "TESTKUDOS:7.5"; const bankAccessApiClient = new TalerCorebankApiClient( - bank.bankAccessApiBaseUrl, + bank.corebankApiBaseUrl, ); const user = await bankAccessApiClient.createRandomBankUser(); bankAccessApiClient.setAuth(user); diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts index 0dfc77447..893d870e5 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-huge.ts @@ -102,7 +102,7 @@ export async function runWithdrawalHugeTest(t: GlobalTestState) { await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { exchangeBaseUrl: exchange.baseUrl, amount: "TESTKUDOS:10000", - bankAccessApiBaseUrl: bank.baseUrl, + corebankApiBaseUrl: bank.baseUrl, }); await withdrawalFinishedCond; diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-manual.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-manual.ts index 316e3cc18..fa483aa28 100644 --- a/packages/taler-harness/src/integrationtests/test-withdrawal-manual.ts +++ b/packages/taler-harness/src/integrationtests/test-withdrawal-manual.ts @@ -42,7 +42,7 @@ export async function runWithdrawalManualTest(t: GlobalTestState) { // Create a withdrawal operation const bankAccessApiClient = new TalerCorebankApiClient( - bank.bankAccessApiBaseUrl, + bank.corebankApiBaseUrl, ); const user = await bankAccessApiClient.createRandomBankUser(); diff --git a/packages/taler-util/src/wallet-types.ts b/packages/taler-util/src/wallet-types.ts index 8fff8ae55..4811d674f 100644 --- a/packages/taler-util/src/wallet-types.ts +++ b/packages/taler-util/src/wallet-types.ts @@ -1556,7 +1556,7 @@ export const codecForTestPayArgs = (): Codec => export interface IntegrationTestArgs { exchangeBaseUrl: string; - bankAccessApiBaseUrl: string; + corebankApiBaseUrl: string; merchantBaseUrl: string; merchantAuthToken?: string; amountToWithdraw: string; @@ -1570,12 +1570,12 @@ export const codecForIntegrationTestArgs = (): Codec => .property("merchantAuthToken", codecOptional(codecForString())) .property("amountToSpend", codecForAmountString()) .property("amountToWithdraw", codecForAmountString()) - .property("bankAccessApiBaseUrl", codecForAmountString()) + .property("corebankApiBaseUrl", codecForAmountString()) .build("IntegrationTestArgs"); export interface IntegrationTestV2Args { exchangeBaseUrl: string; - bankAccessApiBaseUrl: string; + corebankApiBaseUrl: string; merchantBaseUrl: string; merchantAuthToken?: string; } @@ -1585,7 +1585,7 @@ export const codecForIntegrationTestV2Args = (): Codec => .property("exchangeBaseUrl", codecForString()) .property("merchantBaseUrl", codecForString()) .property("merchantAuthToken", codecOptional(codecForString())) - .property("bankAccessApiBaseUrl", codecForAmountString()) + .property("corebankApiBaseUrl", codecForAmountString()) .build("IntegrationTestV2Args"); export interface AddExchangeRequest { @@ -1861,9 +1861,9 @@ export interface CoreApiResponseError { export interface WithdrawTestBalanceRequest { amount: string; /** - * Bank access API base URL. + * Corebank API base URL. */ - bankAccessApiBaseUrl: string; + corebankApiBaseUrl: string; exchangeBaseUrl: string; forcedDenomSel?: ForcedDenomSel; } @@ -1936,7 +1936,7 @@ export const codecForWithdrawTestBalance = .property("amount", codecForString()) .property("exchangeBaseUrl", codecForString()) .property("forcedDenomSel", codecForAny()) - .property("bankAccessApiBaseUrl", codecForString()) + .property("corebankApiBaseUrl", codecForString()) .build("WithdrawTestBalanceRequest"); export interface SetCoinSuspendedRequest { diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts index bfc259481..f3b205211 100644 --- a/packages/taler-wallet-cli/src/index.ts +++ b/packages/taler-wallet-cli/src/index.ts @@ -1280,7 +1280,7 @@ advancedCli await wallet.client.call(WalletApiOperation.RunIntegrationTest, { amountToSpend: "TESTKUDOS:1", amountToWithdraw: "TESTKUDOS:3", - bankAccessApiBaseUrl: "http://localhost:8082/taler-bank-access/", + corebankApiBaseUrl: "http://localhost:8082/taler-bank-access/", exchangeBaseUrl: "http://localhost:8081/", merchantBaseUrl: "http://localhost:8083/", }); @@ -1507,7 +1507,7 @@ testCli.subcommand("withdrawKudos", "withdraw-kudos").action(async (args) => { await withWallet(args, async (wallet) => { await wallet.client.call(WalletApiOperation.WithdrawTestBalance, { amount: "KUDOS:50", - bankAccessApiBaseUrl: + corebankApiBaseUrl: "https://bank.demo.taler.net/", exchangeBaseUrl: "https://exchange.demo.taler.net/", }); diff --git a/packages/taler-wallet-core/src/dbless.ts b/packages/taler-wallet-core/src/dbless.ts index 0d702a00c..4fc890788 100644 --- a/packages/taler-wallet-core/src/dbless.ts +++ b/packages/taler-wallet-core/src/dbless.ts @@ -109,7 +109,7 @@ export async function checkReserve( export interface TopupReserveWithDemobankArgs { http: HttpRequestLibrary; reservePub: string; - bankAccessApiBaseUrl: string; + corebankApiBaseUrl: string; exchangeInfo: ExchangeInfo; amount: AmountString; } @@ -117,8 +117,8 @@ export interface TopupReserveWithDemobankArgs { export async function topupReserveWithDemobank( args: TopupReserveWithDemobankArgs, ) { - const { http, bankAccessApiBaseUrl, amount, exchangeInfo, reservePub } = args; - const bankClient = new TalerCorebankApiClient(bankAccessApiBaseUrl); + const { http, corebankApiBaseUrl, amount, exchangeInfo, reservePub } = args; + const bankClient = new TalerCorebankApiClient(corebankApiBaseUrl); const bankUser = await bankClient.createRandomBankUser(); const wopi = await bankClient.createWithdrawalOperation( bankUser.username, diff --git a/packages/taler-wallet-core/src/operations/testing.ts b/packages/taler-wallet-core/src/operations/testing.ts index b21f1992c..607d03470 100644 --- a/packages/taler-wallet-core/src/operations/testing.ts +++ b/packages/taler-wallet-core/src/operations/testing.ts @@ -102,13 +102,13 @@ export async function withdrawTestBalance( ): Promise { const amount = req.amount; const exchangeBaseUrl = req.exchangeBaseUrl; - const bankAccessApiBaseUrl = req.bankAccessApiBaseUrl; + const corebankApiBaseUrl = req.corebankApiBaseUrl; logger.trace( - `Registering bank user, bank access base url ${bankAccessApiBaseUrl}`, + `Registering bank user, bank access base url ${corebankApiBaseUrl}`, ); - const corebankClient = new TalerCorebankApiClient(bankAccessApiBaseUrl); + const corebankClient = new TalerCorebankApiClient(corebankApiBaseUrl); const bankUser = await corebankClient.createRandomBankUser(); logger.trace(`Registered bank user ${JSON.stringify(bankUser)}`); @@ -287,7 +287,7 @@ export async function runIntegrationTest( logger.info("withdrawing test balance"); await withdrawTestBalance(ws, { amount: args.amountToWithdraw, - bankAccessApiBaseUrl: args.bankAccessApiBaseUrl, + corebankApiBaseUrl: args.corebankApiBaseUrl, exchangeBaseUrl: args.exchangeBaseUrl, }); await waitUntilDone(ws); @@ -315,7 +315,7 @@ export async function runIntegrationTest( await withdrawTestBalance(ws, { amount: Amounts.stringify(withdrawAmountTwo), - bankAccessApiBaseUrl: args.bankAccessApiBaseUrl, + corebankApiBaseUrl: args.corebankApiBaseUrl, exchangeBaseUrl: args.exchangeBaseUrl, }); @@ -557,7 +557,7 @@ export async function runIntegrationTest2( logger.info("withdrawing test balance"); await withdrawTestBalance(ws, { amount: Amounts.stringify(amountToWithdraw), - bankAccessApiBaseUrl: args.bankAccessApiBaseUrl, + corebankApiBaseUrl: args.corebankApiBaseUrl, exchangeBaseUrl: args.exchangeBaseUrl, }); await waitUntilDone(ws); @@ -590,7 +590,7 @@ export async function runIntegrationTest2( await withdrawTestBalance(ws, { amount: Amounts.stringify(withdrawAmountTwo), - bankAccessApiBaseUrl: args.bankAccessApiBaseUrl, + corebankApiBaseUrl: args.corebankApiBaseUrl, exchangeBaseUrl: args.exchangeBaseUrl, }); diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index 203adec0f..ead0ee407 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -1073,7 +1073,7 @@ async function dispatchRequestInternal( case WalletApiOperation.WithdrawTestkudos: { await withdrawTestBalance(ws, { amount: "TESTKUDOS:10", - bankAccessApiBaseUrl: "https://bank.test.taler.net/", + corebankApiBaseUrl: "https://bank.test.taler.net/", exchangeBaseUrl: "https://exchange.test.taler.net/", }); return { diff --git a/packages/taler-wallet-embedded/src/wallet-qjs.ts b/packages/taler-wallet-embedded/src/wallet-qjs.ts index e0888aa8a..1b3e3ae81 100644 --- a/packages/taler-wallet-embedded/src/wallet-qjs.ts +++ b/packages/taler-wallet-embedded/src/wallet-qjs.ts @@ -278,7 +278,7 @@ export async function testWithGv() { await w.wallet.client.call(WalletApiOperation.RunIntegrationTest, { amountToSpend: "KUDOS:1", amountToWithdraw: "KUDOS:3", - bankAccessApiBaseUrl: + corebankApiBaseUrl: "https://bank.demo.taler.net/", exchangeBaseUrl: "https://exchange.demo.taler.net/", merchantBaseUrl: "https://backend.demo.taler.net/", @@ -306,7 +306,7 @@ export async function testWithLocal(path: string) { await w.wallet.client.call(WalletApiOperation.RunIntegrationTest, { amountToSpend: "TESTKUDOS:1", amountToWithdraw: "TESTKUDOS:3", - bankAccessApiBaseUrl: "http://localhost:8082/taler-bank-access/", + corebankApiBaseUrl: "http://localhost:8082/taler-bank-access/", exchangeBaseUrl: "http://localhost:8081/", merchantBaseUrl: "http://localhost:8083/", }); -- cgit v1.2.3