diff options
author | Florian Dold <florian@dold.me> | 2022-11-01 15:31:48 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2022-11-01 15:31:48 +0100 |
commit | d63a773bf5f3b74040e094a94afb732be7218106 (patch) | |
tree | 62d90758a7561bd801be5ccee19415f4a10be4e5 /packages/taler-wallet-core/src/operations | |
parent | a0305884eb58bd3cf7451eeb2774eadbb91ae138 (diff) | |
download | wallet-core-d63a773bf5f3b74040e094a94afb732be7218106.tar.xz |
wallet-core: report supportedAgeGroups
Diffstat (limited to 'packages/taler-wallet-core/src/operations')
-rw-r--r-- | packages/taler-wallet-core/src/operations/common.ts | 5 | ||||
-rw-r--r-- | packages/taler-wallet-core/src/operations/exchanges.ts | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/operations/common.ts b/packages/taler-wallet-core/src/operations/common.ts index 59d2b8ec3..3ac003da3 100644 --- a/packages/taler-wallet-core/src/operations/common.ts +++ b/packages/taler-wallet-core/src/operations/common.ts @@ -18,6 +18,7 @@ * Imports. */ import { + AgeRestriction, AmountJson, Amounts, CoinRefreshRequest, @@ -365,6 +366,7 @@ export function makeExchangeListItem( paytoUris: [], exchangeStatus: ExchangeEntryStatus.Unknown, permanent: r.permanent, + supportedAgeGroups: [], }; } let exchangeStatus; @@ -376,5 +378,8 @@ export function makeExchangeListItem( paytoUris: exchangeDetails.wireInfo.accounts.map((x) => x.payto_uri), exchangeStatus, permanent: r.permanent, + supportedAgeGroups: exchangeDetails.ageMask + ? AgeRestriction.getAgeGroupsFromMask(exchangeDetails.ageMask) + : [], }; } diff --git a/packages/taler-wallet-core/src/operations/exchanges.ts b/packages/taler-wallet-core/src/operations/exchanges.ts index a8c4fec10..63e71c36c 100644 --- a/packages/taler-wallet-core/src/operations/exchanges.ts +++ b/packages/taler-wallet-core/src/operations/exchanges.ts @@ -76,6 +76,7 @@ import { runOperationHandlerForResult, } from "../util/retries.js"; import { WALLET_EXCHANGE_PROTOCOL_VERSION } from "../versions.js"; +import { isWithdrawableDenom } from "./withdraw.js"; const logger = new Logger("exchanges.ts"); @@ -657,6 +658,14 @@ export async function updateExchangeFromUrlHandler( let detailsPointerChanged = false; + let ageMask = 0; + for (const x of keysInfo.currentDenominations) { + if (isWithdrawableDenom(x) && x.denomPub.age_mask != 0) { + ageMask = x.denomPub.age_mask; + break; + } + } + const updated = await ws.db .mktx((x) => [ x.exchanges, @@ -699,6 +708,7 @@ export async function updateExchangeFromUrlHandler( wireInfo, tosCurrentEtag: tosDownload.tosEtag, tosAccepted: existingTosAccepted, + ageMask, }; if (existingDetails?.rowId) { newDetails.rowId = existingDetails.rowId; |