cake_wallet/lib/monero/monero_balance.dart

43 lines
1.4 KiB
Dart
Raw Normal View History

import 'package:cake_wallet/entities/balance.dart';
import 'package:cake_wallet/entities/balance_display_mode.dart';
2020-06-01 18:13:56 +00:00
import 'package:flutter/foundation.dart';
2020-09-21 11:50:26 +00:00
import 'package:cake_wallet/monero/monero_amount_format.dart';
2020-06-01 18:13:56 +00:00
class MoneroBalance extends Balance {
2020-06-01 18:13:56 +00:00
MoneroBalance({@required this.fullBalance, @required this.unlockedBalance})
: formattedFullBalance = moneroAmountToString(amount: fullBalance),
formattedUnlockedBalance =
moneroAmountToString(amount: unlockedBalance),
super(const [
BalanceDisplayMode.availableBalance,
BalanceDisplayMode.fullBalance
]);
2020-06-01 18:13:56 +00:00
MoneroBalance.fromString(
{@required this.formattedFullBalance,
@required this.formattedUnlockedBalance})
2020-06-01 18:13:56 +00:00
: fullBalance = moneroParseAmount(amount: formattedFullBalance),
unlockedBalance = moneroParseAmount(amount: formattedUnlockedBalance),
super(const [
BalanceDisplayMode.availableBalance,
BalanceDisplayMode.fullBalance
]);
2020-06-01 18:13:56 +00:00
final int fullBalance;
final int unlockedBalance;
final String formattedFullBalance;
final String formattedUnlockedBalance;
@override
String formattedBalance(BalanceDisplayMode mode) {
switch (mode) {
case BalanceDisplayMode.fullBalance:
return formattedFullBalance;
case BalanceDisplayMode.availableBalance:
return formattedUnlockedBalance;
default:
return null;
}
}
}