diff options
author | Florian Dold <florian@dold.me> | 2021-08-24 15:43:06 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-08-24 15:43:06 +0200 |
commit | 4c41e705658cbae6e4558bf29edeb39f474c244a (patch) | |
tree | 6e598a6fd1ead8972c0b6cf551c3f3cb8293aec0 /packages/taler-wallet-core/src/operations | |
parent | a09359bd3930f2a4550de22bd018122a2c7846e6 (diff) | |
download | wallet-core-4c41e705658cbae6e4558bf29edeb39f474c244a.tar.xz |
DB schema cleanup
Diffstat (limited to 'packages/taler-wallet-core/src/operations')
5 files changed, 41 insertions, 21 deletions
diff --git a/packages/taler-wallet-core/src/operations/backup/import.ts b/packages/taler-wallet-core/src/operations/backup/import.ts index a694d9f4d..9eee34cf0 100644 --- a/packages/taler-wallet-core/src/operations/backup/import.ts +++ b/packages/taler-wallet-core/src/operations/backup/import.ts @@ -31,7 +31,7 @@ import { import { WalletContractData, DenomSelectionState, - DenominationStatus, + DenominationVerificationStatus, CoinSource, CoinSourceType, CoinStatus, @@ -359,7 +359,7 @@ export async function importBackup( stampExpireLegal: backupDenomination.stamp_expire_legal, stampExpireWithdraw: backupDenomination.stamp_expire_withdraw, stampStart: backupDenomination.stamp_start, - status: DenominationStatus.VerifiedGood, + verificationStatus: DenominationVerificationStatus.VerifiedGood, value: Amounts.parseOrThrow(backupDenomination.value), listIssueDate: backupDenomination.list_issue_date, }); diff --git a/packages/taler-wallet-core/src/operations/exchanges.ts b/packages/taler-wallet-core/src/operations/exchanges.ts index 23459de92..cf52e00b6 100644 --- a/packages/taler-wallet-core/src/operations/exchanges.ts +++ b/packages/taler-wallet-core/src/operations/exchanges.ts @@ -44,7 +44,7 @@ import { decodeCrock, encodeCrock, hash } from "../crypto/talerCrypto.js"; import { CryptoApi } from "../crypto/workers/cryptoApi.js"; import { DenominationRecord, - DenominationStatus, + DenominationVerificationStatus, ExchangeDetailsRecord, ExchangeRecord, WalletStoresV1, @@ -95,7 +95,7 @@ function denominationRecordFromKeys( stampExpireLegal: denomIn.stamp_expire_legal, stampExpireWithdraw: denomIn.stamp_expire_withdraw, stampStart: denomIn.stamp_start, - status: DenominationStatus.Unverified, + verificationStatus: DenominationVerificationStatus.Unverified, value: Amounts.parseOrThrow(denomIn.value), listIssueDate, }; diff --git a/packages/taler-wallet-core/src/operations/refresh.ts b/packages/taler-wallet-core/src/operations/refresh.ts index 8926559e3..a7b64f5d3 100644 --- a/packages/taler-wallet-core/src/operations/refresh.ts +++ b/packages/taler-wallet-core/src/operations/refresh.ts @@ -22,7 +22,6 @@ import { DenominationRecord, RefreshCoinStatus, RefreshGroupRecord, - RefreshPlanchet, WalletStoresV1, } from "../db.js"; import { @@ -32,6 +31,7 @@ import { fnutil, NotificationType, RefreshGroupId, + RefreshPlanchetInfo, RefreshReason, stringifyTimestamp, TalerErrorDetails, @@ -534,7 +534,7 @@ async function refreshReveal( throw Error("refresh index error"); } - const evs = planchets.map((x: RefreshPlanchet) => x.coinEv); + const evs = planchets.map((x: RefreshPlanchetInfo) => x.coinEv); const newDenomsFlat: string[] = []; const linkSigs: string[] = []; diff --git a/packages/taler-wallet-core/src/operations/withdraw.test.ts b/packages/taler-wallet-core/src/operations/withdraw.test.ts index 061a42227..b4f0d35e6 100644 --- a/packages/taler-wallet-core/src/operations/withdraw.test.ts +++ b/packages/taler-wallet-core/src/operations/withdraw.test.ts @@ -16,7 +16,7 @@ import { Amounts } from "@gnu-taler/taler-util"; import test from "ava"; -import { DenominationRecord, DenominationStatus } from "../db.js"; +import { DenominationRecord, DenominationVerificationStatus } from "../db.js"; import { selectWithdrawalDenominations } from "./withdraw.js"; test("withdrawal selection bug repro", (t) => { @@ -70,7 +70,7 @@ test("withdrawal selection bug repro", (t) => { stampStart: { t_ms: 1585229388000, }, - status: DenominationStatus.Unverified, + verificationStatus: DenominationVerificationStatus.Unverified, value: { currency: "KUDOS", fraction: 0, @@ -121,7 +121,7 @@ test("withdrawal selection bug repro", (t) => { stampStart: { t_ms: 1585229388000, }, - status: DenominationStatus.Unverified, + verificationStatus: DenominationVerificationStatus.Unverified, value: { currency: "KUDOS", fraction: 0, @@ -172,7 +172,7 @@ test("withdrawal selection bug repro", (t) => { stampStart: { t_ms: 1585229388000, }, - status: DenominationStatus.Unverified, + verificationStatus: DenominationVerificationStatus.Unverified, value: { currency: "KUDOS", fraction: 0, @@ -223,7 +223,7 @@ test("withdrawal selection bug repro", (t) => { stampStart: { t_ms: 1585229388000, }, - status: DenominationStatus.Unverified, + verificationStatus: DenominationVerificationStatus.Unverified, value: { currency: "KUDOS", fraction: 0, @@ -274,7 +274,7 @@ test("withdrawal selection bug repro", (t) => { stampStart: { t_ms: 1585229388000, }, - status: DenominationStatus.Unverified, + verificationStatus: DenominationVerificationStatus.Unverified, value: { currency: "KUDOS", fraction: 10000000, @@ -325,7 +325,7 @@ test("withdrawal selection bug repro", (t) => { stampStart: { t_ms: 1585229388000, }, - status: DenominationStatus.Unverified, + verificationStatus: DenominationVerificationStatus.Unverified, value: { currency: "KUDOS", fraction: 0, diff --git a/packages/taler-wallet-core/src/operations/withdraw.ts b/packages/taler-wallet-core/src/operations/withdraw.ts index 521cfa113..e6b6e8746 100644 --- a/packages/taler-wallet-core/src/operations/withdraw.ts +++ b/packages/taler-wallet-core/src/operations/withdraw.ts @@ -47,8 +47,7 @@ import { CoinSourceType, CoinStatus, DenominationRecord, - DenominationSelectionInfo, - DenominationStatus, + DenominationVerificationStatus, DenomSelectionState, ExchangeDetailsRecord, ExchangeRecord, @@ -74,6 +73,21 @@ import { const logger = new Logger("withdraw.ts"); /** + * FIXME: Eliminate this in favor of DenomSelectionState. + */ +interface DenominationSelectionInfo { + totalCoinValue: AmountJson; + totalWithdrawCost: AmountJson; + selectedDenoms: { + /** + * How many times do we withdraw this denomination? + */ + count: number; + denom: DenominationRecord; + }[]; +} + +/** * Information about what will happen when creating a reserve. * * Sent to the wallet frontend to be rendered and shown to the user. @@ -231,9 +245,13 @@ export function selectWithdrawalDenominations( } if (logger.shouldLogTrace()) { - logger.trace(`selected withdrawal denoms for ${Amounts.stringify(totalCoinValue)}`); + logger.trace( + `selected withdrawal denoms for ${Amounts.stringify(totalCoinValue)}`, + ); for (const sd of selectedDenoms) { - logger.trace(`denom_pub_hash=${sd.denom.denomPubHash}, count=${sd.count}`); + logger.trace( + `denom_pub_hash=${sd.denom.denomPubHash}, count=${sd.count}`, + ); } logger.trace("(end of withdrawal denom list)"); } @@ -314,7 +332,9 @@ export async function getCandidateWithdrawalDenoms( return await ws.db .mktx((x) => ({ denominations: x.denominations })) .runReadOnly(async (tx) => { - const allDenoms = await tx.denominations.indexes.byExchangeBaseUrl.getAll(exchangeBaseUrl); + const allDenoms = await tx.denominations.indexes.byExchangeBaseUrl.getAll( + exchangeBaseUrl, + ); return allDenoms.filter(isWithdrawableDenom); }); } @@ -708,7 +728,7 @@ export async function updateWithdrawalDenoms( batchIdx++, current++ ) { const denom = denominations[current]; - if (denom.status === DenominationStatus.Unverified) { + if (denom.verificationStatus === DenominationVerificationStatus.Unverified) { logger.trace( `Validating denomination (${current + 1}/${ denominations.length @@ -723,9 +743,9 @@ export async function updateWithdrawalDenoms( logger.warn( `Signature check for denomination h=${denom.denomPubHash} failed`, ); - denom.status = DenominationStatus.VerifiedBad; + denom.verificationStatus = DenominationVerificationStatus.VerifiedBad; } else { - denom.status = DenominationStatus.VerifiedGood; + denom.verificationStatus = DenominationVerificationStatus.VerifiedGood; } updatedDenominations.push(denom); } |