gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] 03/03: embedded wallet: improve 'init' request


From: gnunet
Subject: [taler-wallet-core] 03/03: embedded wallet: improve 'init' request
Date: Wed, 19 Oct 2022 15:45:09 +0200

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

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

commit c2e7510cecf4a0cf12fb8419a3f25173f2452be8
Author: Florian Dold <florian@dold.me>
AuthorDate: Wed Oct 19 15:44:28 2022 +0200

    embedded wallet: improve 'init' request
    
    Allow specifying crypto worker type, pass through version info from
    'initWallet'.
---
 packages/taler-wallet-core/src/headless/helpers.ts |  1 +
 packages/taler-wallet-embedded/src/index.ts        | 30 ++++++++++++++--------
 2 files changed, 21 insertions(+), 10 deletions(-)

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-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]