summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-10-10 15:08:59 +0200
committerFlorian Dold <florian@dold.me>2023-10-10 15:08:59 +0200
commit47fdfc64a2e6a99a44f87974e608bdac5de83759 (patch)
tree3c4bcc4e7ee813a9c7e28c7205f573eac42e2332 /packages/taler-wallet-core/src/wallet.ts
parentadda4f8ce38ce030f55855bc0d66443d08153480 (diff)
downloadwallet-core-47fdfc64a2e6a99a44f87974e608bdac5de83759.tar.gz
wallet-core-47fdfc64a2e6a99a44f87974e608bdac5de83759.tar.bz2
wallet-core-47fdfc64a2e6a99a44f87974e608bdac5de83759.zip
wallet-core: return mock currency specification for KUDOS and TESTKUDOS
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet.ts52
1 files changed, 43 insertions, 9 deletions
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);