From d1980c39fc2cf5054cfa9d3a03d685d75c2662d9 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 18 Aug 2022 16:01:47 -0300 Subject: moved wireInfo and denomInfo into taler-util so it can be used from the ui --- .../taler-wallet-core/src/operations/backup/import.ts | 10 +++++----- packages/taler-wallet-core/src/operations/deposits.ts | 2 +- .../taler-wallet-core/src/operations/exchanges.ts | 7 ++++--- packages/taler-wallet-core/src/operations/withdraw.ts | 19 +++++++++++++------ 4 files changed, 23 insertions(+), 15 deletions(-) (limited to 'packages/taler-wallet-core/src/operations') diff --git a/packages/taler-wallet-core/src/operations/backup/import.ts b/packages/taler-wallet-core/src/operations/backup/import.ts index f26c42770..57d7449e0 100644 --- a/packages/taler-wallet-core/src/operations/backup/import.ts +++ b/packages/taler-wallet-core/src/operations/backup/import.ts @@ -31,6 +31,7 @@ import { RefreshReason, TalerProtocolTimestamp, WalletBackupContentV1, + WireInfo, } from "@gnu-taler/taler-util"; import { AbortStatus, @@ -50,7 +51,6 @@ import { WalletContractData, WalletRefundItem, WalletStoresV1, - WireInfo, } from "../../db.js"; import { InternalWalletState } from "../../internal-wallet-state.js"; import { @@ -341,7 +341,7 @@ export async function importBackup( } const denomPubHash = cryptoComp.rsaDenomPubToHash[ - backupDenomination.denom_pub.rsa_public_key + backupDenomination.denom_pub.rsa_public_key ]; checkLogicInvariant(!!denomPubHash); const existingDenom = await tx.denominations.get([ @@ -427,7 +427,7 @@ export async function importBackup( } - // FIXME: import reserves with new schema + // FIXME: import reserves with new schema // for (const backupReserve of backupExchangeDetails.reserves) { // const reservePub = @@ -560,7 +560,7 @@ export async function importBackup( const amount = Amounts.parseOrThrow(parsedContractTerms.amount); const contractTermsHash = cryptoComp.proposalIdToContractTermsHash[ - backupProposal.proposal_id + backupProposal.proposal_id ]; let maxWireFee: AmountJson; if (parsedContractTerms.max_wire_fee) { @@ -706,7 +706,7 @@ export async function importBackup( const amount = Amounts.parseOrThrow(parsedContractTerms.amount); const contractTermsHash = cryptoComp.proposalIdToContractTermsHash[ - backupPurchase.proposal_id + backupPurchase.proposal_id ]; let maxWireFee: AmountJson; if (parsedContractTerms.max_wire_fee) { diff --git a/packages/taler-wallet-core/src/operations/deposits.ts b/packages/taler-wallet-core/src/operations/deposits.ts index a016cb8e5..734bc4c2b 100644 --- a/packages/taler-wallet-core/src/operations/deposits.ts +++ b/packages/taler-wallet-core/src/operations/deposits.ts @@ -44,7 +44,7 @@ import { TrackDepositGroupResponse, URL, } from "@gnu-taler/taler-util"; -import { DepositGroupRecord, OperationStatus, WireFee } from "../db.js"; +import { DepositGroupRecord, OperationStatus } from "../db.js"; import { InternalWalletState } from "../internal-wallet-state.js"; import { selectPayCoins } from "../util/coinSelection.js"; import { readSuccessResponseJsonOrThrow } from "../util/http.js"; diff --git a/packages/taler-wallet-core/src/operations/exchanges.ts b/packages/taler-wallet-core/src/operations/exchanges.ts index 007dad685..6f8da5aee 100644 --- a/packages/taler-wallet-core/src/operations/exchanges.ts +++ b/packages/taler-wallet-core/src/operations/exchanges.ts @@ -44,6 +44,9 @@ import { TalerProtocolDuration, TalerProtocolTimestamp, URL, + WireFee, + WireFeeMap, + WireInfo, } from "@gnu-taler/taler-util"; import { DenominationRecord, @@ -51,8 +54,6 @@ import { ExchangeDetailsRecord, ExchangeRecord, WalletStoresV1, - WireFee, - WireInfo, } from "../db.js"; import { TalerError } from "../errors.js"; import { InternalWalletState, TrustInfo } from "../internal-wallet-state.js"; @@ -276,7 +277,7 @@ async function validateWireInfo( throw Error("exchange acct signature invalid"); } } - const feesForType: { [wireMethod: string]: WireFee[] } = {}; + const feesForType: WireFeeMap = {}; for (const wireMethod of Object.keys(wireInfo.fees)) { const feeList: WireFee[] = []; for (const x of wireInfo.fees[wireMethod]) { diff --git a/packages/taler-wallet-core/src/operations/withdraw.ts b/packages/taler-wallet-core/src/operations/withdraw.ts index 484b9b962..721a043d7 100644 --- a/packages/taler-wallet-core/src/operations/withdraw.ts +++ b/packages/taler-wallet-core/src/operations/withdraw.ts @@ -241,7 +241,7 @@ export function selectWithdrawalDenominations( for (const d of denoms) { let count = 0; const cost = Amounts.add(d.value, d.feeWithdraw).amount; - for (;;) { + for (; ;) { if (Amounts.cmp(remaining, cost) < 0) { break; } @@ -898,8 +898,7 @@ export async function updateWithdrawalDenoms( denom.verificationStatus === DenominationVerificationStatus.Unverified ) { logger.trace( - `Validating denomination (${current + 1}/${ - denominations.length + `Validating denomination (${current + 1}/${denominations.length }) signature of ${denom.denomPubHash}`, ); let valid = false; @@ -1026,7 +1025,7 @@ async function queryReserve( if ( resp.status === 404 && result.talerErrorResponse.code === - TalerErrorCode.EXCHANGE_RESERVES_STATUS_UNKNOWN + TalerErrorCode.EXCHANGE_RESERVES_STATUS_UNKNOWN ) { ws.notify({ type: NotificationType.ReserveNotYetFound, @@ -1316,7 +1315,7 @@ export async function getExchangeWithdrawalInfo( ) { logger.warn( `wallet's support for exchange protocol version ${WALLET_EXCHANGE_PROTOCOL_VERSION} might be outdated ` + - `(exchange has ${exchangeDetails.protocolVersion}), checking for updates`, + `(exchange has ${exchangeDetails.protocolVersion}), checking for updates`, ); } } @@ -1395,12 +1394,17 @@ export async function getWithdrawalDetailsForUri( .mktx((x) => ({ exchanges: x.exchanges, exchangeDetails: x.exchangeDetails, + denominations: x.denominations, })) .runReadOnly(async (tx) => { const exchangeRecords = await tx.exchanges.iter().toArray(); for (const r of exchangeRecords) { const details = await ws.exchangeOps.getExchangeDetails(tx, r.baseUrl); - if (details) { + const denominations = await tx.denominations.indexes + .byExchangeBaseUrl.iter(r.baseUrl).toArray(); + if (details && denominations) { + + exchanges.push({ exchangeBaseUrl: details.exchangeBaseUrl, currency: details.currency, @@ -1411,6 +1415,9 @@ export async function getWithdrawalDetailsForUri( content: details.termsOfServiceText, }, paytoUris: details.wireInfo.accounts.map((x) => x.payto_uri), + auditors: details.auditors, + wireInfo: details.wireInfo, + denominations: denominations }); } } -- cgit v1.2.3