gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated (59bc5442 -> 59a2119d)


From: gnunet
Subject: [taler-wallet-core] branch master updated (59bc5442 -> 59a2119d)
Date: Wed, 01 Jun 2022 10:14:27 +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 59bc5442 wallet-core: only schedule auto-refresh check if exchange 
update has no last error
     new 1ea28c5b fix package.json, lockfile
     new 59a2119d integration tests: one variable for pybank/libeufin switch

The 2 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-config-lib/package.json             |  1 -
 packages/taler-wallet-cli/src/harness/harness.ts   | 11 +--
 .../src/integrationtests/testrunner.ts             |  2 +-
 packages/taler-wallet-core/src/bank-api-client.ts  |  3 +-
 .../taler-wallet-core/src/operations/refund.ts     | 81 ++++++++++++++--------
 packages/taler-wallet-webextension/package.json    |  1 -
 pnpm-lock.yaml                                     | 71 +++++++++----------
 7 files changed, 93 insertions(+), 77 deletions(-)

diff --git a/packages/taler-config-lib/package.json 
b/packages/taler-config-lib/package.json
index 982c2f6a..34857e73 100644
--- a/packages/taler-config-lib/package.json
+++ b/packages/taler-config-lib/package.json
@@ -21,7 +21,6 @@
   "scripts": {
     "prepare": "tsc",
     "compile": "tsc",
-    "test": "tsc && ava",
     "clean": "rimraf dist lib tsconfig.tsbuildinfo",
     "pretty": "prettier --write src"
   },
diff --git a/packages/taler-wallet-cli/src/harness/harness.ts 
b/packages/taler-wallet-cli/src/harness/harness.ts
index b0b4a137..b53047e5 100644
--- a/packages/taler-wallet-cli/src/harness/harness.ts
+++ b/packages/taler-wallet-cli/src/harness/harness.ts
@@ -856,6 +856,9 @@ class PybankService extends BankServiceBase implements 
BankServiceHandle {
   }
 }
 
