diff --git a/lib/widgets/wallet_header.dart b/lib/widgets/wallet_header.dart index bc91b7f686270b87ce33a23a7ae04144a633863e..aee0b07fc76c654b80c8579589b1452ca49a73b4 100644 --- a/lib/widgets/wallet_header.dart +++ b/lib/widgets/wallet_header.dart @@ -81,19 +81,19 @@ class _WalletHeaderState extends State<WalletHeader> { final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false); final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); - // Load all data in parallel - final results = await Future.wait([ + // Load all data in parallel with proper typing + final (idtyStatus, balance, certData) = await ( sub.idtyStatus(widget.address), sub.getBalance(widget.address), sub.getCertsCounter(widget.address), - ]); + ).wait; final data = WalletHeaderData( - hasIdentity: results[0] != IdtyStatus.none, + hasIdentity: idtyStatus != IdtyStatus.none, isOwner: myWalletProvider.isOwner(widget.address), walletName: duniterIndexer.walletNameIndexer[widget.address], - balance: BigInt.from((results[1] as Map<String, int>)['transferableBalance'] ?? 0), - certCount: (results[2] as List<int>?) ?? [0, 0], + balance: BigInt.from(balance['transferableBalance'] ?? 0), + certCount: [certData.receivedCount, certData.sentCount], ); // Save to Hive cache @@ -108,18 +108,19 @@ class _WalletHeaderState extends State<WalletHeader> { final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false); final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); - final results = await Future.wait([ + // Load all data in parallel with proper typing + final (idtyStatus, balance, certData) = await ( sub.idtyStatus(widget.address), sub.getBalance(widget.address), sub.getCertsCounter(widget.address), - ]); + ).wait; final data = WalletHeaderData( - hasIdentity: results[0] != IdtyStatus.none, + hasIdentity: idtyStatus != IdtyStatus.none, isOwner: myWalletProvider.isOwner(widget.address), walletName: duniterIndexer.walletNameIndexer[widget.address], - balance: BigInt.from((results[1] as Map<String, int>)['transferableBalance'] ?? 0), - certCount: (results[2] as List<int>?) ?? [0, 0], + balance: BigInt.from(balance['transferableBalance'] ?? 0), + certCount: [certData.receivedCount, certData.sentCount], ); final existing = _cacheBox?.get(widget.address);