diff options
author | Florian Dold <florian@dold.me> | 2023-06-28 17:22:27 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-06-28 17:22:33 +0200 |
commit | 93ab00e601878b91a315babd2a9b6ab5dca59e92 (patch) | |
tree | 96bb9438149802b2d9b50bc49b67f7bea99e1b4f /packages | |
parent | 3f4526847b76ddafa9a3e23d94e973c30d8c72ef (diff) | |
download | wallet-core-93ab00e601878b91a315babd2a9b6ab5dca59e92.tar.xz |
wallet-core: fixup for coin availability (visible coins)
Diffstat (limited to 'packages')
-rw-r--r-- | packages/taler-wallet-core/src/db.ts | 15 | ||||
-rw-r--r-- | packages/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 index 89bb8b053..c12d0f2f7 100644 --- 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 index 52e4c4b53..620054cae 100644 --- 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++; |