taler-typescript-core

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

commit f697b20a91362c9b7978107973cfe9aaf376baf8
parent 81d6f2c7969f595faf9dc00e889b087f16e4298d
Author: Florian Dold <florian@dold.me>
Date:   Wed, 19 Oct 2022 15:36:57 +0200

wallet-core: return versions in init response

Diffstat:
Mpackages/taler-util/src/wallet-types.ts | 4++++
Mpackages/taler-wallet-core/src/wallet-api-types.ts | 6++++--
Mpackages/taler-wallet-core/src/wallet.ts | 26++++++++++++++++----------
3 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/packages/taler-util/src/wallet-types.ts b/packages/taler-util/src/wallet-types.ts @@ -115,6 +115,10 @@ export interface Balance { requiresUserInput: boolean; } +export interface InitResponse { + versionInfo: WalletCoreVersion; +} + export interface BalancesResponse { balances: Balance[]; } diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts b/packages/taler-wallet-core/src/wallet-api-types.ts @@ -65,6 +65,7 @@ import { InitiatePeerPullPaymentResponse, InitiatePeerPushPaymentRequest, InitiatePeerPushPaymentResponse, + InitResponse, IntegrationTestArgs, KnownBankAccounts, ListKnownBankAccountsRequest, @@ -91,6 +92,7 @@ import { TransactionsRequest, TransactionsResponse, WalletBackupContentV1, + WalletCoreVersion, WalletCurrencyInfo, WithdrawFakebankRequest, WithdrawTestBalanceRequest, @@ -183,13 +185,13 @@ export enum WalletApiOperation { export type InitWalletOp = { op: WalletApiOperation.InitWallet; request: {}; - response: {}; + response: InitResponse; }; export type GetVersionOp = { op: WalletApiOperation.GetVersion; request: {}; - response: {}; + response: WalletCoreVersion; }; // group: Basic Wallet Information diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts @@ -996,7 +996,9 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>( bankAccessApiBaseUrl: "https://bank.test.taler.net/", exchangeBaseUrl: "https://exchange.test.taler.net/", }); - return {}; + return { + versionInfo: getVersion(ws), + }; } case WalletApiOperation.WithdrawTestBalance: { const req = codecForWithdrawTestBalance().decode(payload); @@ -1367,15 +1369,7 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>( return {}; } case WalletApiOperation.GetVersion: { - const version: WalletCoreVersion = { - hash: GIT_HASH, - version: VERSION, - exchange: WALLET_EXCHANGE_PROTOCOL_VERSION, - merchant: WALLET_MERCHANT_PROTOCOL_VERSION, - bank: WALLET_BANK_INTEGRATION_PROTOCOL_VERSION, - devMode: ws.devModeActive, - }; - return version; + return getVersion(ws); } } throw TalerError.fromDetail( @@ -1387,6 +1381,18 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>( ); } +export function getVersion(ws: InternalWalletState): WalletCoreVersion { + const version: WalletCoreVersion = { + hash: GIT_HASH, + version: VERSION, + exchange: WALLET_EXCHANGE_PROTOCOL_VERSION, + merchant: WALLET_MERCHANT_PROTOCOL_VERSION, + bank: WALLET_BANK_INTEGRATION_PROTOCOL_VERSION, + devMode: ws.devModeActive, + }; + return version; +} + /** * Handle a request to the wallet-core API. */