gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] 02/02: -logging, skip defaults in test


From: gnunet
Subject: [taler-wallet-core] 02/02: -logging, skip defaults in test
Date: Mon, 02 Jan 2023 21:00:51 +0100

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

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

commit d48ea17c6345abaa732deb5fab6141449d463e41
Author: Florian Dold <florian@dold.me>
AuthorDate: Mon Jan 2 21:00:43 2023 +0100

    -logging, skip defaults in test
---
 build-system/taler-build-scripts                         |  2 +-
 packages/taler-util/src/helpers.ts                       | 16 ++++++++++++++++
 packages/taler-util/src/wallet-types.ts                  |  4 ++++
 .../taler-wallet-core/src/crypto/cryptoImplementation.ts |  3 ++-
 .../src/crypto/workers/synchronousWorkerPlain.ts         |  4 +++-
 .../src/crypto/workers/worker-common.ts                  |  9 +++++++--
 packages/taler-wallet-core/src/wallet-api-types.ts       |  3 ++-
 packages/taler-wallet-embedded/src/wallet-qjs.ts         |  4 +++-
 8 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts
index 355a31726..23538677f 160000
--- a/build-system/taler-build-scripts
+++ b/build-system/taler-build-scripts
@@ -1 +1 @@
-Subproject commit 355a3172699b96f1040edcb577c07a681802b3ae
+Subproject commit 23538677f6c6be2a62f38dc6137ecdd1c76b7b15
diff --git a/packages/taler-util/src/helpers.ts 
b/packages/taler-util/src/helpers.ts
index 7d84d434e..95c6bf286 100644
--- a/packages/taler-util/src/helpers.ts
+++ b/packages/taler-util/src/helpers.ts
@@ -121,3 +121,19 @@ export function j2s(x: any): string {
 export function notEmpty<T>(value: T | null | undefined): value is T {
   return value !== null && value !== undefined;
 }
+
+/**
+ * Safe function to stringify errors. 
+ */
+export function stringifyError(x: any): string {
+  if (typeof x === "undefined") {
+    return "<thrown undefined>";
+  }
+  if (x === null) {
+    return `<thrown null>`;  
+  }
+  if (typeof x === "object") {
+    return x.toString();
+  }
+  return `<thrown ${typeof x}>`;
+}
\ No newline at end of file
diff --git a/packages/taler-util/src/wallet-types.ts 
b/packages/taler-util/src/wallet-types.ts
index 61f2f3b73..402a9ed95 100644
--- a/packages/taler-util/src/wallet-types.ts
+++ b/packages/taler-util/src/wallet-types.ts
@@ -118,6 +118,10 @@ export interface Balance {
   requiresUserInput: boolean;
 }
 
+export interface InitRequest {
+  skipDefaults?: boolean;
+}
+
 export interface InitResponse {
   versionInfo: WalletCoreVersion;
 }
diff --git a/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts 
b/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts
index 5d2820fdb..624ddf1d3 100644
--- a/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts
+++ b/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts
@@ -664,7 +664,8 @@ export const nativeCryptoR: TalerCryptoInterfaceR = {
     const salt = new Uint8Array(saltArrBuf);
     const saltDataView = new DataView(saltArrBuf);
     saltDataView.setUint32(0, req.coinNumber);
-    const out = kdf(64, decodeCrock(req.secretSeed), salt, info);
+    const secretSeedDec = decodeCrock(req.secretSeed);
+    const out = kdf(64, secretSeedDec, salt, info);
     const coinPriv = out.slice(0, 32);
     const bks = out.slice(32, 64);
     const coinPrivEnc = encodeCrock(coinPriv);
diff --git 
a/packages/taler-wallet-core/src/crypto/workers/synchronousWorkerPlain.ts 
b/packages/taler-wallet-core/src/crypto/workers/synchronousWorkerPlain.ts
index 058896828..c80f2f58f 100644
--- a/packages/taler-wallet-core/src/crypto/workers/synchronousWorkerPlain.ts
+++ b/packages/taler-wallet-core/src/crypto/workers/synchronousWorkerPlain.ts
@@ -17,7 +17,7 @@
 /**
  * Imports.
  */
-import { Logger } from "@gnu-taler/taler-util";
+import { j2s, Logger } from "@gnu-taler/taler-util";
 import {
   nativeCryptoR,
   TalerCryptoInterfaceR,
@@ -84,6 +84,8 @@ export class SynchronousCryptoWorkerPlain implements 
CryptoWorker {
     };
     handleRequest().catch((e) => {
       logger.error("Error while handling crypto request:", e);
+      logger.error("Stack:", e.stack);
+      logger.error(`request was ${j2s(msg)}`);
     });
   }
 
diff --git a/packages/taler-wallet-core/src/crypto/workers/worker-common.ts 
b/packages/taler-wallet-core/src/crypto/workers/worker-common.ts
index 459033526..8a74a5231 100644
--- a/packages/taler-wallet-core/src/crypto/workers/worker-common.ts
+++ b/packages/taler-wallet-core/src/crypto/workers/worker-common.ts
@@ -17,7 +17,12 @@
 /**
  * Imports.
  */
-import { j2s, Logger, TalerErrorCode } from "@gnu-taler/taler-util";
+import {
+  j2s,
+  Logger,
+  stringifyError as safeStringifyError,
+  TalerErrorCode,
+} from "@gnu-taler/taler-util";
 import { getErrorDetailFromException, makeErrorDetail } from "../../errors.js";
 import { TalerCryptoInterfaceR } from "../cryptoImplementation.js";
 import {
@@ -88,7 +93,7 @@ export async function processRequestWithImpl(
     const result = await (impl as any)[operation](impl, reqMsg.req);
     responseMsg = { type: "success", result, id };
   } catch (e: any) {
-    logger.error(`error during operation: ${e.stack ?? e.toString()}`);
+    logger.error(`error during operation: ${safeStringifyError(e)}`);
     responseMsg = {
       type: "error",
       error: getErrorDetailFromException(e),
diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts 
b/packages/taler-wallet-core/src/wallet-api-types.ts
index f4fb16e80..1ea57a27d 100644
--- a/packages/taler-wallet-core/src/wallet-api-types.ts
+++ b/packages/taler-wallet-core/src/wallet-api-types.ts
@@ -106,6 +106,7 @@ import {
   WithdrawTestBalanceRequest,
   WithdrawUriInfoResponse,
   UserAttentionByIdRequest,
+  InitRequest,
 } from "@gnu-taler/taler-util";
 import { WalletContractData } from "./db.js";
 import {
@@ -200,7 +201,7 @@ type EmptyObject = Record<string, never>;
  */
 export type InitWalletOp = {
   op: WalletApiOperation.InitWallet;
-  request: EmptyObject;
+  request: InitRequest;
   response: InitResponse;
 };
 
diff --git a/packages/taler-wallet-embedded/src/wallet-qjs.ts 
b/packages/taler-wallet-embedded/src/wallet-qjs.ts
index cdd5400cf..a9c314c6d 100644
--- a/packages/taler-wallet-embedded/src/wallet-qjs.ts
+++ b/packages/taler-wallet-embedded/src/wallet-qjs.ts
@@ -424,7 +424,9 @@ export async function testWithGv() {
 
 export async function testWithLocal() {
   const w = await getWallet();
-  await w.wallet.client.call(WalletApiOperation.InitWallet, {});
+  await w.wallet.client.call(WalletApiOperation.InitWallet, {
+    skipDefaults: true,
+  });
   await w.wallet.client.call(WalletApiOperation.RunIntegrationTest, {
     amountToSpend: "TESTKUDOS:1",
     amountToWithdraw: "TESTKUDOS:3",

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