dev
dart 30 lines 927 Bytes
Raw
1 import 'package:cw_monero/api/account_list.dart';
2 import 'package:cw_monero/monero_unspent.dart';
3
4 Map<String, Map<String, dynamic>> getAllUnspent() {
5 final coins = currentWallet!.coins();
6 coins.refresh();
7 final coinCount = coins.count();
8
9 final ret = <String, Map<String, dynamic>>{};
10 ret["_count"] = {coinCount.toString(): coinCount};
11 for (var i = 0; i < coinCount; i++) {
12 final coin = coins.coin(i);
13 final subaddr = coin.subaddrAccount();
14 if (ret[subaddr.toString()] == null) {
15 ret[subaddr.toString()] = {};
16 }
17
18 final unspent = MoneroUnspent.fromUnspent(
19 address: coin.address(),
20 hash: coin.hash(),
21 keyImage: coin.keyImage(),
22 value: coin.amount(),
23 isFrozen: coin.frozen(),
24 isUnlocked: coin.unlocked(),
25 isSpent: coin.spent(),
26 );
27 ret[subaddr.toString()]!["0x${coin.ffiAddress().toRadixString(16)}"] = unspent.toJson();
28 }
29 return ret;
30 }