aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-12-11 10:45:02 +0100
committerFlorian Dold <florian@dold.me>2023-12-11 10:45:02 +0100
commitce139cd061f0d592804232d72aaf8904bbaf0caf (patch)
treee592a9d97d697956ff6616ea6c3a5fe5b4c7cfa1
parent3c2e2aeba979dbafaed6c4ed749175da0ef93426 (diff)
downloadwallet-core-ce139cd061f0d592804232d72aaf8904bbaf0caf.tar.xz
wallet-core: add scopeInfo to exchange list entry items
-rw-r--r--API_CHANGES.md3
-rw-r--r--packages/taler-util/src/wallet-types.ts3
-rw-r--r--packages/taler-wallet-core/src/operations/common.ts13
3 files changed, 18 insertions, 1 deletions
diff --git a/API_CHANGES.md b/API_CHANGES.md
index d497e4d08..6fceca31c 100644
--- a/API_CHANGES.md
+++ b/API_CHANGES.md
@@ -21,4 +21,5 @@ This files contains all the API changes for the current release:
request the ToS status separately via a getExchangeEntryForUri request.
- 2023-12-07 dold: Add the prepareWithdrawExchange request for withdrawals
via a taler://withdraw-exchange URI.
-- 2023-12-11 dold: Add exchangeBaseUrl to the checkPeerPushDebit response. \ No newline at end of file
+- 2023-12-11 dold: Add exchangeBaseUrl to the checkPeerPushDebit response.
+- 2023-12-11 dold: Add scopeInfo to exchange entry list items.
diff --git a/packages/taler-util/src/wallet-types.ts b/packages/taler-util/src/wallet-types.ts
index 77800857c..82c58246a 100644
--- a/packages/taler-util/src/wallet-types.ts
+++ b/packages/taler-util/src/wallet-types.ts
@@ -1317,6 +1317,8 @@ export interface ExchangeListItem {
exchangeUpdateStatus: ExchangeUpdateStatus;
ageRestrictionOptions: number[];
+ scopeInfo: ScopeInfo | undefined;
+
/**
* Information about the last error that occurred when trying
* to update the exchange info.
@@ -1388,6 +1390,7 @@ export const codecForExchangeListItem = (): Codec<ExchangeListItem> =>
.property("exchangeEntryStatus", codecForAny())
.property("exchangeUpdateStatus", codecForAny())
.property("ageRestrictionOptions", codecForList(codecForNumber()))
+ .property("scopeInfo", codecForScopeInfo())
.build("ExchangeListItem");
export const codecForExchangesListResponse = (): Codec<ExchangesListResponse> =>
diff --git a/packages/taler-wallet-core/src/operations/common.ts b/packages/taler-wallet-core/src/operations/common.ts
index b28a5363d..6ab6a54d9 100644
--- a/packages/taler-wallet-core/src/operations/common.ts
+++ b/packages/taler-wallet-core/src/operations/common.ts
@@ -37,6 +37,8 @@ import {
NotificationType,
OperationErrorInfo,
RefreshReason,
+ ScopeInfo,
+ ScopeType,
TalerError,
TalerErrorCode,
TalerErrorDetail,
@@ -591,6 +593,16 @@ export function makeExchangeListItem(
break;
}
+ let scopeInfo: ScopeInfo | undefined = undefined;
+ if (exchangeDetails) {
+ // FIXME: Look up actual scope info.
+ scopeInfo = {
+ currency: exchangeDetails.currency,
+ type: ScopeType.Exchange,
+ url: r.baseUrl,
+ };
+ }
+
return {
exchangeBaseUrl: r.baseUrl,
currency: exchangeDetails?.currency ?? r.presetCurrencyHint,
@@ -604,6 +616,7 @@ export function makeExchangeListItem(
: [],
paytoUris: exchangeDetails?.wireInfo.accounts.map((x) => x.payto_uri) ?? [],
lastUpdateErrorInfo,
+ scopeInfo,
};
}