gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated: logging, cosmetic fixes


From: gnunet
Subject: [taler-wallet-core] branch master updated: logging, cosmetic fixes
Date: Thu, 14 Jan 2021 18:00:05 +0100

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

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

The following commit(s) were added to refs/heads/master by this push:
     new 19eb72e2 logging, cosmetic fixes
19eb72e2 is described below

commit 19eb72e277de89600506c2c7d1f14487ebe6408e
Author: Florian Dold <florian@dold.me>
AuthorDate: Thu Jan 14 18:00:00 2021 +0100

    logging, cosmetic fixes
---
 .../taler-wallet-core/src/operations/exchanges.ts  |  3 ++-
 .../taler-wallet-core/src/operations/reserves.ts   |  6 ++---
 packages/taler-wallet-core/src/operations/tip.ts   |  4 +--
 .../src/operations/withdraw-test.ts                | 15 ++++++-----
 .../taler-wallet-core/src/operations/withdraw.ts   | 30 +++++++++++++++++++---
 packages/taler-wallet-core/src/types/dbTypes.ts    |  6 ++---
 6 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/packages/taler-wallet-core/src/operations/exchanges.ts 
b/packages/taler-wallet-core/src/operations/exchanges.ts
index 7cc4fe10..1125645f 100644
--- a/packages/taler-wallet-core/src/operations/exchanges.ts
+++ b/packages/taler-wallet-core/src/operations/exchanges.ts
@@ -31,7 +31,7 @@ import {
   ExchangeUpdateReason,
   MetaStores,
 } from "../types/dbTypes";
