@@ -1269,55 +1269,66 @@ class DataManager extends ChangeNotifier {
12691269
12701270 // Méthode pour récupérer les données des propriétés
12711271 Future <void > fetchPropertyData ({bool forceFetch = false }) async {
1272- List <Map <String , dynamic >> tempPropertyData = [];
1272+ List <Map <String , dynamic >> tempPropertyData = [];
12731273
1274- // Fusionner les tokens de Gnosis et d'Etherum
1275- final walletTokens = [...walletTokensGnosis, ...walletTokensEtherum];
1274+ // Fusionner les tokens de Gnosis et d'Etherum
1275+ final walletTokens = [...walletTokensGnosis, ...walletTokensEtherum];
12761276
1277- // Fusionner les tokens du portefeuille (Gnosis, Ethereum) et du RMM
1278- List <dynamic > allTokens = [];
1279- for (var wallet in walletTokens) {
1280- allTokens.addAll (wallet['balances' ]); // Ajouter tous les balances des wallets
1281- }
1282- allTokens.addAll (rmmTokens); // Ajouter les tokens du RMM
1277+ // Fusionner les tokens du portefeuille (Gnosis, Ethereum) et du RMM
1278+ List <dynamic > allTokens = [];
1279+ for (var wallet in walletTokens) {
1280+ allTokens.addAll (wallet['balances' ]); // Ajouter tous les balances des wallets
1281+ }
1282+ allTokens.addAll (rmmTokens); // Ajouter les tokens du RMM
12831283
1284- // Parcourir chaque token du portefeuille et du RMM
1285- for (var token in allTokens) {
1286- if (token != null && token['token' ] != null && token['token' ]['address' ] != null ) {
1287- final tokenAddress = token['token' ]['address' ].toLowerCase ();
1284+ print ('Nombre de tokens RMM: ${rmmTokens .length }' );
1285+ print ('Tokens RMM: $rmmTokens ' );
1286+ print ('Nombre total de tokens après fusion: ${allTokens .length }' );
12881287
1289- // Correspondre avec les RealTokens
1290- final matchingRealToken = realTokens.cast <Map <String , dynamic >>().firstWhere (
1291- (realToken) => realToken['uuid' ].toLowerCase () == tokenAddress.toLowerCase (),
1292- orElse: () => < String , dynamic > {},
1293- );
1288+ print ('Contenu de allTokens: $allTokens ' );
1289+
1290+ // Parcourir chaque token du portefeuille et du RMM
1291+ for (var token in allTokens) {
12941292
1295- if (matchingRealToken.isNotEmpty && matchingRealToken[ 'propertyType' ] != null ) {
1296- final propertyType = matchingRealToken[ 'propertyType' ] ;
1293+ if (token != null && token[ 'token' ] != null && (token[ 'token' ][ 'address' ] != null || token[ 'token' ][ 'id' ] != null ) ) {
1294+ final tokenAddress = (token[ 'token' ][ 'address' ] ?? token[ 'token' ][ 'id' ]) ? . toLowerCase () ;
12971295
1298- // Vérifiez si le type de propriété existe déjà dans propertyData
1299- final existingPropertyType = tempPropertyData .firstWhere (
1300- (data ) => data[ 'propertyType' ] == propertyType ,
1301- orElse: () => < String , dynamic > {}, // Renvoie un map vide si aucune correspondance n'est trouvée
1296+ // Correspondre avec les RealTokens
1297+ final matchingRealToken = realTokens. cast < Map < String , dynamic >>() .firstWhere (
1298+ (realToken ) => realToken[ 'uuid' ]. toLowerCase () == tokenAddress. toLowerCase () ,
1299+ orElse: () => < String , dynamic > {},
13021300 );
13031301
1304- if (existingPropertyType.isNotEmpty) {
1305- // Incrémenter le compte si la propriété existe déjà
1306- existingPropertyType['count' ] += 1 ;
1307- } else {
1308- // Ajouter une nouvelle entrée si la propriété n'existe pas encore
1309- tempPropertyData.add ({'propertyType' : propertyType, 'count' : 1 });
1310- }
1302+ print ('Matching Real Token for token $tokenAddress : $matchingRealToken ' );
1303+
1304+ if (matchingRealToken.isNotEmpty && matchingRealToken['propertyType' ] != null ) {
1305+ final propertyType = matchingRealToken['propertyType' ];
1306+
1307+ // Vérifiez si le type de propriété existe déjà dans propertyData
1308+ final existingPropertyType = tempPropertyData.firstWhere (
1309+ (data) => data['propertyType' ] == propertyType,
1310+ orElse: () => < String , dynamic > {}, // Renvoie un map vide si aucune correspondance n'est trouvée
1311+ );
1312+
1313+ if (existingPropertyType.isNotEmpty) {
1314+ // Incrémenter le compte si la propriété existe déjà
1315+ existingPropertyType['count' ] += 1 ;
1316+ } else {
1317+ // Ajouter une nouvelle entrée si la propriété n'existe pas encore
1318+ tempPropertyData.add ({'propertyType' : propertyType, 'count' : 1 });
13111319 }
1312- } else {
1313- //logger.i('Invalid token or missing address for token: $token');
13141320 }
1321+ } else {
1322+ logger.i ('Invalid token or missing address for token: $token ' );
13151323 }
1324+ }
13161325
1317- propertyData = tempPropertyData;
1326+ propertyData = tempPropertyData;
13181327
1319- notifyListeners ();
1320- }
1328+ print ('Données finales avec RMM: $propertyData ' );
1329+
1330+ notifyListeners ();
1331+ }
13211332
13221333 // Méthode pour réinitialiser toutes les données
13231334 Future <void > resetData () async {
0 commit comments