@nostr-dev-kit/ndk-wallet
Version:
23 lines (17 loc) • 721 B
text/typescript
import type { WalletState } from ".";
import type { MintUrl } from "../../mint/utils";
import type { GetOpts } from "./proofs";
export function getBalance(this: WalletState, opts?: GetOpts) {
const proofs = this.getProofEntries(opts);
return proofs.reduce((sum, proof) => sum + proof.proof.amount, 0);
}
export function getMintsBalances(this: WalletState, { onlyAvailable }: GetOpts = { onlyAvailable: true }) {
const balances: Record<MintUrl, number> = {};
const proofs = this.getProofEntries({ onlyAvailable });
for (const proof of proofs) {
if (!proof.mint) continue;
balances[proof.mint] ??= 0;
balances[proof.mint] += proof.proof.amount;
}
return balances;
}