-import { canonicalizeBaseUrl } from "../util/helpers";
+import { canonicalizeBaseUrl, j2s } from "../util/helpers";
 import * as Amounts from "../util/amounts";
 import { parsePaytoUri } from "../util/payto";
 import {
@@ -145,6 +145,7 @@ async function updateExchangeWithKeys(
   );
 
   logger.info("received /keys response");
+  logger.trace(j2s(exchangeKeysJson));
 
   if (exchangeKeysJson.denoms.length === 0) {
     const opErr = makeErrorDetails(
diff --git a/packages/taler-wallet-core/src/operations/reserves.ts 
b/packages/taler-wallet-core/src/operations/reserves.ts
index 7c878668..2be992bf 100644
--- a/packages/taler-wallet-core/src/operations/reserves.ts
+++ b/packages/taler-wallet-core/src/operations/reserves.ts
@@ -50,7 +50,7 @@ import {
   denomSelectionInfoToState,
   updateWithdrawalDenoms,
   selectWithdrawalDenominations,
-  getPossibleWithdrawalDenoms,
+  getCandidateWithdrawalDenoms,
 } from "./withdraw";
 import {
   guardOperationException,
@@ -135,7 +135,7 @@ export async function createReserve(
   const initialWithdrawalGroupId = encodeCrock(getRandomBytes(32));
 
   await updateWithdrawalDenoms(ws, canonExchange);
-  const denoms = await getPossibleWithdrawalDenoms(ws, canonExchange);
+  const denoms = await getCandidateWithdrawalDenoms(ws, canonExchange);
   const denomSelInfo = selectWithdrawalDenominations(req.amount, denoms);
   const initialDenomSel = denomSelectionInfoToState(denomSelInfo);
 
@@ -528,7 +528,7 @@ async function updateReserve(
   const currency = balance.currency;
 
   await updateWithdrawalDenoms(ws, reserve.exchangeBaseUrl);
-  const denoms = await getPossibleWithdrawalDenoms(ws, 
reserve.exchangeBaseUrl);
+  const denoms = await getCandidateWithdrawalDenoms(ws, 
reserve.exchangeBaseUrl);
 
   const newWithdrawalGroup = await ws.db.runWithWriteTransaction(
     [Stores.coins, Stores.planchets, Stores.withdrawalGroups, Stores.reserves],
diff --git a/packages/taler-wallet-core/src/operations/tip.ts 
b/packages/taler-wallet-core/src/operations/tip.ts
index 328fe2cf..9242d70d 100644
--- a/packages/taler-wallet-core/src/operations/tip.ts
+++ b/packages/taler-wallet-core/src/operations/tip.ts
@@ -34,7 +34,7 @@ import {
   getExchangeWithdrawalInfo,
   denomSelectionInfoToState,
   updateWithdrawalDenoms,
-  getPossibleWithdrawalDenoms,
+  getCandidateWithdrawalDenoms,
   selectWithdrawalDenominations,
 } from "./withdraw";
 import { updateExchangeFromUrl } from "./exchanges";
@@ -95,7 +95,7 @@ export async function prepareTip(
 
     const walletTipId = encodeCrock(getRandomBytes(32));
     await updateWithdrawalDenoms(ws, tipPickupStatus.exchange_url);
-    const denoms = await getPossibleWithdrawalDenoms(
+    const denoms = await getCandidateWithdrawalDenoms(
       ws,
       tipPickupStatus.exchange_url,
     );
diff --git a/packages/taler-wallet-core/src/operations/withdraw-test.ts 
b/packages/taler-wallet-core/src/operations/withdraw-test.ts
index d21119c8..806d8e82 100644
--- a/packages/taler-wallet-core/src/operations/withdraw-test.ts
+++ b/packages/taler-wallet-core/src/operations/withdraw-test.ts
@@ -17,6 +17,7 @@
 import test from "ava";
 import { selectWithdrawalDenominations } from "./withdraw";
 import { Amounts } from "../util/amounts";
+import { DenominationRecord, DenominationStatus } from "../types/dbTypes";
 
 test("withdrawal selection bug repro", (t) => {
   const amount = {
@@ -25,7 +26,7 @@ test("withdrawal selection bug repro", (t) => {
     value: 23,
   };
 
-  const denoms = [
+  const denoms: DenominationRecord[] = [
     {
       denomPub:
         
"040000XT67C8KBD6B75TTQ3SK8FWXMNQW4372T3BDDGPAMB9RFCA03638W8T3F71WFEFK9NP32VKYVNFXPYRWQ1N1HDKV5J0DFEKHBPJCYSWCBJDRNWD7G8BN8PT97FA9AMV75MYEK4X54D1HGJ207JSVJBGFCATSPNTEYNHEQF1F220W00TBZR1HNPDQFD56FG0DJQ9KGHM8EC33H6AY9YN9CNX5R3Z4TZ4Q23W47SBHB13H6W74FQJG1F50X38VRSC4SR8RWBAFB7S4K8D2H4NMRFSQT892A3T0BTBW7HM5C0H2CK6FRKG31F7W9WP1S29013K5CXYE55CT8TH6N8J9B780R42Y5S3ZB6J6E9H76XBPSGH4TGYSR2VZRB98J417KCQMZKX1BB67E7W5KVE37TC9SJ904002",
@@ -68,7 +69,7 @@ test("withdrawal selection bug repro", (t) => {
       stampStart: {
         t_ms: 1585229388000,
       },
-      status: 0,
+      status: DenominationStatus.Unverified,
       value: {
         currency: "KUDOS",
         fraction: 0,
@@ -117,7 +118,7 @@ test("withdrawal selection bug repro", (t) => {
       stampStart: {
         t_ms: 1585229388000,
       },
-      status: 0,
+      status: DenominationStatus.Unverified,
       value: {
         currency: "KUDOS",
         fraction: 0,
@@ -166,7 +167,7 @@ test("withdrawal selection bug repro", (t) => {
       stampStart: {
         t_ms: 1585229388000,
       },
-      status: 0,
+      status: DenominationStatus.Unverified,
       value: {
         currency: "KUDOS",
         fraction: 0,
@@ -215,7 +216,7 @@ test("withdrawal selection bug repro", (t) => {
       stampStart: {
         t_ms: 1585229388000,
       },
-      status: 0,
+      status: DenominationStatus.Unverified,
       value: {
         currency: "KUDOS",
         fraction: 0,
@@ -264,7 +265,7 @@ test("withdrawal selection bug repro", (t) => {
       stampStart: {
         t_ms: 1585229388000,
       },
-      status: 0,
+      status: DenominationStatus.Unverified,
       value: {
         currency: "KUDOS",
         fraction: 10000000,
@@ -313,7 +314,7 @@ test("withdrawal selection bug repro", (t) => {
       stampStart: {
         t_ms: 1585229388000,
       },
-      status: 0,
+      status: DenominationStatus.Unverified,
       value: {
         currency: "KUDOS",
         fraction: 0,
diff --git a/packages/taler-wallet-core/src/operations/withdraw.ts 
b/packages/taler-wallet-core/src/operations/withdraw.ts
index d28bea1e..ffcc5ade 100644
--- a/packages/taler-wallet-core/src/operations/withdraw.ts
+++ b/packages/taler-wallet-core/src/operations/withdraw.ts
@@ -67,6 +67,7 @@ import { TalerErrorCode } from "../TalerErrorCode";
 import { encodeCrock } from "../crypto/talerCrypto";
 import { updateRetryInfoTimeout, initRetryInfo } from "../util/retries";
 import { compare } from "../util/libtoolVersion";
+import { j2s } from "../util/helpers";
 
 const logger = new Logger("withdraw.ts");
 
@@ -207,7 +208,7 @@ export async function getBankWithdrawalInfo(
 /**
  * Return denominations that can potentially used for a withdrawal.
  */
-export async function getPossibleWithdrawalDenoms(
+export async function getCandidateWithdrawalDenoms(
   ws: InternalWalletState,
   exchangeBaseUrl: string,
 ): Promise<DenominationRecord[]> {
@@ -544,7 +545,7 @@ export async function updateWithdrawalDenoms(
     logger.error("exchange details not available");
     throw Error(`exchange ${exchangeBaseUrl} details not available`);
   }
-  const denominations = await getPossibleWithdrawalDenoms(ws, exchangeBaseUrl);
+  const denominations = await getCandidateWithdrawalDenoms(ws, 
exchangeBaseUrl);
   for (const denom of denominations) {
     if (denom.status === DenominationStatus.Unverified) {
       const valid = await ws.cryptoApi.isValidDenom(
@@ -559,6 +560,29 @@ export async function updateWithdrawalDenoms(
       await ws.db.put(Stores.denominations, denom);
     }
   }
+  // FIXME:  This debug info should either be made conditional on some flag
+  // or put into some wallet-core API.
+  logger.trace("updated withdrawable denominations");
+  const nextDenominations = await getCandidateWithdrawalDenoms(
+    ws,
+    exchangeBaseUrl,
+  );
+  const now = getTimestampNow();
+  for (const denom of nextDenominations) {
+    const started = timestampCmp(now, denom.stampStart) >= 0;
+    const lastPossibleWithdraw = timestampSubtractDuraction(
+      denom.stampExpireWithdraw,
+      { d_ms: 50 * 1000 },
+    );
+    const remaining = getDurationRemaining(lastPossibleWithdraw, now);
+    logger.trace(
+      `Denom ${denom.denomPubHash} ${denom.status} revoked ${
+        denom.isRevoked
+      } offered ${denom.isOffered} remaining ${
+        (remaining.d_ms as number) / 1000
+      }sec started ${started}`,
+    );
+  }
 }
 
 async function incrementWithdrawalRetry(
@@ -725,7 +749,7 @@ export async function getExchangeWithdrawalInfo(
   }
 
   await updateWithdrawalDenoms(ws, baseUrl);
-  const denoms = await getPossibleWithdrawalDenoms(ws, baseUrl);
+  const denoms = await getCandidateWithdrawalDenoms(ws, baseUrl);
   const selectedDenoms = selectWithdrawalDenominations(amount, denoms);
   const exchangeWireAccounts: string[] = [];
   for (const account of exchangeWireInfo.accounts) {
diff --git a/packages/taler-wallet-core/src/types/dbTypes.ts 
b/packages/taler-wallet-core/src/types/dbTypes.ts
index 60752fd6..e0d13753 100644
--- a/packages/taler-wallet-core/src/types/dbTypes.ts
+++ b/packages/taler-wallet-core/src/types/dbTypes.ts
@@ -261,15 +261,15 @@ export enum DenominationStatus {
   /**
    * Verification was delayed.
    */
-  Unverified,
+  Unverified = "unverified",
   /**
    * Verified as valid.
    */
-  VerifiedGood,
+  VerifiedGood = "verified-good",
   /**
    * Verified as invalid.
    */
-  VerifiedBad,
+  VerifiedBad = "verified-bad",
 }
 
 /**

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