summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-10-19 15:36:57 +0200
committerFlorian Dold <florian@dold.me>2022-10-19 15:36:57 +0200
commitf697b20a91362c9b7978107973cfe9aaf376baf8 (patch)
tree0dac7c2eedf8564b6a174fde393d2680437c99af
parent81d6f2c7969f595faf9dc00e889b087f16e4298d (diff)
downloadwallet-core-f697b20a91362c9b7978107973cfe9aaf376baf8.tar.gz
wallet-core-f697b20a91362c9b7978107973cfe9aaf376baf8.tar.bz2
wallet-core-f697b20a91362c9b7978107973cfe9aaf376baf8.zip
wallet-core: return versions in init response
-rw-r--r--packages/taler-util/src/wallet-types.ts4
-rw-r--r--packages/taler-wallet-core/src/wallet-api-types.ts6
-rw-r--r--packages/taler-wallet-core/src/wallet.ts26
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
index 1a6808d66..77ba42caf 100644
--- 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
index 2eac18249..097518263 100644
--- 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
index 1b338b383..584129c9c 100644
--- 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.
*/