summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/balance.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-03-05 10:30:25 +0100
committerFlorian Dold <florian@dold.me>2024-03-05 10:30:30 +0100
commit63aedafd841f3a3d7d3b7974d4e5b8fbd02afd3d (patch)
tree98a92ffb670e63f2253ee9b2a068f7234634eda2 /packages/taler-wallet-core/src/balance.ts
parent187031b9336e3c81aaa05c79e345adf5ac997980 (diff)
downloadwallet-core-63aedafd841f3a3d7d3b7974d4e5b8fbd02afd3d.tar.gz
wallet-core-63aedafd841f3a3d7d3b7974d4e5b8fbd02afd3d.tar.bz2
wallet-core-63aedafd841f3a3d7d3b7974d4e5b8fbd02afd3d.zip
wallet-core: have balance item even on zero balance
Also add a test for this.
Diffstat (limited to 'packages/taler-wallet-core/src/balance.ts')
-rw-r--r--packages/taler-wallet-core/src/balance.ts7
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/taler-wallet-core/src/balance.ts b/packages/taler-wallet-core/src/balance.ts
index 3b53699ac..6dc0783c0 100644
--- a/packages/taler-wallet-core/src/balance.ts
+++ b/packages/taler-wallet-core/src/balance.ts
@@ -80,7 +80,7 @@ import {
getExchangeScopeInfo,
getExchangeWireDetailsInTx,
} from "./exchanges.js";
-import { InternalWalletState, WalletExecutionContext } from "./wallet.js";
+import { WalletExecutionContext } from "./wallet.js";
/**
* Logger.
@@ -178,6 +178,10 @@ class BalancesStore {
return this.balanceStore[balanceKey];
}
+ async addZero(currency: string, exchangeBaseUrl: string): Promise<void> {
+ await this.initBalance(currency, exchangeBaseUrl);
+ }
+
async addAvailable(
currency: string,
exchangeBaseUrl: string,
@@ -304,6 +308,7 @@ export async function getBalancesInsideTransaction(
await tx.coinAvailability.iter().forEachAsync(async (ca) => {
const count = ca.visibleCoinCount ?? 0;
+ await balanceStore.addZero(ca.currency, ca.exchangeBaseUrl);
for (let i = 0; i < count; i++) {
await balanceStore.addAvailable(
ca.currency,