balanceFlow

Observable balance — emits a fresh WalletBalance whenever the wallet's unshielded OR shielded NIGHT changes. Both are driven by background indexer subscriptions, so externally-received funds (an airdrop, an incoming shielded or unshielded transfer) surface automatically without a manual refresh. Each emission also re-reads dust.

Use this for a live UI (the wallet panel collects it); balance stays the one-shot snapshot for callers that just need the current value.

Note: a dust-only change (e.g. right after MidnightSdk.registerForDustGeneration) won't re-emit on its own — that path forces its own refresh.