+// Use libeufin bank instead of pybank.
+const useLibeufinBank = process.env.WALLET_HARNESS_WITH_EUFIN;
+
 /**
  * Return a euFin or a pyBank implementation of
  * the exported BankService class.  This allows
@@ -866,7 +869,7 @@ function getBankServiceImpl(): {
   prototype: typeof PybankService.prototype;
   create: typeof PybankService.create;
 } {
-  if (process.env.WALLET_HARNESS_WITH_EUFIN)
+  if (useLibeufinBank)
     return {
       prototype: EufinBankService.prototype,
       create: EufinBankService.create,
@@ -1003,7 +1006,7 @@ export class ExchangeService implements 
ExchangeServiceInterface {
   }
 
   async runWirewatchOnce() {
-    if (process.env.WALLET_HARNESS_WITH_EUFIN) {
+    if (useLibeufinBank) {
       // Not even 2 secods showed to be enough!
       await waitMs(4000);
     }
@@ -2016,7 +2019,7 @@ export function getRandomIban(salt: string | null = 
null): string {
 
 // Only used in one tipping test.
 export function getWireMethod(): string {
-  if (process.env.WALLET_HARNESS_WITH_EUFIN) return "iban";
+  if (useLibeufinBank) return "iban";
   return "x-taler-bank";
 }
 
@@ -2025,7 +2028,7 @@ export function getWireMethod(): string {
  * on whether the banking is served by euFin or Pybank.
  */
 export function getPayto(label: string): string {
-  if (process.env.WALLET_HARNESS_WITH_EUFIN)
+  if (useLibeufinBank)
     return `payto://iban/SANDBOXX/${getRandomIban(
       label,
     )}?receiver-name=${label}`;
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts 
b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
index dcbf8449..db66aa7d 100644
--- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
@@ -222,7 +222,7 @@ export async function runTests(spec: TestRunSpec) {
     path.join(os.tmpdir(), "taler-integrationtests-"),
   );
   updateCurrentSymlink(testRootDir);
-  console.log("testsuite root directory: ", testRootDir);
+  console.log(`testsuite root directory: ${testRootDir}`);
 
   const testResults: TestRunResult[] = [];
 
diff --git a/packages/taler-wallet-core/src/bank-api-client.ts 
b/packages/taler-wallet-core/src/bank-api-client.ts
index fb859ece..a3889698 100644
--- a/packages/taler-wallet-core/src/bank-api-client.ts
+++ b/packages/taler-wallet-core/src/bank-api-client.ts
@@ -121,8 +121,7 @@ export namespace BankApi {
         paytoUri = respJson.paytoUri;
       }
     } catch (e) {
-      logger.error("error trying to parse json from response", e);
-      throw TalerError.fromException(e);
+      // Do nothing
     }
     return {
       password,
diff --git a/packages/taler-wallet-core/src/operations/refund.ts 
b/packages/taler-wallet-core/src/operations/refund.ts
index 28a92286..4110b475 100644
--- a/packages/taler-wallet-core/src/operations/refund.ts
+++ b/packages/taler-wallet-core/src/operations/refund.ts
@@ -25,18 +25,28 @@
  */
 import {
   AbortingCoin,
-  AbortRequest, AbsoluteTime, AmountJson,
+  AbortRequest,
+  AbsoluteTime,
+  AmountJson,
   Amounts,
   ApplyRefundResponse,
   codecForAbortResponse,
-  codecForMerchantOrderRefundPickupResponse, codecForMerchantOrderStatusPaid, 
CoinPublicKey, Duration, Logger,
+  codecForMerchantOrderRefundPickupResponse,
+  codecForMerchantOrderStatusPaid,
+  CoinPublicKey,
+  Duration,
+  Logger,
   MerchantCoinRefundFailureStatus,
   MerchantCoinRefundStatus,
   MerchantCoinRefundSuccessStatus,
   NotificationType,
-  parseRefundUri, PrepareRefundResult, RefreshReason,
+  parseRefundUri,
+  PrepareRefundResult,
+  RefreshReason,
   TalerErrorCode,
-  TalerErrorDetail, TalerProtocolTimestamp, URL
+  TalerErrorDetail,
+  TalerProtocolTimestamp,
+  URL,
 } from "@gnu-taler/taler-util";
 import {
   AbortStatus,
@@ -44,21 +54,18 @@ import {
   PurchaseRecord,
   RefundReason,
   RefundState,
-  WalletStoresV1
+  WalletStoresV1,
 } from "../db.js";
 import { InternalWalletState } from "../internal-wallet-state.js";
 import { readSuccessResponseJsonOrThrow } from "../util/http.js";
 import { checkDbInvariant } from "../util/invariants.js";
 import { GetReadWriteAccess } from "../util/query.js";
-import {
-  RetryInfo
-} from "../util/retries.js";
+import { RetryInfo } from "../util/retries.js";
 import { guardOperationException } from "./common.js";
 import { createRefreshGroup, getTotalRefreshCost } from "./refresh.js";
 
 const logger = new Logger("refund.ts");
 
-
 export async function prepareRefund(
   ws: InternalWalletState,
   talerRefundUri: string,
@@ -88,11 +95,11 @@ export async function prepareRefund(
     );
   }
 
-  const awaiting = await queryAndSaveAwaitingRefund(ws, purchase)
-  const summary = calculateRefundSummary(purchase)
+  const awaiting = await queryAndSaveAwaitingRefund(ws, purchase);
+  const summary = calculateRefundSummary(purchase);
   const proposalId = purchase.proposalId;
 
-  const { contractData: c } = purchase.download
+  const { contractData: c } = purchase.download;
 
   return {
     proposalId,
@@ -109,10 +116,9 @@ export async function prepareRefund(
       summary: c.summary,
       fulfillmentMessage: c.fulfillmentMessage,
       summary_i18n: c.summaryI18n,
-      fulfillmentMessage_i18n:
-        c.fulfillmentMessageI18n,
+      fulfillmentMessage_i18n: c.fulfillmentMessageI18n,
     },
-  }
+  };
 }
 /**
  * Retry querying and applying refunds for an order later.
@@ -496,7 +502,7 @@ async function acceptRefunds(
       } else {
         // No error, but we need to try again!
         p.timestampLastRefundStatus = now;
-        p.refundStatusRetryInfo = RetryInfo.increment(p.refundStatusRetryInfo)
+        p.refundStatusRetryInfo = RetryInfo.increment(p.refundStatusRetryInfo);
         p.lastRefundStatusError = undefined;
         logger.trace("refund query not done");
       }
@@ -509,7 +515,6 @@ async function acceptRefunds(
   });
 }
 
-
 function calculateRefundSummary(p: PurchaseRecord): RefundSummary {
   let amountRefundGranted = Amounts.getZero(
     p.download.contractData.amount.currency,
@@ -544,7 +549,12 @@ function calculateRefundSummary(p: PurchaseRecord): 
RefundSummary {
       ).amount;
     }
   });
-  return { amountEffectivePaid: p.totalPayCost, amountRefundGone, 
amountRefundGranted, pendingAtExchange }
+  return {
+    amountEffectivePaid: p.totalPayCost,
+    amountRefundGone,
+    amountRefundGranted,
+    pendingAtExchange,
+  };
 }
 
 /**
@@ -590,14 +600,13 @@ export async function applyRefund(
     );
   }
 
-  return applyRefundFromPurchaseId(ws, purchase.proposalId)
+  return applyRefundFromPurchaseId(ws, purchase.proposalId);
 }
 
 export async function applyRefundFromPurchaseId(
   ws: InternalWalletState,
   proposalId: string,
 ): Promise<ApplyRefundResponse> {
-
   logger.trace("applying refund for purchase", proposalId);
 
   logger.info("processing purchase for refund");
@@ -640,7 +649,7 @@ export async function applyRefundFromPurchaseId(
     throw Error("purchase no longer exists");
   }
 
-  const summary = calculateRefundSummary(purchase)
+  const summary = calculateRefundSummary(purchase);
 
   return {
     contractTermsHash: purchase.download.contractData.contractTermsHash,
@@ -682,7 +691,8 @@ export async function processPurchaseQueryRefund(
 async function queryAndSaveAwaitingRefund(
   ws: InternalWalletState,
   purchase: PurchaseRecord,
-  waitForAutoRefund?: boolean): Promise<AmountJson> {
+  waitForAutoRefund?: boolean,
+): Promise<AmountJson> {
   const requestUrl = new URL(
     `orders/${purchase.download.contractData.orderId}`,
     purchase.download.contractData.merchantBaseUrl,
@@ -709,12 +719,22 @@ async function queryAndSaveAwaitingRefund(
 
   const refundAwaiting = Amounts.sub(
     Amounts.parseOrThrow(orderStatus.refund_amount),
-    Amounts.parseOrThrow(orderStatus.refund_taken)
-  ).amount
+    Amounts.parseOrThrow(orderStatus.refund_taken),
+  ).amount;
 
-  console.log("refund waiting found, ", refundAwaiting, orderStatus, 
purchase.refundAwaiting, purchase.refundAwaiting && Amounts.cmp(refundAwaiting, 
purchase.refundAwaiting))
+  logger.info(
+    "refund waiting found, ",
+    refundAwaiting,
+    orderStatus,
+    purchase.refundAwaiting,
+    purchase.refundAwaiting &&
+      Amounts.cmp(refundAwaiting, purchase.refundAwaiting),
+  );
 
-  if (purchase.refundAwaiting === undefined || Amounts.cmp(refundAwaiting, 
purchase.refundAwaiting) !== 0) {
+  if (
+    purchase.refundAwaiting === undefined ||
+    Amounts.cmp(refundAwaiting, purchase.refundAwaiting) !== 0
+  ) {
     await ws.db
       .mktx((x) => ({ purchases: x.purchases }))
       .runReadWrite(async (tx) => {
@@ -723,7 +743,7 @@ async function queryAndSaveAwaitingRefund(
           logger.warn("purchase does not exist anymore");
           return;
         }
-        p.refundAwaiting = refundAwaiting
+        p.refundAwaiting = refundAwaiting;
         await tx.purchases.put(p);
       });
   }
@@ -731,7 +751,6 @@ async function queryAndSaveAwaitingRefund(
   return refundAwaiting;
 }
 
-
 async function processPurchaseQueryRefundImpl(
   ws: InternalWalletState,
   proposalId: string,
@@ -765,7 +784,11 @@ async function processPurchaseQueryRefundImpl(
         AbsoluteTime.fromTimestamp(purchase.autoRefundDeadline),
       )
     ) {
-      const awaitingAmount = await queryAndSaveAwaitingRefund(ws, purchase, 
waitForAutoRefund)
+      const awaitingAmount = await queryAndSaveAwaitingRefund(
+        ws,
+        purchase,
+        waitForAutoRefund,
+      );
       if (Amounts.isZero(awaitingAmount)) return;
     }
 
diff --git a/packages/taler-wallet-webextension/package.json 
b/packages/taler-wallet-webextension/package.json
index 971139fd..7c5f9fef 100644
--- a/packages/taler-wallet-webextension/package.json
+++ b/packages/taler-wallet-webextension/package.json
@@ -14,7 +14,6 @@
     "compile": "tsc && ./build-fast-with-linaria.mjs",
     "dev": "./dev.mjs",
     "compile:test": "rollup -c rollup.config.test.js -m",
-    "prepare": "rollup -c -m",
     "pretty": "prettier --write src",
     "i18n:extract": "pogen extract",
     "i18n:merge": "pogen merge",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bc48db43..fe465de1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -354,6 +354,10 @@ importers:
       '@linaria/core': 3.0.0-beta.4
       '@linaria/react': 3.0.0-beta.4
       '@linaria/webpack-loader': 3.0.0-beta.4
+      '@rollup/plugin-commonjs': ^21.0.1
+      '@rollup/plugin-json': ^4.1.0
+      '@rollup/plugin-node-resolve': ^13.1.3
+      '@rollup/plugin-replace': ^3.0.1
       '@testing-library/preact': ^2.0.1
       '@testing-library/preact-hooks': ^1.1.0
       '@types/chai': ^4.3.0
@@ -376,6 +380,9 @@ importers:
       preact-router: 3.2.1
       qrcode-generator: ^1.4.4
       rimraf: ^3.0.2
+      rollup: ^2.67.2
+      rollup-plugin-sourcemaps: ^0.6.3
+      rollup-plugin-terser: ^7.0.2
       tslib: ^2.3.1
       typescript: ^4.5.5
       ws: 7.4.5
@@ -399,6 +406,10 @@ importers:
       '@linaria/core': 3.0.0-beta.4
       '@linaria/react': 3.0.0-beta.4
       '@linaria/webpack-loader': 3.0.0-beta.4_@babel+core@7.13.16
+      '@rollup/plugin-commonjs': 21.0.1_rollup@2.67.2
+      '@rollup/plugin-json': 4.1.0_rollup@2.67.2
+      '@rollup/plugin-node-resolve': 13.1.3_rollup@2.67.2
+      '@rollup/plugin-replace': 3.0.1_rollup@2.67.2
       '@testing-library/preact': 2.0.1_preact@10.6.5
       '@testing-library/preact-hooks': 1.1.0_vfcmu6iy7nffpurikpgxo6gwxi
       '@types/chai': 4.3.0
@@ -416,6 +427,9 @@ importers:
       preact-cli: 3.3.5_mvcuzfcaha7xgb2vtvvy6e3v4a
       preact-render-to-string: 5.1.19_preact@10.6.5
       rimraf: 3.0.2
+      rollup: 2.67.2
+      rollup-plugin-sourcemaps: 0.6.3_vvcaq4nmsjqkxtxa2zxio5jusq
+      rollup-plugin-terser: 7.0.2_rollup@2.67.2
       typescript: 4.5.5
 
 packages:
@@ -447,20 +461,6 @@ packages:
       execa: 5.1.1
     dev: true
 
-  /@babel/code-frame/7.14.5:
-    resolution: {integrity: 
sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==}
-    engines: {node: '>=6.9.0'}
-    dependencies:
-      '@babel/highlight': 7.14.5
-    dev: true
-
-  /@babel/code-frame/7.16.0:
-    resolution: {integrity: 
sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==}
-    engines: {node: '>=6.9.0'}
-    dependencies:
-      '@babel/highlight': 7.16.0
-    dev: true
-
   /@babel/code-frame/7.16.7:
     resolution: {integrity: 
sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
     engines: {node: '>=6.9.0'}
@@ -975,11 +975,6 @@ packages:
     engines: {node: '>=6.9.0'}
     dev: true
 
-  /@babel/helper-validator-identifier/7.15.7:
-    resolution: {integrity: 
sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==}
-    engines: {node: '>=6.9.0'}
-    dev: true
-
   /@babel/helper-validator-identifier/7.16.7:
     resolution: {integrity: 
sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
     engines: {node: '>=6.9.0'}
@@ -1029,24 +1024,6 @@ packages:
       - supports-color
     dev: true
 
-  /@babel/highlight/7.14.5:
-    resolution: {integrity: 
sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==}
-    engines: {node: '>=6.9.0'}
-    dependencies:
-      '@babel/helper-validator-identifier': 7.14.9
-      chalk: 2.4.2
-      js-tokens: 4.0.0
-    dev: true
-
-  /@babel/highlight/7.16.0:
-    resolution: {integrity: 
sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==}
-    engines: {node: '>=6.9.0'}
-    dependencies:
-      '@babel/helper-validator-identifier': 7.15.7
-      chalk: 2.4.2
-      js-tokens: 4.0.0
-    dev: true
-
   /@babel/highlight/7.16.10:
     resolution: {integrity: 
sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==}
     engines: {node: '>=6.9.0'}
@@ -3008,7 +2985,7 @@ packages:
     resolution: {integrity: 
sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==}
     engines: {node: '>=6.9.0'}
     dependencies:
-      '@babel/code-frame': 7.14.5
+      '@babel/code-frame': 7.16.7
       '@babel/parser': 7.15.3
       '@babel/types': 7.15.0
     dev: true
@@ -5675,7 +5652,7 @@ packages:
     resolution: {integrity: 
sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==}
     engines: {node: '>=10'}
     dependencies:
-      '@babel/code-frame': 7.16.0
+      '@babel/code-frame': 7.16.7
       '@babel/runtime': 7.16.3
       '@types/aria-query': 4.2.2
       aria-query: 4.2.2
@@ -16602,6 +16579,22 @@ packages:
       source-map-resolve: 0.6.0
     dev: true
 
+  /rollup-plugin-sourcemaps/0.6.3_vvcaq4nmsjqkxtxa2zxio5jusq:
+    resolution: {integrity: 
sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==}
+    engines: {node: '>=10.0.0'}
+    peerDependencies:
+      '@types/node': '>=10.0.0'
+      rollup: '>=0.31.2'
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+    dependencies:
+      '@rollup/pluginutils': 3.1.0_rollup@2.67.2
+      '@types/node': 17.0.8
+      rollup: 2.67.2
+      source-map-resolve: 0.6.0
+    dev: true
+
   /rollup-plugin-terser/7.0.2_rollup@2.67.2:
     resolution: {integrity: 
sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
     peerDependencies:

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