diff options
author | Florian Dold <florian@dold.me> | 2024-03-05 10:30:25 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-03-05 10:30:30 +0100 |
commit | 63aedafd841f3a3d7d3b7974d4e5b8fbd02afd3d (patch) | |
tree | 98a92ffb670e63f2253ee9b2a068f7234634eda2 /packages/taler-wallet-core/src/balance.ts | |
parent | 187031b9336e3c81aaa05c79e345adf5ac997980 (diff) | |
download | wallet-core-63aedafd841f3a3d7d3b7974d4e5b8fbd02afd3d.tar.xz |
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.ts | 7 |
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, |