From e227fa4e47a86c368011b063d3ac5ec005dc7652 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 13 Oct 2021 06:40:16 -0300 Subject: [PATCH] fix tests and added addExchange --- .../taler-wallet-webextension/src/NavigationBar.tsx | 2 +- .../src/wallet/ManualWithdrawPage.tsx | 8 +++++++- packages/taler-wallet-webextension/src/wxApi.ts | 13 +++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx b/packages/taler-wallet-webextension/src/NavigationBar.tsx index 5345e3bae..7039808d4 100644 --- a/packages/taler-wallet-webextension/src/NavigationBar.tsx +++ b/packages/taler-wallet-webextension/src/NavigationBar.tsx @@ -48,7 +48,7 @@ export enum Pages { pay = '/pay', refund = '/refund', - tips = '/tips', + tips = '/tip', withdraw = '/withdraw', } diff --git a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx index 35cea2b9f..dcc0002e6 100644 --- a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx @@ -38,7 +38,13 @@ export function ManualWithdrawPage({ }: Props): VNode { try { const r = await fetch(`${exchange}/keys`) const j = await r.json() - setCurrency(j.currency) + if (j.currency) { + await wxApi.addExchange({ + exchangeBaseUrl: `${exchange}/`, + forceUpdate: true + }) + setCurrency(j.currency) + } } catch (e) { setError('The exchange url seems invalid') setCurrency(undefined) diff --git a/packages/taler-wallet-webextension/src/wxApi.ts b/packages/taler-wallet-webextension/src/wxApi.ts index 664cc564b..b40b06ad9 100644 --- a/packages/taler-wallet-webextension/src/wxApi.ts +++ b/packages/taler-wallet-webextension/src/wxApi.ts @@ -44,6 +44,7 @@ import { AcceptManualWithdrawalRequest, AmountJson, ExchangesListRespose, + AddExchangeRequest, } from "@gnu-taler/taler-util"; import { AddBackupProviderRequest, BackupProviderState, OperationFailedError, RemoveBackupProviderRequest } from "@gnu-taler/taler-wallet-core"; import { BackupInfo } from "@gnu-taler/taler-wallet-core"; @@ -326,6 +327,18 @@ export function getExchangeWithdrawalInfo( ): Promise { return callBackend("getExchangeWithdrawalInfo", req); } +// export const codecForAddExchangeRequest = (): Codec => +// buildCodecForObject() +// .property("exchangeBaseUrl", codecForString()) +// .property("forceUpdate", codecOptional(codecForBoolean())) +// .build("AddExchangeRequest"); + +export function addExchange( + req: AddExchangeRequest, +): Promise { + return callBackend("addExchange", req); +} + export function prepareTip(req: PrepareTipRequest): Promise { return callBackend("prepareTip", req);