gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated: wallet-core: return mock curr


From: gnunet
Subject: [taler-wallet-core] branch master updated: wallet-core: return mock currency specification for KUDOS and TESTKUDOS
Date: Tue, 10 Oct 2023 15:08:52 +0200

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 47fdfc64a wallet-core: return mock currency specification for KUDOS 
and TESTKUDOS
47fdfc64a is described below

commit 47fdfc64a2e6a99a44f87974e608bdac5de83759
Author: Florian Dold <florian@dold.me>
AuthorDate: Tue Oct 10 15:08:59 2023 +0200

    wallet-core: return mock currency specification for KUDOS and TESTKUDOS
---
 packages/taler-harness/src/index.ts                |  1 +
 packages/taler-util/src/wallet-types.ts            | 37 ++++++++-------
 packages/taler-wallet-core/src/wallet-api-types.ts | 16 +++----
 packages/taler-wallet-core/src/wallet.ts           | 52 ++++++++++++++++++----
 4 files changed, 73 insertions(+), 33 deletions(-)

diff --git a/packages/taler-harness/src/index.ts 
b/packages/taler-harness/src/index.ts
index f06a66a21..076f71355 100644
--- a/packages/taler-harness/src/index.ts
+++ b/packages/taler-harness/src/index.ts
@@ -581,6 +581,7 @@ deploymentCli
       logger.error(
         `unable to create instance ${instanceId}, HTTP status 
${createResp.status}`,
       );
