diff options
author | Florian Dold <florian@dold.me> | 2023-12-11 10:45:02 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-12-11 10:45:02 +0100 |
commit | ce139cd061f0d592804232d72aaf8904bbaf0caf (patch) | |
tree | e592a9d97d697956ff6616ea6c3a5fe5b4c7cfa1 | |
parent | 3c2e2aeba979dbafaed6c4ed749175da0ef93426 (diff) | |
download | wallet-core-ce139cd061f0d592804232d72aaf8904bbaf0caf.tar.xz |
wallet-core: add scopeInfo to exchange list entry items
-rw-r--r-- | API_CHANGES.md | 3 | ||||
-rw-r--r-- | packages/taler-util/src/wallet-types.ts | 3 | ||||
-rw-r--r-- | packages/taler-wallet-core/src/operations/common.ts | 13 |
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, }; } |