diff --git a/lib/models/balance.dart b/lib/models/balance.dart new file mode 100644 index 000000000..2caa6353f --- /dev/null +++ b/lib/models/balance.dart @@ -0,0 +1,39 @@ +import 'package:decimal/decimal.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/format.dart'; + +class Balance { + final Coin coin; + final int total; + final int spendable; + final int blockedTotal; + final int pendingSpendable; + + Balance({ + required this.coin, + required this.total, + required this.spendable, + required this.blockedTotal, + required this.pendingSpendable, + }); + + Decimal getTotal({bool includeBlocked = false}) => Format.satoshisToAmount( + includeBlocked ? total : total - blockedTotal, + coin: coin, + ); + + Decimal getSpendable() => Format.satoshisToAmount( + spendable, + coin: coin, + ); + + Decimal getPending() => Format.satoshisToAmount( + pendingSpendable, + coin: coin, + ); + + Decimal getBlocked() => Format.satoshisToAmount( + blockedTotal, + coin: coin, + ); +}