+      process.exit(2);
     }
 
     const accountsUrl = new URL(
diff --git a/packages/taler-util/src/wallet-types.ts 
b/packages/taler-util/src/wallet-types.ts
index 4811d674f..9a4e15ae1 100644
--- a/packages/taler-util/src/wallet-types.ts
+++ b/packages/taler-util/src/wallet-types.ts
@@ -415,24 +415,28 @@ export const codecForScopeInfo = (): Codec<ScopeInfo> =>
     .alternative(ScopeType.Auditor, codecForScopeInfoAuditor())
     .build("ScopeInfo");
 
-export interface GetCurrencyInfoRequest {
+export interface GetCurrencySpecificationRequest {
   scope: ScopeInfo;
 }
 
 export const codecForGetCurrencyInfoRequest =
-  (): Codec<GetCurrencyInfoRequest> =>
-    buildCodecForObject<GetCurrencyInfoRequest>()
+  (): Codec<GetCurrencySpecificationRequest> =>
+    buildCodecForObject<GetCurrencySpecificationRequest>()
       .property("scope", codecForScopeInfo())
-      .build("GetCurrencyInfoRequest");
+      .build("GetCurrencySpecificationRequest");
 
-export interface GetCurrencyInfoResponse {
-  decimalSeparator: string;
-  numFractionalDigits: number;
-  numTinyDigits: number;
-  /**
-   * Is the currency name leading or trailing?
-   */
-  isCurrencyNameLeading: boolean;
+export interface GetCurrencySpecificationResponse {
+  currencySpecification: CurrencySpecification;
+}
+
+export interface CurrencySpecification {
+  decimal_separator: string;
+  fractional_input_digits: number;
+  fractional_normal_digits: number;
+  fractional_trailing_zero_digits: number;
+  is_currency_name_leading: boolean;
+  name: string;
+  alt_unit_names: { [n: number]: string };
 }
 
 export interface InitRequest {
@@ -1605,10 +1609,11 @@ export interface UpdateExchangeEntryRequest {
   exchangeBaseUrl: string;
 }
 
-export const codecForUpdateExchangeEntryRequest = (): 
Codec<UpdateExchangeEntryRequest> =>
-  buildCodecForObject<UpdateExchangeEntryRequest>()
-    .property("exchangeBaseUrl", codecForString())
-    .build("UpdateExchangeEntryRequest");
+export const codecForUpdateExchangeEntryRequest =
+  (): Codec<UpdateExchangeEntryRequest> =>
+    buildCodecForObject<UpdateExchangeEntryRequest>()
+      .property("exchangeBaseUrl", codecForString())
+      .build("UpdateExchangeEntryRequest");
 
 export interface ForceExchangeUpdateRequest {
   exchangeBaseUrl: string;
diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts 
b/packages/taler-wallet-core/src/wallet-api-types.ts
index 375e0a1b2..fadc7aa7f 100644
--- a/packages/taler-wallet-core/src/wallet-api-types.ts
+++ b/packages/taler-wallet-core/src/wallet-api-types.ts
@@ -61,8 +61,8 @@ import {
   GetAmountRequest,
   GetBalanceDetailRequest,
   GetContractTermsDetailsRequest,
-  GetCurrencyInfoRequest,
-  GetCurrencyInfoResponse,
+  GetCurrencySpecificationRequest,
+  GetCurrencySpecificationResponse,
   GetExchangeTosRequest,
   GetExchangeTosResult,
   GetPlanForOperationRequest,
@@ -218,7 +218,7 @@ export enum WalletApiOperation {
   TestingWaitRefreshesFinal = "testingWaitRefreshesFinal",
   TestingWaitTransactionState = "testingWaitTransactionState",
   TestingSetTimetravel = "testingSetTimetravel",
-  GetScopedCurrencyInfo = "getScopedCurrencyInfo",
+  GetCurrencySpecification = "getCurrencySpecification",
   ListStoredBackups = "listStoredBackups",
   CreateStoredBackup = "createStoredBackup",
   DeleteStoredBackup = "deleteStoredBackup",
@@ -627,10 +627,10 @@ export type ListCurrenciesOp = {
   response: WalletCurrencyInfo;
 };
 
-export type GetScopedCurrencyInfoOp = {
-  op: WalletApiOperation.GetScopedCurrencyInfo;
-  request: GetCurrencyInfoRequest;
-  response: GetCurrencyInfoResponse;
+export type GetCurrencySpecificationOp = {
+  op: WalletApiOperation.GetCurrencySpecification;
+  request: GetCurrencySpecificationRequest;
+  response: GetCurrencySpecificationResponse;
 };
 
 // group: Deposits
@@ -1136,7 +1136,7 @@ export type WalletOperations = {
   [WalletApiOperation.TestingWaitRefreshesFinal]: TestingWaitRefreshesFinal;
   [WalletApiOperation.TestingSetTimetravel]: TestingSetTimetravelOp;
   [WalletApiOperation.TestingWaitTransactionState]: 
TestingWaitTransactionStateOp;
-  [WalletApiOperation.GetScopedCurrencyInfo]: GetScopedCurrencyInfoOp;
+  [WalletApiOperation.GetCurrencySpecification]: GetCurrencySpecificationOp;
   [WalletApiOperation.CreateStoredBackup]: CreateStoredBackupsOp;
   [WalletApiOperation.ListStoredBackups]: ListStoredBackupsOp;
   [WalletApiOperation.DeleteStoredBackup]: DeleteStoredBackupOp;
diff --git a/packages/taler-wallet-core/src/wallet.ts 
b/packages/taler-wallet-core/src/wallet.ts
index ead0ee407..42293735e 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -117,7 +117,7 @@ import {
   sampleWalletCoreTransactions,
   validateIban,
   codecForSharePaymentRequest,
-  GetCurrencyInfoResponse,
+  GetCurrencySpecificationResponse,
   codecForGetCurrencyInfoRequest,
   CreateStoredBackupResponse,
   StoredBackupList,
@@ -1427,16 +1427,50 @@ async function dispatchRequestInternal<Op extends 
WalletApiOperation>(
       await waitTransactionState(ws, req.transactionId, req.txState);
       return {};
     }
-    case WalletApiOperation.GetScopedCurrencyInfo: {
+    case WalletApiOperation.GetCurrencySpecification: {
       // Ignore result, just validate in this mock implementation
-      codecForGetCurrencyInfoRequest().decode(payload);
-      const resp: GetCurrencyInfoResponse = {
-        decimalSeparator: ",",
-        isCurrencyNameLeading: false,
-        numFractionalDigits: 2,
-        numTinyDigits: 1,
+      const req = codecForGetCurrencyInfoRequest().decode(payload);
+      // Hard-coded mock for KUDOS and TESTKUDOS
+      if (req.scope.currency === "KUDOS") {
+        const kudosResp: GetCurrencySpecificationResponse = {
+          currencySpecification: {
+            decimal_separator: ",",
+            name: "Kudos (Taler Demonstrator)",
+            fractional_input_digits: 2,
+            fractional_normal_digits: 2,
+            fractional_trailing_zero_digits: 2,
+            is_currency_name_leading: true,
+            alt_unit_names: {
+              "0": "ク",
+            },
+          },
+        };
+      } else if (req.scope.currency === "TESTKUDOS") {
+        const testkudosResp: GetCurrencySpecificationResponse = {
+          currencySpecification: {
+            decimal_separator: ",",
+            name: "Test (Taler Unstable Demonstrator)",
+            fractional_input_digits: 0,
+            fractional_normal_digits: 0,
+            fractional_trailing_zero_digits: 0,
+            is_currency_name_leading: true,
+            alt_unit_names: {},
+          },
+        };
+        return testkudosResp;
+      }
+      const defaultResp: GetCurrencySpecificationResponse = {
+        currencySpecification: {
+          decimal_separator: ",",
+          name: "Unknown",
+          fractional_input_digits: 2,
+          fractional_normal_digits: 2,
+          fractional_trailing_zero_digits: 2,
+          is_currency_name_leading: true,
+          alt_unit_names: {},
+        },
       };
-      return resp;
+      return defaultResp;
     }
     case WalletApiOperation.ImportBackupRecovery: {
       const req = codecForAny().decode(payload);

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