taler-typescript-core

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

commit e227fa4e47a86c368011b063d3ac5ec005dc7652
parent 2e8e1a15c9b55fed0b22341f2c2e0406efb84c3a
Author: Sebastian <sebasjm@gmail.com>
Date:   Wed, 13 Oct 2021 06:40:16 -0300

fix tests and added addExchange

Diffstat:
Mpackages/taler-wallet-webextension/src/NavigationBar.tsx | 2+-
Mpackages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx | 8+++++++-
Mpackages/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 @@ -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 @@ -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 @@ -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<ExchangeWithdrawDetails> { return callBackend("getExchangeWithdrawalInfo", req); } +// export const codecForAddExchangeRequest = (): Codec<AddExchangeRequest> => +// buildCodecForObject<AddExchangeRequest>() +// .property("exchangeBaseUrl", codecForString()) +// .property("forceUpdate", codecOptional(codecForBoolean())) +// .build("AddExchangeRequest"); + +export function addExchange( + req: AddExchangeRequest, +): Promise<void> { + return callBackend("addExchange", req); +} + export function prepareTip(req: PrepareTipRequest): Promise<PrepareTipResult> { return callBackend("prepareTip", req);