diff --git a/packages/taler-wallet-core/src/bank-api-client.ts b/packages/taler-wallet-core/src/bank-api-client.ts index 677581e22..ead985a58 100644 --- a/packages/taler-wallet-core/src/bank-api-client.ts +++ b/packages/taler-wallet-core/src/bank-api-client.ts @@ -29,6 +29,7 @@ import { codecForAny, codecForString, encodeCrock, + generateIban, getRandomBytes, j2s, Logger, @@ -107,9 +108,16 @@ export namespace BankApi { bank: BankServiceHandle, username: string, password: string, + options: { + iban?: string; + }, ): Promise { const url = new URL("testing/register", bank.bankAccessApiBaseUrl); - const resp = await bank.http.postJson(url.href, { username, password }); + const resp = await bank.http.postJson(url.href, { + username, + password, + iban: options.iban, + }); let paytoUri = `payto://x-taler-bank/localhost/${username}`; if (resp.status !== 200 && resp.status !== 202 && resp.status !== 204) { logger.error(`${j2s(await resp.json())}`); @@ -143,7 +151,11 @@ export namespace BankApi { ): Promise { const username = "user-" + encodeCrock(getRandomBytes(10)).toLowerCase(); const password = "pw-" + encodeCrock(getRandomBytes(10)).toLowerCase(); - return await registerAccount(bank, username, password); + // FIXME: This is just a temporary workaround, because demobank is running out of short IBANs + const iban = generateIban("DE", 15); + return await registerAccount(bank, username, password, { + iban, + }); } export async function confirmWithdrawalOperation(