dev
dart 25 lines 671 Bytes
Raw
1 import 'dart:convert';
2
3 import 'package:cw_core/amount/money.dart';
4 import 'package:cw_core/balance.dart';
5 import 'package:cw_core/currency.dart';
6
7 class TronBalance extends Balance {
8 TronBalance(this.balance) : super(balance, balance);
9
10 final Money balance;
11
12 String toJSON() => json.encode({'balance': balance.amount.toString()});
13
14 static TronBalance? fromJSON(String? jsonSource, Currency currency) {
15 if (jsonSource == null) return null;
16
17 final decoded = json.decode(jsonSource) as Map;
18
19 try {
20 return TronBalance(Money(BigInt.parse(decoded['balance']), currency));
21 } catch (e) {
22 return TronBalance(Money.zero(currency));
23 }
24 }
25 }