aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-09-12 10:57:13 -0300
committerSebastian <sebasjm@gmail.com>2022-09-12 10:58:09 -0300
commit27201416c7d234361507e6055ce7ed42c11c650e (patch)
tree9a8a6ec614f8c8a221af86ddf2c9fd3b54cfceb5 /packages/taler-wallet-core/src/wallet.ts
parentfc413bb5eca2171abb93b96e9b86f7b76c0a27af (diff)
downloadwallet-core-27201416c7d234361507e6055ce7ed42c11c650e.tar.gz
wallet-core-27201416c7d234361507e6055ce7ed42c11c650e.tar.bz2
wallet-core-27201416c7d234361507e6055ce7ed42c11c650e.zip
ref #7323
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet.ts55
1 files changed, 44 insertions, 11 deletions
diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts
index a23bcb12a..779fe9528 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -88,6 +88,8 @@ import {
WalletNotification,
WalletCoreVersion,
ExchangeListItem,
+ OperationMap,
+ FeeDescription,
} from "@gnu-taler/taler-util";
import { TalerCryptoInterface } from "./crypto/cryptoImplementation.js";
import {
@@ -102,6 +104,7 @@ import {
WalletStoresV1,
} from "./db.js";
import { getErrorDetailFromException, TalerError } from "./errors.js";
+import { createDenominationTimeline } from "./index.browser.js";
import {
DenomInfo,
ExchangeOperations,
@@ -646,24 +649,54 @@ async function getExchangeDetailedInfo(
}
return {
- exchangeBaseUrl: ex.baseUrl,
- currency,
- tos: {
- acceptedVersion: exchangeDetails.termsOfServiceAcceptedEtag,
- currentVersion: exchangeDetails.termsOfServiceLastEtag,
- contentType: exchangeDetails.termsOfServiceContentType,
- content: exchangeDetails.termsOfServiceText,
+ info: {
+ exchangeBaseUrl: ex.baseUrl,
+ currency,
+ tos: {
+ acceptedVersion: exchangeDetails.termsOfServiceAcceptedEtag,
+ currentVersion: exchangeDetails.termsOfServiceLastEtag,
+ contentType: exchangeDetails.termsOfServiceContentType,
+ content: exchangeDetails.termsOfServiceText,
+ },
+ paytoUris: exchangeDetails.wireInfo.accounts.map((x) => x.payto_uri),
+ auditors: exchangeDetails.auditors,
+ wireInfo: exchangeDetails.wireInfo,
},
- paytoUris: exchangeDetails.wireInfo.accounts.map((x) => x.payto_uri),
- auditors: exchangeDetails.auditors,
- wireInfo: exchangeDetails.wireInfo,
denominations: denominations,
}
});
+
if (!exchange) {
throw Error(`exchange with base url "${exchangeBaseurl}" not found`)
}
- return exchange;
+
+ const feesDescription: OperationMap<FeeDescription[]> = {
+ deposit: createDenominationTimeline(
+ exchange.denominations,
+ "stampExpireDeposit",
+ "feeDeposit",
+ ),
+ refresh: createDenominationTimeline(
+ exchange.denominations,
+ "stampExpireWithdraw",
+ "feeRefresh",
+ ),
+ refund: createDenominationTimeline(
+ exchange.denominations,
+ "stampExpireWithdraw",
+ "feeRefund",
+ ),
+ withdraw: createDenominationTimeline(
+ exchange.denominations,
+ "stampExpireWithdraw",
+ "feeWithdraw",
+ ),
+ };
+
+ return {
+ ...exchange.info,
+ feesDescription,
+ };
}
async function setCoinSuspended(