taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 93ab00e601878b91a315babd2a9b6ab5dca59e92
parent 3f4526847b76ddafa9a3e23d94e973c30d8c72ef
Author: Florian Dold <florian@dold.me>
Date:   Wed, 28 Jun 2023 17:22:27 +0200

wallet-core: fixup for coin availability (visible coins)

Diffstat:
Mpackages/taler-wallet-core/src/db.ts | 15++++++++++++---
Mpackages/taler-wallet-core/src/operations/common.ts | 1+
2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts @@ -2152,10 +2152,8 @@ export interface CoinAvailabilityRecord { * Number of fresh coins that are available * and visible, i.e. the source transaction is in * a final state. - * - * (Optional for backwards compatibility, defaults to 0.) */ - visibleCoinCount?: number; + visibleCoinCount: number; } export interface ContractTermsRecord { @@ -2942,6 +2940,17 @@ export const walletDbFixups: FixupDescription[] = [ }); }, }, + { + name: "CoinAvailabilityRecord_visibleCoinCount_add", + async fn(tx): Promise<void> { + await tx.coinAvailability.iter().forEachAsync(async (r) => { + if (r.visibleCoinCount == null) { + r.visibleCoinCount = r.freshCoinCount; + await tx.coinAvailability.put(r); + } + }); + }, + }, ]; const logger = new Logger("db.ts"); diff --git a/packages/taler-wallet-core/src/operations/common.ts b/packages/taler-wallet-core/src/operations/common.ts @@ -147,6 +147,7 @@ export async function makeCoinAvailable( denomPubHash: denom.denomPubHash, exchangeBaseUrl: denom.exchangeBaseUrl, freshCoinCount: 0, + visibleCoinCount: 0, }; } car.freshCoinCount++;