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:
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++;