aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet.ts
diff options
context:
space:
mode:
authorÖzgür Kesim <oec-taler@kesim.org>2023-10-11 13:44:41 +0200
committerÖzgür Kesim <oec-taler@kesim.org>2023-10-11 13:44:41 +0200
commite13278315c99eaafda0c6dc59adc2511f04bb1ba (patch)
tree8facae92e3c8966a8ea3cce7622f0e3726b9043f /packages/taler-wallet-core/src/wallet.ts
parent490b813f77b3806343bbdd453d5abd29db9ea037 (diff)
parent0631187f42921fab0e20be91a95c1d7eacda277f (diff)
Merge branch 'master' into age-withdraw
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet.ts53
1 files changed, 44 insertions, 9 deletions
diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts
index ead0ee407..571bf07ee 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,51 @@ 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": "ク",
+ },
+ },
+ };
+ return kudosResp;
+ } 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: false,
+ 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);