From c4bdceaf4f9d2f044e09c4fa91e5120683b55715 Mon Sep 17 00:00:00 2001
From: poka <poka@p2p.legal>
Date: Tue, 18 Mar 2025 00:34:51 +0100
Subject: [PATCH] fix certdata type

---
 lib/widgets/wallet_header.dart | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/lib/widgets/wallet_header.dart b/lib/widgets/wallet_header.dart
index bc91b7f..aee0b07 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);
-- 
GitLab