staking_wallet_balance.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. class StakingWalletBalance {
  2. final String coinUnit;
  3. final String availableBalance;
  4. final String lockedBalance;
  5. /// 已释放总量(与 coinUnit 同单位,如 iBit)
  6. final String releasedTotal;
  7. final String? availableBalanceUsdt;
  8. final String? lockedBalanceUsdt;
  9. const StakingWalletBalance({
  10. required this.coinUnit,
  11. required this.availableBalance,
  12. required this.lockedBalance,
  13. this.releasedTotal = '0',
  14. this.availableBalanceUsdt,
  15. this.lockedBalanceUsdt,
  16. });
  17. factory StakingWalletBalance.empty(String coinUnit) {
  18. return StakingWalletBalance(
  19. coinUnit: coinUnit.toUpperCase(),
  20. availableBalance: '0',
  21. lockedBalance: '0',
  22. releasedTotal: '0',
  23. );
  24. }
  25. factory StakingWalletBalance.fromJson(Map<String, dynamic> json) {
  26. return StakingWalletBalance(
  27. coinUnit: '${json['coinUnit'] ?? ''}'.toUpperCase(),
  28. availableBalance: '${json['availableBalance'] ?? '0'}',
  29. lockedBalance: '${json['lockedBalance'] ?? '0'}',
  30. releasedTotal: '${json['releasedTotal'] ?? json['released_total'] ?? '0'}',
  31. availableBalanceUsdt: json['availableBalanceUsdt']?.toString(),
  32. lockedBalanceUsdt: json['lockedBalanceUsdt']?.toString(),
  33. );
  34. }
  35. }