gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated (81d6f2c79 -> c2e7510ce)


From: gnunet
Subject: [taler-wallet-core] branch master updated (81d6f2c79 -> c2e7510ce)
Date: Wed, 19 Oct 2022 15:45:06 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a change to branch master
in repository wallet-core.

    from 81d6f2c79 wallet-core: remove bogus log
     new f697b20a9 wallet-core: return versions in init response
     new ec7a3c813 wallet-core: bump DB version
     new c2e7510ce embedded wallet: improve 'init' request

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 packages/taler-util/src/wallet-types.ts            |  4 +++
 packages/taler-wallet-core/src/db-utils.ts         |  1 +
 packages/taler-wallet-core/src/db.ts               |  2 +-
 packages/taler-wallet-core/src/headless/helpers.ts |  1 +
 packages/taler-wallet-core/src/wallet-api-types.ts |  6 +++--
 packages/taler-wallet-core/src/wallet.ts           | 26 +++++++++++--------
 packages/taler-wallet-embedded/src/index.ts        | 30 ++++++++++++++--------
 7 files changed, 47 insertions(+), 23 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/db-utils.ts 
b/packages/taler-wallet-core/src/db-utils.ts
index 0329ca17a..7060a3d56 100644
--- a/packages/taler-wallet-core/src/db-utils.ts
+++ b/packages/taler-wallet-core/src/db-utils.ts
@@ -194,6 +194,7 @@ export async function openTalerDatabase(
       case "taler-wallet-main-v4": // temporary, we might migrate v4 later
       case "taler-wallet-main-v5":
       case "taler-wallet-main-v6":
+      case "taler-wallet-main-v7":
         // We consider this a pre-release
         // development version, no migration is done.
         await metaDb
diff --git a/packages/taler-wallet-core/src/db.ts 
b/packages/taler-wallet-core/src/db.ts
index 258096433..c3fce6404 100644
--- a/packages/taler-wallet-core/src/db.ts
+++ b/packages/taler-wallet-core/src/db.ts
@@ -82,7 +82,7 @@ import { RetryInfo, RetryTags } from "./util/retries.js";
  * for all previous versions must be written, which should be
  * avoided.
  */
-export const TALER_DB_NAME = "taler-wallet-main-v7";
+export const TALER_DB_NAME = "taler-wallet-main-v8";
 
 /**
  * Name of the metadata database.  This database is used
diff --git a/packages/taler-wallet-core/src/headless/helpers.ts 
b/packages/taler-wallet-core/src/headless/helpers.ts
index df4474271..cef7c94d9 100644
--- a/packages/taler-wallet-core/src/headless/helpers.ts
+++ b/packages/taler-wallet-core/src/headless/helpers.ts
@@ -174,6 +174,7 @@ export async function getDefaultNodeWallet2(
       const worker_threads = module[_r]("worker_threads");
       // require("worker_threads");
       workerFactory = new NodeThreadCryptoWorkerFactory();
+      logger.info("using node thread crypto worker");
     } catch (e) {
       logger.warn(
         "worker threads not available, falling back to synchronous workers",
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.
  */
diff --git a/packages/taler-wallet-embedded/src/index.ts 
b/packages/taler-wallet-embedded/src/index.ts
index 64b12f63c..a4de23151 100644
--- a/packages/taler-wallet-embedded/src/index.ts
+++ b/packages/taler-wallet-embedded/src/index.ts
@@ -18,31 +18,30 @@
  * Imports.
  */
 import {
-  getDefaultNodeWallet,
   DefaultNodeWalletArgs,
-  NodeHttpLib,
+  getDefaultNodeWallet,
+  getErrorDetailFromException,
   handleWorkerError,
   handleWorkerMessage,
+  Headers,
   HttpRequestLibrary,
-  OpenedPromise,
-  HttpResponse,
   HttpRequestOptions,
+  HttpResponse,
+  NodeHttpLib,
+  OpenedPromise,
   openPromise,
-  Headers,
+  Wallet,
   WALLET_EXCHANGE_PROTOCOL_VERSION,
   WALLET_MERCHANT_PROTOCOL_VERSION,
-  Wallet,
-  getErrorDetailFromException,
 } from "@gnu-taler/taler-wallet-core";
 
-import fs from "fs";
 import {
   CoreApiEnvelope,
   CoreApiResponse,
   CoreApiResponseSuccess,
   WalletNotification,
-  TalerErrorCode,
 } from "@gnu-taler/taler-util";
+import fs from "fs";
 
 export { handleWorkerError, handleWorkerMessage };
 
@@ -175,10 +174,17 @@ class NativeWalletMessageHandler {
       };
     };
 
+    let initResponse: any = {};
+
     const reinit = async () => {
       const w = await getDefaultNodeWallet(this.walletArgs);
       this.maybeWallet = w;
-      await w.handleCoreApiRequest("initWallet", "native-init", {});
+      const resp = await w.handleCoreApiRequest(
+        "initWallet",
+        "native-init",
+        {},
+      );
+      initResponse = resp.type == "response" ? resp.result : resp.error;
       w.runTaskLoop().catch((e) => {
         console.error("Error during wallet retry loop", e);
       });
@@ -193,13 +199,17 @@ class NativeWalletMessageHandler {
           },
           persistentStoragePath: args.persistentStoragePath,
           httpLib: this.httpLib,
+          cryptoWorkerType: args.cryptoWorkerType,
         };
         await reinit();
         return wrapResponse({
+          // FIXME: Only for Android compatibility, should be removed
+          // once changed on Android.
           supported_protocol_versions: {
             exchange: WALLET_EXCHANGE_PROTOCOL_VERSION,
             merchant: WALLET_MERCHANT_PROTOCOL_VERSION,
           },
+          ...initResponse,
         });
       }
       case "startTunnel": {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]