diff --git a/android/app/build.gradle b/android/app/build.gradle index 76c91a5..ecf1475 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -65,7 +65,7 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.release //poka: comment this to build unsigned release, or set to signingConfigs.debug to sign with debug keys + signingConfig signingConfigs.debug //poka: comment this to build unsigned release, or set to signingConfigs.debug to sign with debug keys useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' diff --git a/lib/main.dart b/lib/main.dart index 60f4f68..1c4362b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -13,8 +13,6 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -// ignore_for_file: avoid_print - import 'dart:async'; import 'dart:io'; import 'package:flutter/services.dart'; @@ -44,7 +42,6 @@ import 'package:flutter/foundation.dart'; import 'package:responsive_framework/responsive_framework.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; -import 'package:window_size/window_size.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -53,17 +50,12 @@ const bool enableSentry = true; Future main() async { WidgetsFlutterBinding.ensureInitialized(); await EasyLocalization.ensureInitialized(); - if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) { - setWindowTitle('Ğecko'); - setWindowMinSize(const Size(400, 700)); - setWindowMaxSize(const Size(800, 1000)); - } - HomeProvider _homeProvider = HomeProvider(); + HomeProvider homeProvider = HomeProvider(); // DuniterIndexer _duniterIndexer = DuniterIndexer(); await initHiveForFlutter(); - await _homeProvider.initHive(); - appVersion = await _homeProvider.getAppVersion(); + await homeProvider.initHive(); + appVersion = await homeProvider.getAppVersion(); prefs = await SharedPreferences.getInstance(); // Reset GraphQL cache @@ -82,7 +74,7 @@ Future main() async { await Hive.deleteBoxFromDisk('g1WalletsBox'); g1WalletsBox = await Hive.openBox("g1WalletsBox"); - await _homeProvider.getValidEndpoints(); + await homeProvider.getValidEndpoints(); // await configBox.delete('isCacheChecked'); if (configBox.get('isCacheChecked') == null) { configBox.put('isCacheChecked', false); @@ -117,7 +109,7 @@ Future main() async { ), ); } else { - print('Debug mode enabled: No sentry alerte'); + log.i('Debug mode enabled: No sentry alerte'); runApp( EasyLocalization( diff --git a/lib/models/stateful_wrapper.dart b/lib/models/stateful_wrapper.dart index 5706812..3ce7df0 100644 --- a/lib/models/stateful_wrapper.dart +++ b/lib/models/stateful_wrapper.dart @@ -6,10 +6,10 @@ class StatefulWrapper extends StatefulWidget { const StatefulWrapper({Key? key, required this.onInit, required this.child}) : super(key: key); @override - _StatefulWrapperState createState() => _StatefulWrapperState(); + StatefulWrapperState createState() => StatefulWrapperState(); } -class _StatefulWrapperState extends State { +class StatefulWrapperState extends State { @override void initState() { widget.onInit(); diff --git a/lib/providers/cesium_plus.dart b/lib/providers/cesium_plus.dart index a50277b..06cb063 100644 --- a/lib/providers/cesium_plus.dart +++ b/lib/providers/cesium_plus.dart @@ -13,18 +13,18 @@ class CesiumPlusProvider with ChangeNotifier { CancelToken avatarCancelToken = CancelToken(); - Future _buildQuery(_pubkey) async { + Future _buildQuery(pubkey) async { var queryGetAvatar = json.encode({ "query": { "bool": { "should": [ { "match": { - '_id': {"query": _pubkey, "boost": 2} + '_id': {"query": pubkey, "boost": 2} } }, { - "prefix": {'_id': _pubkey} + "prefix": {'_id': pubkey} } ] } @@ -60,14 +60,14 @@ class CesiumPlusProvider with ChangeNotifier { return [podRequest, queryGetAvatar, headers]; } - Future getName(String? _pubkey) async { - String? _name; + Future getName(String? pubkey) async { + String? name; - if (g1WalletsBox.get(_pubkey)?.csName != null) { - return g1WalletsBox.get(_pubkey)!.csName!; + if (g1WalletsBox.get(pubkey)?.csName != null) { + return g1WalletsBox.get(pubkey)!.csName!; } - List queryOptions = await _buildQuery(_pubkey); + List queryOptions = await _buildQuery(pubkey); var dio = Dio(); late Response response; @@ -90,28 +90,28 @@ class CesiumPlusProvider with ChangeNotifier { if (response.data['hits']['hits'].toString() == '[]') { return ''; } - final bool _nameExist = + final bool nameExist = response.data['hits']['hits'][0]['_source'].containsKey("title"); - if (!_nameExist) { + if (!nameExist) { return ''; } - _name = response.data['hits']['hits'][0]['_source']['title']; + name = response.data['hits']['hits'][0]['_source']['title']; - _name ??= ''; - g1WalletsBox.get(_pubkey)!.csName = _name; + name ??= ''; + g1WalletsBox.get(pubkey)!.csName = name; - return _name; + return name; } - Future getAvatar(String? _pubkey, double size) async { - if (g1WalletsBox.get(_pubkey)?.avatar != null) { - return g1WalletsBox.get(_pubkey)!.avatar; + Future getAvatar(String? pubkey, double size) async { + if (g1WalletsBox.get(pubkey)?.avatar != null) { + return g1WalletsBox.get(pubkey)!.avatar; } var dio = Dio(); // log.d(_pubkey); - List queryOptions = await _buildQuery(_pubkey); + List queryOptions = await _buildQuery(pubkey); late Response response; try { @@ -138,12 +138,12 @@ class CesiumPlusProvider with ChangeNotifier { return defaultAvatar(size); } - final _avatar = + final avatar = response.data['hits']['hits'][0]['_source']['avatar']['_content']; var avatarFile = - File('${(await getTemporaryDirectory()).path}/avatar_$_pubkey.png'); - await avatarFile.writeAsBytes(base64.decode(_avatar)); + File('${(await getTemporaryDirectory()).path}/avatar_$pubkey.png'); + await avatarFile.writeAsBytes(base64.decode(avatar)); final finalAvatar = Image.file( avatarFile, @@ -151,7 +151,7 @@ class CesiumPlusProvider with ChangeNotifier { fit: BoxFit.fitWidth, ); - g1WalletsBox.get(_pubkey)!.avatar = finalAvatar; + g1WalletsBox.get(pubkey)!.avatar = finalAvatar; return finalAvatar; } diff --git a/lib/providers/chest_provider.dart b/lib/providers/chest_provider.dart index 3a11b88..0134e26 100644 --- a/lib/providers/chest_provider.dart +++ b/lib/providers/chest_provider.dart @@ -13,16 +13,16 @@ class ChestProvider with ChangeNotifier { notifyListeners(); } - Future deleteChest(context, ChestData _chest) async { - final bool? _answer = await (_confirmDeletingChest(context, _chest.name)); - SubstrateSdk _sub = Provider.of(context, listen: false); - if (_answer ?? false) { - await _sub.deleteAccounts(getChestWallets(_chest)); - await chestBox.delete(_chest.key); - MyWalletsProvider _myWalletProvider = + Future deleteChest(context, ChestData chest) async { + final bool? answer = await (_confirmDeletingChest(context, chest.name)); + SubstrateSdk sub = Provider.of(context, listen: false); + if (answer ?? false) { + await sub.deleteAccounts(getChestWallets(chest)); + await chestBox.delete(chest.key); + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); - _myWalletProvider.pinCode = ''; + myWalletProvider.pinCode = ''; if (chestBox.isEmpty) { await configBox.put('currentChest', 0); @@ -39,24 +39,24 @@ class ChestProvider with ChangeNotifier { } } - List getChestWallets(ChestData _chest) { + List getChestWallets(ChestData chest) { List toDelete = []; - log.d(_chest.key); + log.d(chest.key); walletBox.toMap().forEach((key, WalletData value) { - if (value.chest == _chest.key) { + if (value.chest == chest.key) { toDelete.add(value.address!); } }); return toDelete; } - Future _confirmDeletingChest(context, String? _walletName) async { + Future _confirmDeletingChest(context, String? walletName) async { return showDialog( context: context, barrierDismissible: true, // user must tap button! builder: (BuildContext context) { return AlertDialog( - title: Text('areYouSureToDeleteWallet'.tr(args: [_walletName!])), + title: Text('areYouSureToDeleteWallet'.tr(args: [walletName!])), actions: [ TextButton( child: Text("no".tr(), key: const Key('cancelDeleting')), diff --git a/lib/providers/duniter_indexer.dart b/lib/providers/duniter_indexer.dart index 51075d8..fbe9c7a 100644 --- a/lib/providers/duniter_indexer.dart +++ b/lib/providers/duniter_indexer.dart @@ -33,10 +33,10 @@ class DuniterIndexer with ChangeNotifier { Future checkIndexerEndpoint(String endpoint) async { isLoadingIndexer = true; notifyListeners(); - final _client = HttpClient(); - _client.connectionTimeout = const Duration(milliseconds: 4000); + final client = HttpClient(); + client.connectionTimeout = const Duration(milliseconds: 4000); try { - final request = await _client.postUrl(Uri.parse('$endpoint/v1/graphql')); + final request = await client.postUrl(Uri.parse('$endpoint/v1/graphql')); final response = await request.close(); if (response.statusCode != 200) { log.d('INDEXER IS OFFILINE'); @@ -102,10 +102,10 @@ class DuniterIndexer with ChangeNotifier { int i = 0; // String _endpoint = ''; - int _statusCode = 0; + int statusCode = 0; - final _client = HttpClient(); - _client.connectionTimeout = const Duration(milliseconds: 3000); + final client = HttpClient(); + client.connectionTimeout = const Duration(milliseconds: 3000); do { int listLenght = listIndexerEndpoints.length; @@ -114,8 +114,7 @@ class DuniterIndexer with ChangeNotifier { indexerEndpoint = ''; break; } - log.d((i + 1).toString() + - 'n indexer endpoint try: ${listIndexerEndpoints[i]}'); + log.d('${i + 1}n indexer endpoint try: ${listIndexerEndpoints[i]}'); if (i != 0) { await Future.delayed(const Duration(milliseconds: 300)); @@ -124,33 +123,33 @@ class DuniterIndexer with ChangeNotifier { try { String endpointPath = '${listIndexerEndpoints[i]}/v1/graphql'; - final request = await _client.postUrl(Uri.parse(endpointPath)); + final request = await client.postUrl(Uri.parse(endpointPath)); final response = await request.close(); indexerEndpoint = listIndexerEndpoints[i]; await configBox.put('indexerEndpoint', listIndexerEndpoints[i]); - _statusCode = response.statusCode; + statusCode = response.statusCode; i++; } on TimeoutException catch (_) { log.e('This endpoint is timeout, next'); - _statusCode = 50; + statusCode = 50; i++; continue; } on SocketException catch (_) { log.e('This endpoint is a bad endpoint, next'); - _statusCode = 70; + statusCode = 70; i++; continue; } on Exception { log.e('Unknown error'); - _statusCode = 60; + statusCode = 60; i++; continue; } - } while (_statusCode != 200); + } while (statusCode != 200); - log.i('INDEXER: ' + indexerEndpoint); + log.i('INDEXER: $indexerEndpoint'); return indexerEndpoint; } @@ -158,34 +157,34 @@ class DuniterIndexer with ChangeNotifier { [WalletData? wallet, double size = 20, bool canEdit = false, - Color _color = Colors.black, + Color color = Colors.black, FontWeight fontWeight = FontWeight.w400, FontStyle fontStyle = FontStyle.italic]) { - WalletOptionsProvider _walletOptions = + WalletOptionsProvider walletOptions = Provider.of(context, listen: false); if (indexerEndpoint == '') { if (wallet == null) { return const SizedBox(); } else { if (canEdit) { - return _walletOptions.walletName(context, wallet, size, _color); + return walletOptions.walletName(context, wallet, size, color); } else { - return _walletOptions.walletNameController(context, wallet, size); + return walletOptions.walletNameController(context, wallet, size); } } } - final _httpLink = HttpLink( + final httpLink = HttpLink( '$indexerEndpoint/v1/graphql', ); - final _client = ValueNotifier( + final client = ValueNotifier( GraphQLClient( cache: GraphQLCache(store: HiveStore()), - link: _httpLink, + link: httpLink, ), ); return GraphQLProvider( - client: _client, + client: client, child: Query( options: QueryOptions( document: gql( @@ -213,22 +212,21 @@ class DuniterIndexer with ChangeNotifier { return const SizedBox(); } else { if (canEdit) { - return _walletOptions.walletName( - context, wallet, size, _color); + return walletOptions.walletName(context, wallet, size, color); } else { - return _walletOptions.walletNameController( + return walletOptions.walletNameController( context, wallet, size); } } } return Text( - _color == Colors.grey[700]! + color == Colors.grey[700]! ? '(${walletNameIndexer[address]!})' : truncate(walletNameIndexer[address]!, 20), style: TextStyle( fontSize: size, - color: _color, + color: color, fontWeight: fontWeight, fontStyle: fontStyle, ), @@ -240,28 +238,28 @@ class DuniterIndexer with ChangeNotifier { Widget searchIdentity(BuildContext context, String name) { // WalletOptionsProvider _walletOptions = // Provider.of(context, listen: false); - CesiumPlusProvider _cesiumPlusProvider = + CesiumPlusProvider cesiumPlusProvider = Provider.of(context, listen: false); - WalletsProfilesProvider _walletsProfiles = + WalletsProfilesProvider walletsProfiles = Provider.of(context, listen: false); if (indexerEndpoint == '') { return const Text('Aucun résultat'); } log.d(indexerEndpoint); - final _httpLink = HttpLink( + final httpLink = HttpLink( '$indexerEndpoint/v1/graphql', ); - final _client = ValueNotifier( + final client = ValueNotifier( GraphQLClient( cache: GraphQLCache( store: HiveStore()), // GraphQLCache(store: HiveStore()) - link: _httpLink, + link: httpLink, ), ); return GraphQLProvider( - client: _client, + client: client, child: Query( options: QueryOptions( document: gql( @@ -288,7 +286,7 @@ class DuniterIndexer with ChangeNotifier { } int keyID = 0; - double _avatarSize = 55; + double avatarSize = 55; return Expanded( child: ListView(children: [ for (Map profile in identities) @@ -298,7 +296,7 @@ class DuniterIndexer with ChangeNotifier { key: Key('searchResult${keyID++}'), horizontalTitleGap: 40, contentPadding: const EdgeInsets.all(5), - leading: _cesiumPlusProvider.defaultAvatar(_avatarSize), + leading: cesiumPlusProvider.defaultAvatar(avatarSize), title: Row(children: [ Text(getShortPubkey(profile['id']), style: const TextStyle( @@ -322,7 +320,7 @@ class DuniterIndexer with ChangeNotifier { Navigator.push( context, MaterialPageRoute(builder: (context) { - _walletsProfiles.address = profile['id']; + walletsProfiles.address = profile['id']; return WalletViewScreen( pubkey: profile['id'], username: g1WalletsBox @@ -341,14 +339,14 @@ class DuniterIndexer with ChangeNotifier { ); } - List parseHistory(blockchainTX, _pubkey) { + List parseHistory(blockchainTX, pubkey) { var transBC = []; int i = 0; for (final trans in blockchainTX) { final transaction = trans['node']; final direction = - transaction['issuer_id'] != _pubkey ? 'RECEIVED' : 'SENT'; + transaction['issuer_id'] != pubkey ? 'RECEIVED' : 'SENT'; transBC.add(i); transBC[i] = []; @@ -362,7 +360,7 @@ class DuniterIndexer with ChangeNotifier { } else if (direction == "SENT") { transBC[i].add(transaction['receiver_id']); transBC[i].add(transaction['receiver']['identity']?['name'] ?? ''); - transBC[i].add('- ' + amount.toString()); + transBC[i].add('- $amount'); } // transBC[i].add(''); //transaction comment @@ -371,7 +369,7 @@ class DuniterIndexer with ChangeNotifier { return transBC; } - FetchMoreOptions? checkQueryResult(result, opts, _pubkey) { + FetchMoreOptions? checkQueryResult(result, opts, pubkey) { final List? blockchainTX = (result.data['transaction_connection']['edges'] as List?); // final List mempoolTX = @@ -402,9 +400,9 @@ class DuniterIndexer with ChangeNotifier { as List ]; - log.d('repos: ' + previousResultData.toString()); - log.d('repos: ' + fetchMoreResultData.toString()); - log.d('repos: ' + repos.toString()); + log.d('repos: $previousResultData'); + log.d('repos: $fetchMoreResultData'); + log.d('repos: $repos'); fetchMoreResultData['transaction_connection']['edges'] = repos; return fetchMoreResultData; @@ -415,7 +413,7 @@ class DuniterIndexer with ChangeNotifier { log.d( "###### DEBUG H Parse blockchainTX list. Cursor: $fetchMoreCursor ######"); if (fetchMoreCursor != null) { - transBC = parseHistory(blockchainTX, _pubkey); + transBC = parseHistory(blockchainTX, pubkey); } else { log.i("###### DEBUG H - Début de l'historique"); } diff --git a/lib/providers/generate_wallets.dart b/lib/providers/generate_wallets.dart index fa4b869..6039e53 100644 --- a/lib/providers/generate_wallets.dart +++ b/lib/providers/generate_wallets.dart @@ -65,7 +65,7 @@ class GenerateWalletsProvider with ChangeNotifier { if (chestNumber == 0) { chestName = 'geckoChest'.tr(); } else { - chestName = 'geckoChest'.tr() + '${chestNumber + 1}'; + chestName = '${'geckoChest'.tr()}${chestNumber + 1}'; } await configBox.put('currentChest', chestNumber); @@ -81,8 +81,8 @@ class GenerateWalletsProvider with ChangeNotifier { notifyListeners(); } - void checkAskedWord(String inputWord, String _mnemo) { - final expectedWord = _mnemo.split(' ')[nbrWord]; + void checkAskedWord(String inputWord, String mnemo) { + final expectedWord = mnemo.split(' ')[nbrWord]; final normInputWord = unorm.nfkd(inputWord); log.i("Is $expectedWord equal to input $normInputWord ?"); @@ -118,7 +118,7 @@ class GenerateWalletsProvider with ChangeNotifier { return rng.nextInt(12); } - String? intToString(int _nbr) { + String? intToString(int nbr) { Map nbrToString = {}; nbrToString[1] = '1th'.tr(); nbrToString[2] = '2th'.tr(); @@ -133,7 +133,7 @@ class GenerateWalletsProvider with ChangeNotifier { nbrToString[11] = '11th'.tr(); nbrToString[12] = '12th'.tr(); - nbrWordAlpha = nbrToString[_nbr]; + nbrWordAlpha = nbrToString[nbr]; return nbrWordAlpha; } @@ -222,12 +222,12 @@ class GenerateWalletsProvider with ChangeNotifier { } Future generateCesiumWalletPubkey( - String _cesiumID, String _cesiumPWD) async { - cesiumWallet = durt.CesiumWallet(_cesiumID, _cesiumPWD); - String _walletPubkey = cesiumWallet.pubkey; + String cesiumID, String cesiumPWD) async { + cesiumWallet = durt.CesiumWallet(cesiumID, cesiumPWD); + String walletPubkey = cesiumWallet.pubkey; - cesiumPubkey.text = _walletPubkey; - log.d(_walletPubkey); + cesiumPubkey.text = walletPubkey; + log.d(walletPubkey); } void cesiumIDisVisible() { @@ -248,19 +248,19 @@ class GenerateWalletsProvider with ChangeNotifier { } Future> generateWordList(BuildContext context) async { - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); - generatedMnemonic = await _sub.generateMnemonic(lang: appLang); - List _wordsList = []; + generatedMnemonic = await sub.generateMnemonic(lang: appLang); + List wordsList = []; String word; - int _nbr = 1; + int nbr = 1; for (word in generatedMnemonic!.split(' ')) { - _wordsList.add("$_nbr:$word"); - _nbr++; + wordsList.add("$nbr:$word"); + nbr++; } - return _wordsList; + return wordsList; } bool isBipWord(String word, [bool checkRedondance = true]) { @@ -368,29 +368,29 @@ class GenerateWalletsProvider with ChangeNotifier { Future scanDerivations(BuildContext context, {int numberScan = 20}) async { - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); final currentChestNumber = configBox.get('currentChest'); bool isAlive = false; scanedWalletNumber = 0; notifyListeners(); - if (!_sub.nodeConnected) { + if (!sub.nodeConnected) { return false; } - final hasRoot = await scanRootBalance(_sub, currentChestNumber); + final hasRoot = await scanRootBalance(sub, currentChestNumber); if (hasRoot) { scanedWalletNumber = 1; isAlive = true; } for (var derivationNbr in [for (var i = 0; i < numberScan; i += 1) i]) { - final addressData = await _sub.sdk.api.keyring.addressFromMnemonic(ss58, + final addressData = await sub.sdk.api.keyring.addressFromMnemonic(ss58, cryptoType: CryptoType.sr25519, mnemonic: generatedMnemonic!, derivePath: '//$derivationNbr'); - final balance = await _sub.getBalance(addressData.address!).timeout( + final balance = await sub.getBalance(addressData.address!).timeout( const Duration(seconds: 1), onTimeout: () => 0, ); @@ -401,8 +401,8 @@ class GenerateWalletsProvider with ChangeNotifier { isAlive = true; String walletName = scanedWalletNumber == 0 ? 'currentWallet'.tr() - : 'wallet'.tr() + ' ${scanedWalletNumber + 1}'; - await _sub.importAccount( + : '${'wallet'.tr()} ${scanedWalletNumber + 1}'; + await sub.importAccount( mnemonic: '', fromMnemonic: true, derivePath: '//$derivationNbr', @@ -425,12 +425,11 @@ class GenerateWalletsProvider with ChangeNotifier { return isAlive; } - Future scanRootBalance( - SubstrateSdk _sub, int currentChestNumber) async { - final addressData = await _sub.sdk.api.keyring.addressFromMnemonic(ss58, + Future scanRootBalance(SubstrateSdk sub, int currentChestNumber) async { + final addressData = await sub.sdk.api.keyring.addressFromMnemonic(ss58, cryptoType: CryptoType.sr25519, mnemonic: generatedMnemonic!); - final balance = await _sub.getBalance(addressData.address!).timeout( + final balance = await sub.getBalance(addressData.address!).timeout( const Duration(seconds: 1), onTimeout: () => 0, ); @@ -438,7 +437,7 @@ class GenerateWalletsProvider with ChangeNotifier { log.d(balance); if (balance != 0) { String walletName = 'myRootWallet'.tr(); - await _sub.importAccount( + await sub.importAccount( mnemonic: '', fromMnemonic: true, password: pin.text); WalletData myWallet = WalletData( diff --git a/lib/providers/home.dart b/lib/providers/home.dart index f957be1..d825863 100644 --- a/lib/providers/home.dart +++ b/lib/providers/home.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'dart:convert'; import 'dart:io'; import 'dart:math'; @@ -70,7 +72,7 @@ class HomeProvider with ChangeNotifier { : (int.parse(packageInfo.buildNumber) - 1000).toString(); notifyListeners(); - return version + '+' + buildNumber; + return '$version+$buildNumber'; } Future changeMessage(String newMessage, int seconds) async { @@ -87,19 +89,19 @@ class HomeProvider with ChangeNotifier { configBox.put('autoEndpoint', true); } - List _listEndpoints = []; + List listEndpoints = []; if (!configBox.containsKey('endpoint') || configBox.get('endpoint') == [] || configBox.get('endpoint') == '') { - _listEndpoints = await rootBundle + listEndpoints = await rootBundle .loadString('config/gdev_endpoints.json') .then((jsonStr) => jsonDecode(jsonStr)); - _listEndpoints.shuffle(); - configBox.put('endpoint', _listEndpoints); + listEndpoints.shuffle(); + configBox.put('endpoint', listEndpoints); } - log.i('ENDPOINT: ' + _listEndpoints.toString()); - return _listEndpoints; + log.i('ENDPOINT: $listEndpoints'); + return listEndpoints; } T getRandomElement(List list) { @@ -119,17 +121,17 @@ class HomeProvider with ChangeNotifier { // } Widget bottomAppBar(BuildContext context) { - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); - WalletsProfilesProvider _historyProvider = + WalletsProfilesProvider historyProvider = Provider.of(context, listen: false); final size = MediaQuery.of(context).size; - const bool _showBottomBar = true; + const bool showBottomBar = true; return Visibility( - visible: _showBottomBar, + visible: showBottomBar, child: Container( color: yellowC, width: size.width, @@ -171,7 +173,7 @@ class HomeProvider with ChangeNotifier { context, ModalRoute.withName('/'), ); - _historyProvider.scan(homeContext); + historyProvider.scan(homeContext); }, ), const Spacer(), @@ -180,10 +182,10 @@ class HomeProvider with ChangeNotifier { iconSize: 60, icon: const Image(image: AssetImage('assets/wallet.png')), onPressed: () async { - WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -193,7 +195,7 @@ class HomeProvider with ChangeNotifier { ); } - if (_pin != null || _myWalletProvider.pinCode != '') { + if (pin != null || myWalletProvider.pinCode != '') { Navigator.popUntil( context, ModalRoute.withName('/'), diff --git a/lib/providers/my_wallets.dart b/lib/providers/my_wallets.dart index 32715de..fd25eff 100644 --- a/lib/providers/my_wallets.dart +++ b/lib/providers/my_wallets.dart @@ -31,11 +31,11 @@ class MyWalletsProvider with ChangeNotifier { } } - List readAllWallets([int? _chest]) { - _chest = _chest ?? configBox.get('currentChest') ?? 0; + List readAllWallets([int? chest]) { + chest = chest ?? configBox.get('currentChest') ?? 0; listWallets.clear(); walletBox.toMap().forEach((key, value) { - if (value.chest == _chest) { + if (value.chest == chest) { listWallets.add(value); } }); @@ -43,33 +43,33 @@ class MyWalletsProvider with ChangeNotifier { return listWallets; } - WalletData? getWalletDataById(List _id) { - if (_id.isEmpty) return WalletData(); - int? _chest = _id[0]; - int? _nbr = _id[1]; - WalletData? _targetedWallet; + WalletData? getWalletDataById(List id) { + if (id.isEmpty) return WalletData(); + int? chest = id[0]; + int? nbr = id[1]; + WalletData? targetedWallet; walletBox.toMap().forEach((key, value) { - if (value.chest == _chest && value.number == _nbr) { - _targetedWallet = value; + if (value.chest == chest && value.number == nbr) { + targetedWallet = value; return; } }); - return _targetedWallet; + return targetedWallet; } WalletData? getWalletDataByAddress(String address) { - WalletData? _targetedWallet; + WalletData? targetedWallet; walletBox.toMap().forEach((key, value) { if (value.address == address) { - _targetedWallet = value; + targetedWallet = value; return; } }); - return _targetedWallet; + return targetedWallet; } WalletData getDefaultWallet([int? chest]) { @@ -84,21 +84,21 @@ class MyWalletsProvider with ChangeNotifier { } Future deleteAllWallet(context) async { - SubstrateSdk _sub = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + SubstrateSdk sub = Provider.of(context, listen: false); + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); try { log.w('DELETE ALL WALLETS ?'); - final bool? _answer = + final bool? answer = await (confirmPopup(context, 'areYouSureForgetAllChests'.tr())); - if (_answer!) { + if (answer!) { await walletBox.clear(); await chestBox.clear(); await configBox.delete('defaultWallet'); - await _sub.deleteAllAccounts(); + await sub.deleteAllAccounts(); - _myWalletProvider.pinCode = ''; + myWalletProvider.pinCode = ''; await Navigator.of(context).pushNamedAndRemoveUntil( '/', @@ -111,32 +111,32 @@ class MyWalletsProvider with ChangeNotifier { } } - Future generateNewDerivation(context, String _name, + Future generateNewDerivation(context, String name, [int? number]) async { isNewDerivationLoading = true; notifyListeners(); final List idList = getNextWalletNumberAndDerivation(); - int _newWalletNbr = idList[0]; - int _newDerivationNbr = number ?? idList[1]; + int newWalletNbr = idList[0]; + int newDerivationNbr = number ?? idList[1]; - int? _chest = getCurrentChest(); + int? chest = getCurrentChest(); - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); WalletData defaultWallet = getDefaultWallet(); - final address = await _sub.derive( - context, defaultWallet.address!, _newDerivationNbr, pinCode); + final address = await sub.derive( + context, defaultWallet.address!, newDerivationNbr, pinCode); WalletData newWallet = WalletData( version: dataVersion, - chest: _chest, + chest: chest, address: address, - number: _newWalletNbr, - name: _name, - derivation: _newDerivationNbr, - imageDefaultPath: '${_newWalletNbr % 4}.png'); + number: newWalletNbr, + name: name, + derivation: newDerivationNbr, + imageDefaultPath: '${newWalletNbr % 4}.png'); await walletBox.add(newWallet); @@ -144,37 +144,37 @@ class MyWalletsProvider with ChangeNotifier { notifyListeners(); } - Future generateRootWallet(context, String _name) async { - MyWalletsProvider _myWalletProvider = + Future generateRootWallet(context, String name) async { + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); isNewDerivationLoading = true; notifyListeners(); - int _newWalletNbr; - int? _chest = getCurrentChest(); + int newWalletNbr; + int? chest = getCurrentChest(); - List _walletConfig = readAllWallets(_chest); + List walletConfig = readAllWallets(chest); - if (_walletConfig.isEmpty) { - _newWalletNbr = 0; + if (walletConfig.isEmpty) { + newWalletNbr = 0; } else { - _newWalletNbr = _walletConfig.last.number! + 1; + newWalletNbr = walletConfig.last.number! + 1; } - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); - WalletData defaultWallet = _myWalletProvider.getDefaultWallet(); + WalletData defaultWallet = myWalletProvider.getDefaultWallet(); final address = - await _sub.generateRootKeypair(defaultWallet.address!, pinCode); + await sub.generateRootKeypair(defaultWallet.address!, pinCode); WalletData newWallet = WalletData( version: dataVersion, - chest: _chest, + chest: chest, address: address, - number: _newWalletNbr, - name: _name, + number: newWalletNbr, + name: name, derivation: -1, - imageDefaultPath: '${_newWalletNbr % 4}.png'); + imageDefaultPath: '${newWalletNbr % 4}.png'); await walletBox.add(newWallet); @@ -184,29 +184,29 @@ class MyWalletsProvider with ChangeNotifier { List getNextWalletNumberAndDerivation( {int? chestNumber, bool isOneshoot = false}) { - int _newDerivationNbr = 0; - int _newWalletNbr = 0; + int newDerivationNbr = 0; + int newWalletNbr = 0; chestNumber ??= getCurrentChest(); - List _walletConfig = readAllWallets(chestNumber); + List walletConfig = readAllWallets(chestNumber); - if (_walletConfig.isEmpty) { - _newDerivationNbr = 2; + if (walletConfig.isEmpty) { + newDerivationNbr = 2; } else { - WalletData _lastWallet = _walletConfig.reduce( + WalletData lastWallet = walletConfig.reduce( (curr, next) => curr.derivation! > next.derivation! ? curr : next); - if (_lastWallet.derivation == -1) { - _newDerivationNbr = 2; + if (lastWallet.derivation == -1) { + newDerivationNbr = 2; } else { - _newDerivationNbr = _lastWallet.derivation! + (isOneshoot ? 1 : 2); + newDerivationNbr = lastWallet.derivation! + (isOneshoot ? 1 : 2); } - _newWalletNbr = _walletConfig.last.number! + 1; + newWalletNbr = walletConfig.last.number! + 1; } - return [_newWalletNbr, _newDerivationNbr]; + return [newWalletNbr, newDerivationNbr]; } int lockPin = 0; diff --git a/lib/providers/search.dart b/lib/providers/search.dart index 3be3ccf..5460e7a 100644 --- a/lib/providers/search.dart +++ b/lib/providers/search.dart @@ -68,12 +68,12 @@ class SearchProvider with ChangeNotifier { // } Future> searchAddress() async { - final WalletsProfilesProvider _walletProfiles = + final WalletsProfilesProvider walletProfiles = WalletsProfilesProvider('pubkey'); - if (_walletProfiles.isAddress(searchController.text)) { - G1WalletsList _wallet = G1WalletsList(pubkey: searchController.text); - return [_wallet]; + if (walletProfiles.isAddress(searchController.text)) { + G1WalletsList wallet = G1WalletsList(pubkey: searchController.text); + return [wallet]; } else { return []; } diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index 46abbf2..1ad6a77 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -1,5 +1,3 @@ -// ignore_for_file: avoid_print - import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -46,7 +44,7 @@ class SubstrateSdk with ChangeNotifier { } Future connectNode(BuildContext ctx) async { - HomeProvider _homeProvider = Provider.of(ctx, listen: false); + HomeProvider homeProvider = Provider.of(ctx, listen: false); // var connectivityResult = await (Connectivity().checkConnectivity()); // if (connectivityResult == ConnectivityResult.mobile || @@ -54,7 +52,7 @@ class SubstrateSdk with ChangeNotifier { // _homeProvider.changeMessage("Vous n'êtes pas connecté à internet", 0); // return; // } - _homeProvider.changeMessage("connectionPending".tr(), 0); + homeProvider.changeMessage("connectionPending".tr(), 0); // configBox.delete('customEndpoint'); final List listEndpoints = @@ -108,7 +106,7 @@ class SubstrateSdk with ChangeNotifier { // log.d(sdk.api.connectedNode?.endpoint); if (sdk.api.connectedNode?.endpoint == null) { nodeConnected = false; - _homeProvider.changeMessage("networkLost".tr(), 0); + homeProvider.changeMessage("networkLost".tr(), 0); } else { nodeConnected = true; } @@ -117,7 +115,7 @@ class SubstrateSdk with ChangeNotifier { // currencyName = await getCurencyName(); notifyListeners(); - _homeProvider.changeMessage( + homeProvider.changeMessage( "wellConnectedToNode" .tr(args: [getConnectedEndpoint()!.split('/')[2]]), 5); @@ -126,7 +124,7 @@ class SubstrateSdk with ChangeNotifier { nodeConnected = false; debugConnection = res.toString(); notifyListeners(); - _homeProvider.changeMessage("noDuniterEndointAvailable".tr(), 0); + homeProvider.changeMessage("noDuniterEndointAvailable".tr(), 0); // snackNode(ctx, false); } @@ -136,10 +134,10 @@ class SubstrateSdk with ChangeNotifier { List getDuniterBootstrap() { List node = []; - for (String _endpoint in configBox.get('endpoint')) { + for (String endpoint in configBox.get('endpoint')) { final n = NetworkParams(); n.name = currencyName; - n.endpoint = _endpoint; + n.endpoint = endpoint; n.ss58 = ss58; node.add(n); } @@ -199,7 +197,7 @@ class SubstrateSdk with ChangeNotifier { notifyListeners(); }); if (json == null) return ''; - print(json); + log.d(json); try { await sdk.api.keyring.addAccount( keyring, @@ -209,7 +207,7 @@ class SubstrateSdk with ChangeNotifier { ); // Clipboard.setData(ClipboardData(text: jsonEncode(acc.toJson()))); } catch (e) { - print(e); + log.e(e); importIsLoading = false; notifyListeners(); } @@ -247,11 +245,11 @@ class SubstrateSdk with ChangeNotifier { .evalJavascript('api.query.identity.identityIndexOf("$address")'); // log.d('u32: ' + idtyIndex.toString()); - final _certsReceiver = await sdk.webView! + final certsReceiver = await sdk.webView! .evalJavascript('api.query.cert.storageIdtyCertMeta($idtyIndex)') ?? []; - return [_certsReceiver['receivedCount'], _certsReceiver['issuedCount']]; + return [certsReceiver['receivedCount'], certsReceiver['issuedCount']]; } Future getCertData(String from, String to) async { @@ -261,22 +259,22 @@ class SubstrateSdk with ChangeNotifier { final idtyIndexTo = await sdk.webView! .evalJavascript('api.query.identity.identityIndexOf("$to")'); - final _certData = await sdk.webView!.evalJavascript( + final certData = await sdk.webView!.evalJavascript( 'api.query.cert.storageCertsByIssuer($idtyIndexFrom, $idtyIndexTo)') ?? ''; - if (_certData == '') return {}; + if (certData == '') return {}; // log.d(_certData); - return _certData; + return certData; } Future hasAccountConsumers(String address) async { - final _accountInfo = await sdk.webView! + final accountInfo = await sdk.webView! .evalJavascript('api.query.system.account("$address")'); - final _consumers = _accountInfo['consumers']; + final consumers = accountInfo['consumers']; // log.d('Consumers: $_consumers'); - return _consumers == 0 ? false : true; + return consumers == 0 ? false : true; } Future getBalance(String address, {bool isUd = false}) async { @@ -295,8 +293,8 @@ class SubstrateSdk with ChangeNotifier { Future subscribeBalance(String address, {bool isUd = false}) async { double balance = 0.0; if (nodeConnected) { - await sdk.api.account.subscribeBalance(address, (_balance) { - balance = int.parse(_balance.freeBalance) / 100; + await sdk.api.account.subscribeBalance(address, (balanceData) { + balance = int.parse(balanceData.freeBalance) / 100; notifyListeners(); }); } @@ -316,21 +314,21 @@ class SubstrateSdk with ChangeNotifier { return await sdk.api.keyring.checkPassword(account, pass); } - Future getSeed(String address, String _pin) async { + Future getSeed(String address, String pin) async { final account = getKeypair(address); keyring.setCurrent(account); - final _seed = await sdk.api.keyring.getDecryptedSeed(keyring, _pin); + final seed = await sdk.api.keyring.getDecryptedSeed(keyring, pin); - String _seedText; - if (_seed == null) { - _seedText = ''; + String seedText; + if (seed == null) { + seedText = ''; } else { - _seedText = _seed.seed!.split('//')[0]; + seedText = seed.seed!.split('//')[0]; } - log.d(_seedText); - return _seedText; + log.d(seedText); + return seedText; } int getDerivationNumber(String address) { @@ -342,10 +340,10 @@ class SubstrateSdk with ChangeNotifier { Future changePassword(BuildContext context, String address, String passOld, String? passNew) async { final account = getKeypair(address); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); keyring.setCurrent(account); - _myWalletProvider.resetPinCode(); + myWalletProvider.resetPinCode(); return await sdk.api.keyring.changePassword(keyring, passOld, passNew); } @@ -372,14 +370,14 @@ class SubstrateSdk with ChangeNotifier { return gen.mnemonic!; } - Future setCurrentWallet(WalletData _wallet) async { + Future setCurrentWallet(WalletData wallet) async { final currentChestNumber = configBox.get('currentChest'); - ChestData _newChestData = chestBox.get(currentChestNumber)!; - _newChestData.defaultWallet = _wallet.number; - await chestBox.put(currentChestNumber, _newChestData); + ChestData newChestData = chestBox.get(currentChestNumber)!; + newChestData.defaultWallet = wallet.number; + await chestBox.put(currentChestNumber, newChestData); try { - final acc = getKeypair(_wallet.address!); + final acc = getKeypair(wallet.address!); keyring.setCurrent(acc); return acc.address!; } catch (e) { @@ -426,7 +424,7 @@ class SubstrateSdk with ChangeNotifier { [destAddress, amount == -1 ? false : amountUnit], password, onStatusChange: (status) { - log.d('Transaction status: ' + status); + log.d('Transaction status: $status'); transactionStatus = status; notifyListeners(); }, @@ -457,16 +455,16 @@ class SubstrateSdk with ChangeNotifier { transactionStatus = ''; // setCurrentWallet(fromAddress); - log.d('me: ' + fromAddress); - log.d('to: ' + toAddress); + log.d('me: $fromAddress'); + log.d('to: $toAddress'); - final _myIdtyStatus = await idtyStatus(fromAddress); - final _toIdtyStatus = await idtyStatus(toAddress); + final myIdtyStatus = await idtyStatus(fromAddress); + final toIdtyStatus = await idtyStatus(toAddress); - log.d(_myIdtyStatus); - log.d(_toIdtyStatus); + log.d(myIdtyStatus); + log.d(toIdtyStatus); - if (_myIdtyStatus != 'Validated') { + if (myIdtyStatus != 'Validated') { transactionStatus = 'notMember'; notifyListeners(); return 'notMember'; @@ -478,14 +476,14 @@ class SubstrateSdk with ChangeNotifier { ); TxInfoData txInfo; - if (_toIdtyStatus == 'noid') { + if (toIdtyStatus == 'noid') { txInfo = TxInfoData( 'identity', 'createIdentity', sender, ); - } else if (_toIdtyStatus == 'Validated' || - _toIdtyStatus == 'ConfirmedByOwner') { + } else if (toIdtyStatus == 'Validated' || + toIdtyStatus == 'ConfirmedByOwner') { txInfo = TxInfoData( 'cert', 'addCert', @@ -497,7 +495,7 @@ class SubstrateSdk with ChangeNotifier { return 'cantBeCert'; } - log.d('Cert action: ' + txInfo.call!); + log.d('Cert action: ${txInfo.call!}'); try { final hash = await sdk.api.tx @@ -543,9 +541,9 @@ class SubstrateSdk with ChangeNotifier { .evalJavascript('api.query.identity.identities($idtyIndex)'); if (idtyStatus != null) { - final String _status = idtyStatus['status']; + final String status = idtyStatus['status']; // log.d('Status $address: $_status'); - return (_status); + return (status); } else { return 'expired'; } @@ -555,7 +553,7 @@ class SubstrateSdk with ChangeNotifier { String fromAddress, String name, String password) async { // Confirm identity // setCurrentWallet(fromAddress); - log.d('me: ' + keyring.current.address!); + log.d('me: ${keyring.current.address!}'); final sender = TxSenderData( keyring.current.address, @@ -574,7 +572,7 @@ class SubstrateSdk with ChangeNotifier { [name], password, onStatusChange: (status) { - log.d('Transaction status: ' + status); + log.d('Transaction status: $status'); transactionStatus = status; notifyListeners(); }, @@ -601,7 +599,7 @@ class SubstrateSdk with ChangeNotifier { } } - Future isMember(String address) async { + Future isMemberGet(String address) async { return await idtyStatus(address) == 'Validated'; } @@ -609,13 +607,13 @@ class SubstrateSdk with ChangeNotifier { // TODOO: Continue digging memberAddress detection String memberAddress = ''; walletBox.toMap().forEach((key, value) async { - final bool _isMember = await isMember(value.address!); - log.d(_isMember); - if (_isMember) { + final bool isMember = await isMemberGet(value.address!); + log.d(isMember); + if (isMember) { final currentChestNumber = configBox.get('currentChest'); - ChestData _newChestData = chestBox.get(currentChestNumber)!; - _newChestData.memberWallet = value.number; - await chestBox.put(currentChestNumber, _newChestData); + ChestData newChestData = chestBox.get(currentChestNumber)!; + newChestData.memberWallet = value.number; + await chestBox.put(currentChestNumber, newChestData); memberAddress = value.address!; return; } @@ -625,39 +623,39 @@ class SubstrateSdk with ChangeNotifier { } Future> certState(String from, String to) async { - Map _result = {}; - if (from != to && await isMember(from)) { - final _certData = await getCertData(from, to); - final _certMeta = await getCertMeta(from); - final int _removableOn = _certData['removableOn'] ?? 0; - final int _nextIssuableOn = _certMeta['nextIssuableOn'] ?? 0; - final certRemovableDuration = (_removableOn - blocNumber) * 6; + Map result = {}; + if (from != to && await isMemberGet(from)) { + final certData = await getCertData(from, to); + final certMeta = await getCertMeta(from); + final int removableOn = certData['removableOn'] ?? 0; + final int nextIssuableOn = certMeta['nextIssuableOn'] ?? 0; + final certRemovableDuration = (removableOn - blocNumber) * 6; const int renewDelay = 2 * 30 * 24 * 3600; // 2 months if (certRemovableDuration >= renewDelay) { final certRenewDuration = certRemovableDuration - renewDelay; - _result.putIfAbsent('certRenewable', () => certRenewDuration); - } else if (_nextIssuableOn > blocNumber) { - final certDelayDuration = (_nextIssuableOn - blocNumber) * 6; - _result.putIfAbsent('certDelay', () => certDelayDuration); + result.putIfAbsent('certRenewable', () => certRenewDuration); + } else if (nextIssuableOn > blocNumber) { + final certDelayDuration = (nextIssuableOn - blocNumber) * 6; + result.putIfAbsent('certDelay', () => certDelayDuration); } else { - _result.putIfAbsent('canCert', () => 0); + result.putIfAbsent('canCert', () => 0); } } - return _result; + return result; } Future getCertMeta(String address) async { var idtyIndex = await sdk.webView! .evalJavascript('api.query.identity.identityIndexOf("$address")'); - final _certMeta = await sdk.webView! + final certMeta = await sdk.webView! .evalJavascript('api.query.cert.storageIdtyCertMeta($idtyIndex)') ?? ''; // if (_certMeta['nextIssuableOn'] != 0) return {}; // log.d(_certMeta); - return _certMeta; + return certMeta; } Future revokeIdentity(String address, String password) async { @@ -767,19 +765,19 @@ class AddressInfo { } void snackNode(BuildContext context, bool isConnected) { - String _message; + String message; if (!isConnected) { - _message = "noDuniterNodeAvailableTryLater".tr() + - ":\n${configBox.get('endpoint').first}"; + message = + "${"noDuniterNodeAvailableTryLater".tr()}:\n${configBox.get('endpoint').first}"; } else { - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); - _message = "youAreConnectedToNode".tr() + - "\n${_sub.getConnectedEndpoint()!.split('//')[1]}"; + message = + "${"youAreConnectedToNode".tr()}\n${sub.getConnectedEndpoint()!.split('//')[1]}"; } final snackBar = SnackBar( padding: const EdgeInsets.all(20), - content: Text(_message, style: const TextStyle(fontSize: 16)), + content: Text(message, style: const TextStyle(fontSize: 16)), duration: const Duration(seconds: 4)); ScaffoldMessenger.of(context).showSnackBar(snackBar); } diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart index 7aed64e..ecc32f7 100644 --- a/lib/providers/wallet_options.dart +++ b/lib/providers/wallet_options.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'dart:io'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; @@ -31,43 +33,43 @@ class WalletOptionsProvider with ChangeNotifier { Future? get badWallet => null; - int getPinLenght(_walletNbr) { + int getPinLenght(walletNbr) { return pinLength; } - void _renameWallet(List _walletID, String _newName, + void _renameWallet(List walletID, String newName, {required bool isCesium}) async { MyWalletsProvider myWalletClass = MyWalletsProvider(); - WalletData _walletTarget = myWalletClass.getWalletDataById(_walletID)!; - _walletTarget.name = _newName; - await walletBox.put(_walletTarget.key, _walletTarget); + WalletData walletTarget = myWalletClass.getWalletDataById(walletID)!; + walletTarget.name = newName; + await walletBox.put(walletTarget.key, walletTarget); _newWalletName.text = ''; } Future deleteWallet(context, WalletData wallet) async { - SubstrateSdk _sub = Provider.of(context, listen: false); - final bool? _answer = await (confirmPopup( + SubstrateSdk sub = Provider.of(context, listen: false); + final bool? answer = await (confirmPopup( context, 'areYouSureToForgetWallet'.tr(args: [wallet.name!]))); - if (_answer ?? false) { + if (answer ?? false) { //Check if balance is null - final _balance = await _sub.getBalance(wallet.address!); - if (_balance != 0) { - MyWalletsProvider _myWalletProvider = + final balance = await sub.getBalance(wallet.address!); + if (balance != 0) { + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); - final _defaultWallet = _myWalletProvider.getDefaultWallet(); - log.d(_defaultWallet.address); - _sub.pay( + final defaultWallet = myWalletProvider.getDefaultWallet(); + log.d(defaultWallet.address); + sub.pay( fromAddress: wallet.address!, - destAddress: _defaultWallet.address!, + destAddress: defaultWallet.address!, amount: -1, - password: _myWalletProvider.pinCode); + password: myWalletProvider.pinCode); } await walletBox.delete(wallet.key); - await _sub.deleteAccounts([wallet.address!]); + await sub.deleteAccounts([wallet.address!]); Navigator.pop(context); } @@ -130,11 +132,11 @@ class WalletOptionsProvider with ChangeNotifier { Widget idtyStatus(BuildContext context, String address, {bool isOwner = false, Color color = Colors.black}) { - DuniterIndexer _duniterIndexer = + DuniterIndexer duniterIndexer = Provider.of(context, listen: false); _showText(String text, - [double size = 18, bool _bold = false, bool smooth = true]) { + [double size = 18, bool bold = false, bool smooth = true]) { log.d(text); return AnimatedFadeOutIn( data: text, @@ -144,15 +146,15 @@ class WalletOptionsProvider with ChangeNotifier { textAlign: TextAlign.center, style: TextStyle( fontSize: size, - color: _bold ? color : Colors.black, - fontWeight: _bold ? FontWeight.w500 : FontWeight.w400), + color: bold ? color : Colors.black, + fontWeight: bold ? FontWeight.w500 : FontWeight.w400), ), ); } - return Consumer(builder: (context, _sub, _) { + return Consumer(builder: (context, sub, _) { return FutureBuilder( - future: _sub.idtyStatus(address), + future: sub.idtyStatus(address), initialData: '', builder: (context, snapshot) { switch (snapshot.data.toString()) { @@ -176,7 +178,7 @@ class WalletOptionsProvider with ChangeNotifier { { return isOwner ? _showText('identityConfirmed'.tr()) - : _duniterIndexer.getNameByAddress( + : duniterIndexer.getNameByAddress( context, address, null, @@ -191,7 +193,7 @@ class WalletOptionsProvider with ChangeNotifier { { return isOwner ? _showText('memberValidated'.tr(), 18, true) - : _duniterIndexer.getNameByAddress( + : duniterIndexer.getNameByAddress( context, address, null, @@ -215,16 +217,16 @@ class WalletOptionsProvider with ChangeNotifier { } Future isMember(BuildContext context, String address) async { - SubstrateSdk _sub = Provider.of(context, listen: false); - return await _sub.idtyStatus(address) == 'Validated'; + SubstrateSdk sub = Provider.of(context, listen: false); + return await sub.idtyStatus(address) == 'Validated'; } Future validateIdentity(BuildContext context) async { TextEditingController idtyName = TextEditingController(); - SubstrateSdk _sub = Provider.of(context, listen: false); - WalletOptionsProvider _walletOptions = + SubstrateSdk sub = Provider.of(context, listen: false); + WalletOptionsProvider walletOptions = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); return showDialog( @@ -259,7 +261,7 @@ class WalletOptionsProvider with ChangeNotifier { mainAxisAlignment: MainAxisAlignment.center, children: [ Consumer( - builder: (context, _wOptions, _) { + builder: (context, wOptions, _) { return TextButton( key: const Key('infoPopup'), child: Text( @@ -274,11 +276,11 @@ class WalletOptionsProvider with ChangeNotifier { onPressed: () async { if (idtyName.text.length >= 2) { WalletData? defaultWallet = - _myWalletProvider.getDefaultWallet(); + myWalletProvider.getDefaultWallet(); - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -287,12 +289,12 @@ class WalletOptionsProvider with ChangeNotifier { ), ); } - if (_pin != null || _myWalletProvider.pinCode != '') { - final _wallet = _myWalletProvider + if (pin != null || myWalletProvider.pinCode != '') { + final wallet = myWalletProvider .getWalletDataByAddress(address.text); - await _sub.setCurrentWallet(_wallet!); - _sub.confirmIdentity(_walletOptions.address.text, - idtyName.text, _myWalletProvider.pinCode); + await sub.setCurrentWallet(wallet!); + sub.confirmIdentity(walletOptions.address.text, + idtyName.text, myWalletProvider.pinCode); Navigator.pop(context); Navigator.push( @@ -316,7 +318,7 @@ class WalletOptionsProvider with ChangeNotifier { ); } - Future editWalletName(BuildContext context, List _wID) async { + Future editWalletName(BuildContext context, List wID) async { TextEditingController walletName = TextEditingController(); canValidateNameBool = false; @@ -348,7 +350,7 @@ class WalletOptionsProvider with ChangeNotifier { mainAxisAlignment: MainAxisAlignment.center, children: [ Consumer( - builder: (context, _wOptions, _) { + builder: (context, wOptions, _) { return TextButton( key: const Key('infoPopup'), child: Text( @@ -364,7 +366,7 @@ class WalletOptionsProvider with ChangeNotifier { onPressed: () async { if (canValidateNameBool) { nameController.text = walletName.text; - _renameWallet(_wID, walletName.text, isCesium: false); + _renameWallet(wID, walletName.text, isCesium: false); // notifyListeners(); Navigator.pop(context); } @@ -399,7 +401,7 @@ class WalletOptionsProvider with ChangeNotifier { } bool canValidateName(BuildContext context, TextEditingController walletName) { - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); bool isNameValid = walletName.text.length >= 2 && @@ -407,7 +409,7 @@ class WalletOptionsProvider with ChangeNotifier { walletName.text.length <= 39; if (isNameValid) { - for (var wallet in _myWalletProvider.listWallets) { + for (var wallet in myWalletProvider.listWallets) { if (walletName.text == wallet.name!) { canValidateNameBool = false; break; @@ -432,26 +434,22 @@ class WalletOptionsProvider with ChangeNotifier { } String? getAddress(int chest, int derivation) { - String? _address; + String? addressGet; walletBox.toMap().forEach((key, value) { if (value.chest == chest && value.derivation == derivation) { - _address = value.address!; + addressGet = value.address!; return; } }); - address.text = _address ?? ''; + address.text = addressGet ?? ''; - return _address; + return addressGet; } Widget walletNameController(BuildContext context, WalletData wallet, [double size = 20]) { - // WidgetsBinding.instance.addPostFrameCallback((_) { - log.d('aaaaaaaaaaaaaaaaaaaaa: ${wallet.name}'); nameController.text = wallet.name!; - // _walletOptions.reloadBuild(); - // }); return SizedBox( width: 260, @@ -527,39 +525,39 @@ class WalletOptionsProvider with ChangeNotifier { Map balanceCache = {}; Widget balance(BuildContext context, String address, double size, - [Color _color = Colors.black, - Color _loadingColor = const Color(0xffd07316)]) { + [Color color = Colors.black, + Color loadingColor = const Color(0xffd07316)]) { return Column(children: [ - Consumer(builder: (context, _sdk, _) { + Consumer(builder: (context, sdk, _) { return FutureBuilder( - future: _sdk.getBalance(address), - builder: (BuildContext context, AsyncSnapshot _balance) { - if (_balance.connectionState != ConnectionState.done || - _balance.hasError) { + future: sdk.getBalance(address), + builder: (BuildContext context, AsyncSnapshot balance) { + if (balance.connectionState != ConnectionState.done || + balance.hasError) { if (balanceCache[address] != null && balanceCache[address] != -1) { return Text( "${balanceCache[address]!.toString()} $currencyName", style: TextStyle( - fontSize: isTall ? size : size * 0.9, color: _color)); + fontSize: isTall ? size : size * 0.9, color: color)); } else { return SizedBox( height: 15, width: 15, child: CircularProgressIndicator( - color: _loadingColor, + color: loadingColor, strokeWidth: 2, ), ); } } - balanceCache[address] = _balance.data!; + balanceCache[address] = balance.data!; if (balanceCache[address] != -1) { return Text( "${balanceCache[address]!.toString()} $currencyName", style: TextStyle( fontSize: isTall ? size : size * 0.9, - color: _color, + color: color, ), ); } else { @@ -571,24 +569,24 @@ Widget balance(BuildContext context, String address, double size, } Widget getCerts(BuildContext context, String address, double size, - [Color _color = Colors.black]) { + [Color color = Colors.black]) { return Column(children: [ - Consumer(builder: (context, _sdk, _) { + Consumer(builder: (context, sdk, _) { return FutureBuilder( - future: _sdk.getCerts(address), - builder: (BuildContext context, AsyncSnapshot> _certs) { + future: sdk.getCerts(address), + builder: (BuildContext context, AsyncSnapshot> certs) { // log.d(_certs.data); - return _certs.data?[0] != 0 && _certs.data != null + return certs.data?[0] != 0 && certs.data != null ? Row( children: [ Image.asset('assets/medal.png', height: 20), const SizedBox(width: 1), - Text(_certs.data?[0].toString() ?? '0', + Text(certs.data?[0].toString() ?? '0', style: const TextStyle(fontSize: 20)), const SizedBox(width: 5), Text( - "(${_certs.data?[1].toString() ?? '0'})", + "(${certs.data?[1].toString() ?? '0'})", style: const TextStyle(fontSize: 14), ) ], diff --git a/lib/providers/wallets_profiles.dart b/lib/providers/wallets_profiles.dart index 49b412c..97226f4 100644 --- a/lib/providers/wallets_profiles.dart +++ b/lib/providers/wallets_profiles.dart @@ -100,8 +100,8 @@ class WalletsProfilesProvider with ChangeNotifier { notifyListeners(); } - String generateIdenticon(String _pubkey) { - return Jdenticon.toSvg(_pubkey); + String generateIdenticon(String pubkey) { + return Jdenticon.toSvg(pubkey); } // Future getBalance(String _pubkey) async { @@ -119,7 +119,7 @@ class WalletsProfilesProvider with ChangeNotifier { // return balance; // } - Future getBalance(String? _pubkey) async { + Future getBalance(String? pubkey) async { while (_balance == null) { await Future.delayed(const Duration(milliseconds: 50)); } @@ -128,19 +128,19 @@ class WalletsProfilesProvider with ChangeNotifier { } Widget headerProfileView( - BuildContext context, String _address, String? username) { - const double _avatarSize = 140; + BuildContext context, String address, String? username) { + const double avatarSize = 140; - WalletOptionsProvider _walletOptions = + WalletOptionsProvider walletOptions = Provider.of(context, listen: false); - CesiumPlusProvider _cesiumPlusProvider = + CesiumPlusProvider cesiumPlusProvider = Provider.of(context, listen: false); // SubstrateSdk _sub = Provider.of(context, listen: false); - bool isAccountExist = balanceCache[_address] != 0; + bool isAccountExist = balanceCache[address] != 0; return Stack(children: [ - Consumer(builder: (context, _sub, _) { + Consumer(builder: (context, sub, _) { return Container( height: 180, decoration: BoxDecoration( @@ -168,11 +168,11 @@ class WalletsProfilesProvider with ChangeNotifier { GestureDetector( key: const Key('copyPubkey'), onTap: () { - Clipboard.setData(ClipboardData(text: _address)); + Clipboard.setData(ClipboardData(text: address)); snackCopyKey(context); }, child: Text( - getShortPubkey(_address), + getShortPubkey(address), style: const TextStyle( fontSize: 30, fontWeight: FontWeight.w800, @@ -181,17 +181,17 @@ class WalletsProfilesProvider with ChangeNotifier { ), ]), const SizedBox(height: 25), - balance(context, _address, 22), + balance(context, address, 22), const SizedBox(height: 10), - _walletOptions.idtyStatus(context, _address, + walletOptions.idtyStatus(context, address, isOwner: false, color: Colors.black), - getCerts(context, _address, 14), + getCerts(context, address, 14), if (username == null && - g1WalletsBox.get(_address)?.username != null) + g1WalletsBox.get(address)?.username != null) SizedBox( width: 230, child: Text( - g1WalletsBox.get(_address)?.username ?? '', + g1WalletsBox.get(address)?.username ?? '', style: const TextStyle( fontSize: 27, color: Color(0xff814C00), @@ -214,7 +214,7 @@ class WalletsProfilesProvider with ChangeNotifier { const Spacer(), Column(children: [ ClipOval( - child: _cesiumPlusProvider.defaultAvatar(_avatarSize), + child: cesiumPlusProvider.defaultAvatar(avatarSize), ), const SizedBox(height: 25), ]), diff --git a/lib/screens/activity.dart b/lib/screens/activity.dart index f3c76ec..ebb0aed 100644 --- a/lib/screens/activity.dart +++ b/lib/screens/activity.dart @@ -30,9 +30,9 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - WalletsProfilesProvider _walletProfile = + WalletsProfilesProvider walletProfile = Provider.of(context, listen: false); - HomeProvider _homeProvider = + HomeProvider homeProvider = Provider.of(context, listen: false); return Scaffold( @@ -45,15 +45,15 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { child: Text('accountActivity'.tr()), ), ), - bottomNavigationBar: _homeProvider.bottomAppBar(context), + bottomNavigationBar: homeProvider.bottomAppBar(context), body: Column(children: [ - _walletProfile.headerProfileView(context, address!, username), + walletProfile.headerProfileView(context, address!, username), historyQuery(context), ])); } Widget historyQuery(context) { - DuniterIndexer _duniterIndexer = + DuniterIndexer duniterIndexer = Provider.of(context, listen: false); if (indexerEndpoint == '') { @@ -67,19 +67,19 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { ]); } - final _httpLink = HttpLink( + final httpLink = HttpLink( '$indexerEndpoint/v1beta1/relay', ); - final _client = ValueNotifier( + final client = ValueNotifier( GraphQLClient( cache: GraphQLCache(), - link: _httpLink, + link: httpLink, ), ); return GraphQLProvider( - client: _client, + client: client, child: Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.start, @@ -102,7 +102,7 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { } if (result.hasException) { - log.e('Error Indexer: ' + result.exception.toString()); + log.e('Error Indexer: ${result.exception}'); return Column(children: [ const SizedBox(height: 50), Text( @@ -124,7 +124,7 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { if (result.isNotLoading) { // log.d(result.data); - opts = _duniterIndexer.checkQueryResult(result, opts, address!); + opts = duniterIndexer.checkQueryResult(result, opts, address!); } // Build history list @@ -142,7 +142,7 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { if (t is ScrollEndNotification && scrollController.position.pixels >= scrollController.position.maxScrollExtent * 0.7 && - _duniterIndexer.pageInfo!['hasNextPage'] && + duniterIndexer.pageInfo!['hasNextPage'] && result.isNotLoading) { fetchMore!(opts!); } @@ -156,10 +156,10 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { } Widget historyView(context, result) { - DuniterIndexer _duniterIndexer = + DuniterIndexer duniterIndexer = Provider.of(context, listen: false); - return _duniterIndexer.transBC == null + return duniterIndexer.transBC == null ? Column(children: [ const SizedBox(height: 50), Text( @@ -168,16 +168,15 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { ) ]) : Column(children: [ - getTransactionTile(context, _duniterIndexer), - if (result.isLoading && - _duniterIndexer.pageInfo!['hasPreviousPage']) + getTransactionTile(context, duniterIndexer), + if (result.isLoading && duniterIndexer.pageInfo!['hasPreviousPage']) Row( mainAxisAlignment: MainAxisAlignment.center, children: const [ CircularProgressIndicator(), ], ), - if (!_duniterIndexer.pageInfo!['hasNextPage']) + if (!duniterIndexer.pageInfo!['hasNextPage']) Column( children: const [ SizedBox(height: 15), @@ -191,13 +190,13 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { } Widget getTransactionTile( - BuildContext context, DuniterIndexer _duniterIndexer) { - CesiumPlusProvider _cesiumPlusProvider = + BuildContext context, DuniterIndexer duniterIndexer) { + CesiumPlusProvider cesiumPlusProvider = Provider.of(context, listen: false); int keyID = 0; String? dateDelimiter; String? lastDateDelimiter; - const double _avatarSize = 200; + const double avatarSize = 200; bool isTody = false; bool isYesterday = false; @@ -219,7 +218,7 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { }; return Column( - children: _duniterIndexer.transBC!.map((repository) { + children: duniterIndexer.transBC!.map((repository) { // log.d('bbbbbbbbbbbbbbbbbbbbbb: ' + repository.toString()); DateTime now = DateTime.now(); @@ -291,7 +290,7 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { contentPadding: const EdgeInsets.only( left: 20, right: 30, top: 15, bottom: 15), leading: ClipOval( - child: _cesiumPlusProvider.defaultAvatar(_avatarSize), + child: cesiumPlusProvider.defaultAvatar(avatarSize), ), title: Padding( padding: const EdgeInsets.only(bottom: 5), @@ -334,7 +333,7 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier { dense: false, isThreeLine: false, onTap: () { - _duniterIndexer.nPage = 1; + duniterIndexer.nPage = 1; // _cesiumPlusProvider.avatarCancelToken.cancel('cancelled'); Navigator.push( context, diff --git a/lib/screens/animated_text.dart b/lib/screens/animated_text.dart index f62197a..22d7766 100644 --- a/lib/screens/animated_text.dart +++ b/lib/screens/animated_text.dart @@ -29,10 +29,10 @@ class AnimatedFadeOutIn extends StatefulWidget { }) : super(key: key); @override - _AnimatedFadeOutInState createState() => _AnimatedFadeOutInState(); + AnimatedFadeOutInState createState() => AnimatedFadeOutInState(); } -class _AnimatedFadeOutInState extends State> +class AnimatedFadeOutInState extends State> with SingleTickerProviderStateMixin { late AnimationController controller; late Animation animation; diff --git a/lib/screens/common_elements.dart b/lib/screens/common_elements.dart index eb94a3a..b104e67 100644 --- a/lib/screens/common_elements.dart +++ b/lib/screens/common_elements.dart @@ -131,6 +131,17 @@ class CommonElements { EdgeInsets padding, ) { return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.grey, + blurRadius: 4.0, + offset: Offset(2.0, 2.5), + spreadRadius: 0.5) + ], + ), child: ClipOval( child: Material( color: const Color(0xffFFD58D), // button color @@ -144,26 +155,15 @@ class CommonElements { }), ), ), - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.grey, - blurRadius: 4.0, - offset: Offset(2.0, 2.5), - spreadRadius: 0.5) - ], - ), ); } Widget offlineInfo(BuildContext context) { // SubstrateSdk _sub = Provider.of(context, listen: false); final double screenWidth = MediaQuery.of(context).size.width; - return Consumer(builder: (context, _sub, _) { + return Consumer(builder: (context, sub, _) { return Visibility( - visible: !_sub.nodeConnected, + visible: !sub.nodeConnected, child: Positioned( top: 0, child: Container( diff --git a/lib/screens/home.dart b/lib/screens/home.dart index fd453f3..c4d3c43 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:bubble/bubble.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -29,12 +31,12 @@ class HomeScreen extends StatelessWidget { Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); homeContext = context; - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context); Provider.of(context); - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); - final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); + final bool isWalletsExists = myWalletProvider.checkIfWalletExist(); isTall = false; ratio = 1; @@ -50,15 +52,15 @@ class HomeScreen extends StatelessWidget { Expanded( child: ListView(padding: EdgeInsets.zero, children: [ DrawerHeader( + decoration: BoxDecoration( + color: orangeC, + ), child: Column(children: const [ SizedBox(height: 0), Image( image: AssetImage('assets/icon/gecko_final.png'), height: 130), ]), - decoration: BoxDecoration( - color: orangeC, - ), ), ListTile( key: const Key('parameters'), @@ -106,12 +108,12 @@ class HomeScreen extends StatelessWidget { builder: (ctx) => StatefulWrapper( onInit: () { WidgetsBinding.instance.addPostFrameCallback((_) async { - DuniterIndexer _duniterIndexer = + DuniterIndexer duniterIndexer = Provider.of(ctx, listen: false); - _duniterIndexer.getValidIndexerEndpoint(); + duniterIndexer.getValidIndexerEndpoint(); - if (!_sub.sdkReady && !_sub.sdkLoading) await _sub.initApi(); - if (_sub.sdkReady && !_sub.nodeConnected) { + if (!sub.sdkReady && !sub.sdkLoading) await sub.initApi(); + if (sub.sdkReady && !sub.nodeConnected) { // Check if versionData non compatible, drop everything if (walletBox.isNotEmpty && walletBox.getAt(0)!.version! < dataVersion) { @@ -120,19 +122,19 @@ class HomeScreen extends StatelessWidget { await walletBox.clear(); await chestBox.clear(); await configBox.delete('defaultWallet'); - await _sub.deleteAllAccounts(); - _myWalletProvider.rebuildWidget(); + await sub.deleteAllAccounts(); + myWalletProvider.rebuildWidget(); } var connectivityResult = await (Connectivity().checkConnectivity()); - HomeProvider _homeProvider = + HomeProvider homeProvider = Provider.of(ctx, listen: false); if (connectivityResult != ConnectivityResult.mobile && connectivityResult != ConnectivityResult.wifi) { - _homeProvider.changeMessage( + homeProvider.changeMessage( "notConnectedToInternet".tr(), 0); - _sub.nodeConnected = false; + sub.nodeConnected = false; } Connectivity() @@ -140,13 +142,13 @@ class HomeScreen extends StatelessWidget { .listen((ConnectivityResult result) async { log.d('Network changed: $result'); if (result == ConnectivityResult.none) { - _sub.nodeConnected = false; - await _sub.sdk.api.setting.unsubscribeBestNumber(); - _homeProvider.changeMessage( + sub.nodeConnected = false; + await sub.sdk.api.setting.unsubscribeBestNumber(); + homeProvider.changeMessage( "notConnectedToInternet".tr(), 0); - _sub.reload(); + sub.reload(); } else { - await _sub.connectNode(ctx); + await sub.connectNode(ctx); } }); } @@ -182,10 +184,10 @@ class HomeScreen extends StatelessWidget { } Widget geckHome(context) { - MyWalletsProvider _myWalletProvider = Provider.of(context); + MyWalletsProvider myWalletProvider = Provider.of(context); Provider.of(context); - WalletsProfilesProvider _historyProvider = + WalletsProfilesProvider historyProvider = Provider.of(context); final double statusBarHeight = MediaQuery.of(context).padding.top; return Container( @@ -241,9 +243,9 @@ Widget geckHome(context) { ), ], ), - child: Consumer(builder: (context, _homeP, _) { + child: Consumer(builder: (context, homeP, _) { return AnimatedFadeOutIn( - data: _homeP.homeMessage, + data: homeP.homeMessage, duration: const Duration(milliseconds: 100), builder: (value) => Text(value), ); @@ -270,6 +272,16 @@ Widget geckHome(context) { Row(mainAxisAlignment: MainAxisAlignment.center, children: [ Column(children: [ Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.black, + boxShadow: [ + BoxShadow( + blurRadius: 2, + offset: Offset(1, 1.5), + spreadRadius: 0.5) + ], + ), child: ClipOval( child: Material( color: orangeC, // button color @@ -291,16 +303,6 @@ Widget geckHome(context) { }), ), ), - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.black, - boxShadow: [ - BoxShadow( - blurRadius: 2, - offset: Offset(1, 1.5), - spreadRadius: 0.5) - ], - ), ), const SizedBox(height: 12), Text( @@ -315,6 +317,16 @@ Widget geckHome(context) { const SizedBox(width: 120), Column(children: [ Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.black, + boxShadow: [ + BoxShadow( + blurRadius: 2, + offset: Offset(1, 1.5), + spreadRadius: 0.5) + ], + ), child: ClipOval( key: const Key('manageWallets'), child: Material( @@ -328,10 +340,10 @@ Widget geckHome(context) { height: 68 * ratio)), onTap: () async { WalletData? defaultWallet = - _myWalletProvider.getDefaultWallet(); - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + myWalletProvider.getDefaultWallet(); + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -341,8 +353,7 @@ Widget geckHome(context) { ), ); } - if (_pin != null || - _myWalletProvider.pinCode != '') { + if (pin != null || myWalletProvider.pinCode != '') { Navigator.push( context, MaterialPageRoute(builder: (context) { @@ -357,16 +368,6 @@ Widget geckHome(context) { }), ), ), - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.black, - boxShadow: [ - BoxShadow( - blurRadius: 2, - offset: Offset(1, 1.5), - spreadRadius: 0.5) - ], - ), ), const SizedBox(height: 12), Text( @@ -386,6 +387,16 @@ Widget geckHome(context) { children: [ Column(children: [ Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.black, + boxShadow: [ + BoxShadow( + blurRadius: 2, + offset: Offset(1, 1.5), + spreadRadius: 0.5) + ], + ), child: ClipOval( child: Material( color: orangeC, // button color @@ -397,20 +408,10 @@ Widget geckHome(context) { 'assets/home/qrcode.png'), height: 68 * ratio)), onTap: () async { - await _historyProvider.scan(context); + await historyProvider.scan(context); }), ), ), - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.black, - boxShadow: [ - BoxShadow( - blurRadius: 2, - offset: Offset(1, 1.5), - spreadRadius: 0.5) - ], - ), ), const SizedBox(height: 12), Text( diff --git a/lib/screens/myWallets/change_pin.dart b/lib/screens/myWallets/change_pin.dart index 3a867a3..26b3f4c 100644 --- a/lib/screens/myWallets/change_pin.dart +++ b/lib/screens/myWallets/change_pin.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:durt/durt.dart'; @@ -28,8 +30,8 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - SubstrateSdk _sub = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + SubstrateSdk sub = Provider.of(context, listen: false); + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); return WillPopScope( @@ -106,11 +108,11 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { ), onPressed: () async { WalletData defaultWallet = - _myWalletProvider.getDefaultWallet(); + myWalletProvider.getDefaultWallet(); - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -119,8 +121,8 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { ), ); } - if (_pin != null || _myWalletProvider.pinCode != '') { - await _sub.changePassword(context, defaultWallet.address!, + if (pin != null || myWalletProvider.pinCode != '') { + await sub.changePassword(context, defaultWallet.address!, walletProvider.pinCode, newPin.text); walletProvider.pinCode = newPin.text; newPin.text = ''; diff --git a/lib/screens/myWallets/chest_options.dart b/lib/screens/myWallets/chest_options.dart index e5c64f9..221aeda 100644 --- a/lib/screens/myWallets/chest_options.dart +++ b/lib/screens/myWallets/chest_options.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; @@ -23,9 +25,9 @@ class ChestOptions extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - ChestProvider _chestProvider = + ChestProvider chestProvider = Provider.of(context, listen: false); - HomeProvider _homeProvider = + HomeProvider homeProvider = Provider.of(context, listen: false); ChestData currentChest = chestBox.get(configBox.get('currentChest'))!; @@ -49,7 +51,7 @@ class ChestOptions extends StatelessWidget { height: 22, child: Text(currentChest.name!), )), - bottomNavigationBar: _homeProvider.bottomAppBar(context), + bottomNavigationBar: homeProvider.bottomAppBar(context), body: Stack(children: [ Builder( builder: (ctx) => SafeArea( @@ -58,12 +60,12 @@ class ChestOptions extends StatelessWidget { InkWell( key: const Key('showSeed'), onTap: () async { - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); WalletData? defaultWallet = - _myWalletProvider.getDefaultWallet(); - String? _pin; - _pin = await Navigator.push( + myWalletProvider.getDefaultWallet(); + String? pin; + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -72,7 +74,7 @@ class ChestOptions extends StatelessWidget { ), ); - if (_pin != null) { + if (pin != null) { Navigator.push( context, MaterialPageRoute(builder: (context) { @@ -104,10 +106,10 @@ class ChestOptions extends StatelessWidget { ), ), SizedBox(height: 10 * ratio), - Consumer(builder: (context, _sub, _) { + Consumer(builder: (context, sub, _) { return InkWell( key: const Key('changePin'), - onTap: _sub.nodeConnected + onTap: sub.nodeConnected ? () async { // await _chestProvider.changePin(context, cesiumWallet); String? pinResult = await Navigator.push( @@ -140,7 +142,7 @@ class ChestOptions extends StatelessWidget { 'changePassword'.tr(), style: TextStyle( fontSize: 20, - color: _sub.nodeConnected + color: sub.nodeConnected ? Colors.black : Colors.grey[500]), ), @@ -148,10 +150,10 @@ class ChestOptions extends StatelessWidget { ); }), SizedBox(height: 10 * ratio), - Consumer(builder: (context, _sub, _) { + Consumer(builder: (context, sub, _) { return InkWell( key: const Key('createRootDerivation'), - onTap: _sub.nodeConnected + onTap: sub.nodeConnected ? () async { await Navigator.push( context, @@ -176,7 +178,7 @@ class ChestOptions extends StatelessWidget { 'createDerivation'.tr(), style: TextStyle( fontSize: 20, - color: _sub.nodeConnected + color: sub.nodeConnected ? Colors.black : Colors.grey[500]), ), @@ -188,7 +190,7 @@ class ChestOptions extends StatelessWidget { InkWell( key: const Key('deleteChest'), onTap: () async { - await _chestProvider.deleteChest(context, currentChest); + await chestProvider.deleteChest(context, currentChest); }, child: SizedBox( height: 50, diff --git a/lib/screens/myWallets/choose_chest.dart b/lib/screens/myWallets/choose_chest.dart index c1c4fa5..a3d4bf9 100644 --- a/lib/screens/myWallets/choose_chest.dart +++ b/lib/screens/myWallets/choose_chest.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; @@ -29,7 +31,7 @@ class _ChooseChestState extends State { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context); return Scaffold( @@ -114,10 +116,10 @@ class _ChooseChestState extends State { ), onPressed: () async { await configBox.put('currentChest', currentChest); - _myWalletProvider.pinCode = ''; + myWalletProvider.pinCode = ''; WalletData? defaultWallet = - _myWalletProvider.getDefaultWallet(); - _myWalletProvider.rebuildWidget(); + myWalletProvider.getDefaultWallet(); + myWalletProvider.rebuildWidget(); await Navigator.push( context, @@ -131,7 +133,7 @@ class _ChooseChestState extends State { context, ModalRoute.withName('/'), ); - if (_myWalletProvider.pinCode != '') { + if (myWalletProvider.pinCode != '') { Navigator.push( context, MaterialPageRoute(builder: (context) { diff --git a/lib/screens/myWallets/choose_wallet.dart b/lib/screens/myWallets/choose_wallet.dart index f54d6d8..e4823a8 100644 --- a/lib/screens/myWallets/choose_wallet.dart +++ b/lib/screens/myWallets/choose_wallet.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'dart:io'; import 'package:easy_localization/easy_localization.dart'; @@ -22,7 +24,7 @@ class ChooseWalletScreen extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); final int chest = configBox.get('currentChest'); return Scaffold( @@ -50,10 +52,10 @@ class ChooseWalletScreen extends StatelessWidget { onPrimary: Colors.white, // foreground ), onPressed: () async { - await _sub.setCurrentWallet(selectedWallet!); + await sub.setCurrentWallet(selectedWallet!); // _walletViewProvider.reload(); - _sub.reload(); + sub.reload(); // Navigator.pop(context); Navigator.pop(context); @@ -73,21 +75,21 @@ class ChooseWalletScreen extends StatelessWidget { } Widget myWalletsTiles(BuildContext context, int? currentChest) { - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context); // SubstrateSdk _sub = Provider.of(context, listen: false); - final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); - WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); + final bool isWalletsExists = myWalletProvider.checkIfWalletExist(); + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); selectedWallet ??= defaultWallet; - _myWalletProvider.readAllWallets(currentChest); + myWalletProvider.readAllWallets(currentChest); if (!isWalletsExists) { return const Text(''); } - if (_myWalletProvider.listWallets.isEmpty) { + if (myWalletProvider.listWallets.isEmpty) { return Column(children: const [ Center( child: Text( @@ -97,7 +99,7 @@ class ChooseWalletScreen extends StatelessWidget { ]); } - List _listWallets = _myWalletProvider.listWallets; + List listWallets = myWalletProvider.listWallets; final double screenWidth = MediaQuery.of(context).size.width; int nTule = 2; @@ -116,13 +118,13 @@ class ChooseWalletScreen extends StatelessWidget { crossAxisSpacing: 0, mainAxisSpacing: 0, children: [ - for (WalletData _repository in _listWallets as Iterable) + for (WalletData repository in listWallets as Iterable) Padding( padding: const EdgeInsets.all(16), child: GestureDetector( onTap: () { - selectedWallet = _repository; - _myWalletProvider.rebuildWidget(); + selectedWallet = repository; + myWalletProvider.rebuildWidget(); }, child: ClipOvalShadow( shadow: const Shadow( @@ -147,9 +149,9 @@ class ChooseWalletScreen extends StatelessWidget { const Color(0xFFE7E7A6), ], )), - child: _repository.imageCustomPath == null + child: repository.imageCustomPath == null ? Image.asset( - 'assets/avatars/${_repository.imageDefaultPath}', + 'assets/avatars/${repository.imageDefaultPath}', alignment: Alignment.bottomCenter, scale: 0.5, ) @@ -162,14 +164,14 @@ class ChooseWalletScreen extends StatelessWidget { image: DecorationImage( fit: BoxFit.contain, image: FileImage( - File(_repository.imageCustomPath!), + File(repository.imageCustomPath!), ), ), ), ), )), - balanceBuilder(context, _repository.address!, - selectedWallet!.address == _repository.address!), + balanceBuilder(context, repository.address!, + selectedWallet!.address == repository.address!), ListTile( shape: const RoundedRectangleBorder( borderRadius: BorderRadius.vertical( @@ -177,7 +179,7 @@ class ChooseWalletScreen extends StatelessWidget { ), ), tileColor: - _repository.address == selectedWallet!.address + repository.address == selectedWallet!.address ? orangeC : const Color(0xffFFD58D), title: Center( @@ -185,11 +187,11 @@ class ChooseWalletScreen extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 5), child: Text( - _repository.name!, + repository.name!, textAlign: TextAlign.center, style: TextStyle( fontSize: 17.0, - color: _repository.address == + color: repository.address == selectedWallet!.address ? const Color(0xffF9F9F1) : Colors.black, @@ -198,8 +200,8 @@ class ChooseWalletScreen extends StatelessWidget { ), ), onTap: () async { - selectedWallet = _repository; - _myWalletProvider.rebuildWidget(); + selectedWallet = repository; + myWalletProvider.rebuildWidget(); }, ) ]), @@ -210,7 +212,7 @@ class ChooseWalletScreen extends StatelessWidget { ]); } - Widget balanceBuilder(context, String _address, bool isDefault) { + Widget balanceBuilder(context, String address, bool isDefault) { return Container( width: double.infinity, color: isDefault ? orangeC : yellowC, @@ -223,8 +225,7 @@ class ChooseWalletScreen extends StatelessWidget { // textAlign: TextAlign.center, // style: TextStyle(color: isDefault ? Colors.white : Colors.black), // ), - balance( - context, _address, 15, isDefault ? Colors.white : Colors.black) + balance(context, address, 15, isDefault ? Colors.white : Colors.black) ]), ), ); diff --git a/lib/screens/myWallets/custom_derivations.dart b/lib/screens/myWallets/custom_derivations.dart index a4d1623..a5d264d 100644 --- a/lib/screens/myWallets/custom_derivations.dart +++ b/lib/screens/myWallets/custom_derivations.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; @@ -26,7 +28,7 @@ class _CustomDerivationState extends State { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); final derivationList = [ @@ -34,11 +36,11 @@ class _CustomDerivationState extends State { for (var i = 0; i < 51; i += 1) i.toString() ]; - final listWallets = _myWalletProvider.readAllWallets(); + final listWallets = myWalletProvider.readAllWallets(); - for (WalletData _wallet in listWallets) { - derivationList.remove(_wallet.derivation.toString()); - if (_wallet.derivation == -1) { + for (WalletData wallet in listWallets) { + derivationList.remove(wallet.derivation.toString()); + if (wallet.derivation == -1) { derivationList.remove('root'); } } @@ -111,10 +113,10 @@ class _CustomDerivationState extends State { ), onPressed: () async { WalletData? defaultWallet = - _myWalletProvider.getDefaultWallet(); - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + myWalletProvider.getDefaultWallet(); + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -124,16 +126,16 @@ class _CustomDerivationState extends State { ); } - if (_pin != null || _myWalletProvider.pinCode != '') { - String _newDerivationName = 'wallet'.tr() + - ' ${_myWalletProvider.listWallets.last.number! + 2}'; + if (pin != null || myWalletProvider.pinCode != '') { + String newDerivationName = + '${'wallet'.tr()} ${myWalletProvider.listWallets.last.number! + 2}'; if (dropdownValue == 'root') { - await _myWalletProvider.generateRootWallet( + await myWalletProvider.generateRootWallet( context, 'Portefeuille racine'); } else { - await _myWalletProvider.generateNewDerivation( + await myWalletProvider.generateNewDerivation( context, - _newDerivationName, + newDerivationName, int.parse(dropdownValue!), ); } diff --git a/lib/screens/myWallets/restore_chest.dart b/lib/screens/myWallets/restore_chest.dart index 52ff118..ddd414b 100644 --- a/lib/screens/myWallets/restore_chest.dart +++ b/lib/screens/myWallets/restore_chest.dart @@ -21,7 +21,7 @@ class RestoreChest extends StatelessWidget { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); GenerateWalletsProvider genW = Provider.of(context, listen: false); - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); genW.actualWallet = null; if (genW.isSentenceComplete(context)) { @@ -96,7 +96,7 @@ class RestoreChest extends StatelessWidget { onPrimary: Colors.white, // foreground ), onPressed: () async { - if (await _sub.isMnemonicValid(genW.generatedMnemonic!)) { + if (await sub.isMnemonicValid(genW.generatedMnemonic!)) { genW.resetImportView(); await Navigator.push( context, @@ -184,6 +184,12 @@ class RestoreChest extends StatelessWidget { return Container( width: 102, height: 40 * ratio, + // ), + decoration: BoxDecoration( + border: Border.all(color: Colors.grey), + color: Colors.white, + borderRadius: BorderRadius.circular(3), + ), // child: RawKeyboardListener( // focusNode: FocusNode(), // or FocusNode() // onKey: (event) { @@ -210,12 +216,6 @@ class RestoreChest extends StatelessWidget { textAlign: TextAlign.center, style: const TextStyle(fontSize: 20), ), - // ), - decoration: BoxDecoration( - border: Border.all(color: Colors.grey), - color: Colors.white, - borderRadius: BorderRadius.circular(3), - ), ); } diff --git a/lib/screens/myWallets/show_seed.dart b/lib/screens/myWallets/show_seed.dart index 7c82552..b30b463 100644 --- a/lib/screens/myWallets/show_seed.dart +++ b/lib/screens/myWallets/show_seed.dart @@ -24,13 +24,13 @@ class ShowSeed extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); CommonElements common = CommonElements(); - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); - WalletData defaultWallet = _myWalletProvider.getDefaultWallet(); + WalletData defaultWallet = myWalletProvider.getDefaultWallet(); return Scaffold( backgroundColor: backgroundColor, @@ -44,11 +44,11 @@ class ShowSeed extends StatelessWidget { child: Column(children: [ const Spacer(flex: 1), FutureBuilder( - future: _sub.getSeed( - defaultWallet.address!, walletProvider.pinCode), - builder: (BuildContext context, AsyncSnapshot _seed) { - if (_seed.connectionState != ConnectionState.done || - _seed.hasError) { + future: + sub.getSeed(defaultWallet.address!, walletProvider.pinCode), + builder: (BuildContext context, AsyncSnapshot seed) { + if (seed.connectionState != ConnectionState.done || + seed.hasError) { return SizedBox( height: 15, width: 15, @@ -57,7 +57,7 @@ class ShowSeed extends StatelessWidget { strokeWidth: 2, ), ); - } else if (!_seed.hasData) { + } else if (!seed.hasData) { return const Text(''); } @@ -67,7 +67,7 @@ class ShowSeed extends StatelessWidget { Column(children: [ common.buildText('keepYourMnemonicSecret'.tr()), SizedBox(height: 35 * ratio), - sentanceArray(context, _seed.data!.split(' ')), + sentanceArray(context, seed.data!.split(' ')), const SizedBox(height: 20), SizedBox( height: 40, @@ -82,7 +82,7 @@ class ShowSeed extends StatelessWidget { ), onPressed: () { Clipboard.setData( - ClipboardData(text: _seed.data)); + ClipboardData(text: seed.data)); snackCopyKey(context); }, child: Row(children: [ @@ -105,7 +105,7 @@ class ShowSeed extends StatelessWidget { Navigator.push( context, MaterialPageRoute(builder: (context) { - return PrintWallet(_seed.data); + return PrintWallet(seed.data); }), ); }, @@ -152,7 +152,7 @@ class ShowSeed extends StatelessWidget { ScaffoldMessenger.of(context).showSnackBar(snackBar); } - Widget sentanceArray(BuildContext context, List _mnemonic) { + Widget sentanceArray(BuildContext context, List mnemonic) { return Padding( padding: const EdgeInsets.symmetric(horizontal: 3), child: Container( @@ -170,24 +170,24 @@ class ShowSeed extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ Row(children: [ - arrayCell(_mnemonic[0], 1), - arrayCell(_mnemonic[1], 2), - arrayCell(_mnemonic[2], 3), - arrayCell(_mnemonic[3], 4), + arrayCell(mnemonic[0], 1), + arrayCell(mnemonic[1], 2), + arrayCell(mnemonic[2], 3), + arrayCell(mnemonic[3], 4), ]), const SizedBox(height: 15), Row(children: [ - arrayCell(_mnemonic[4], 5), - arrayCell(_mnemonic[5], 6), - arrayCell(_mnemonic[6], 7), - arrayCell(_mnemonic[7], 8), + arrayCell(mnemonic[4], 5), + arrayCell(mnemonic[5], 6), + arrayCell(mnemonic[6], 7), + arrayCell(mnemonic[7], 8), ]), const SizedBox(height: 15), Row(children: [ - arrayCell(_mnemonic[8], 9), - arrayCell(_mnemonic[9], 10), - arrayCell(_mnemonic[10], 11), - arrayCell(_mnemonic[11], 12), + arrayCell(mnemonic[8], 9), + arrayCell(mnemonic[9], 10), + arrayCell(mnemonic[10], 11), + arrayCell(mnemonic[11], 12), ]), ])), ); @@ -249,26 +249,26 @@ class PrintWallet extends StatelessWidget { ); } - Future printWallet(String _seed) async { + Future printWallet(String seed) async { final ByteData fontData = await rootBundle.load("assets/OpenSans-Regular.ttf"); final pw.Font ttf = pw.Font.ttf(fontData.buffer.asByteData()); final pdf = pw.Document(); int nbr = 1; - final _seedList = _seed.split(' '); + final seedList = seed.split(' '); // const imageProvider = AssetImage('assets/icon/gecko_final.png'); // final geckoLogo = await flutterImageProvider(imageProvider); - pw.Widget arrayCell(String dataWord, int _nbr) { + pw.Widget arrayCell(String dataWord, int nbr) { nbr++; return pw.SizedBox( width: 120, child: pw.Column(children: [ pw.Text( - _nbr.toString(), + nbr.toString(), style: pw.TextStyle( fontSize: 15, color: const PdfColor(0.5, 0, 0), font: ttf), ), @@ -292,22 +292,22 @@ class PrintWallet extends StatelessWidget { // crossAxisAlignment: pw.CrossAxisAlignment.center, children: [ pw.Row(children: [ - arrayCell(_seedList[0], nbr), - arrayCell(_seedList[1], nbr), - arrayCell(_seedList[2], nbr), - arrayCell(_seedList[3], nbr), + arrayCell(seedList[0], nbr), + arrayCell(seedList[1], nbr), + arrayCell(seedList[2], nbr), + arrayCell(seedList[3], nbr), ]), pw.Row(children: [ - arrayCell(_seedList[4], nbr), - arrayCell(_seedList[5], nbr), - arrayCell(_seedList[6], nbr), - arrayCell(_seedList[7], nbr), + arrayCell(seedList[4], nbr), + arrayCell(seedList[5], nbr), + arrayCell(seedList[6], nbr), + arrayCell(seedList[7], nbr), ]), pw.Row(children: [ - arrayCell(_seedList[8], nbr), - arrayCell(_seedList[9], nbr), - arrayCell(_seedList[10], nbr), - arrayCell(_seedList[11], nbr) + arrayCell(seedList[8], nbr), + arrayCell(seedList[9], nbr), + arrayCell(seedList[10], nbr), + arrayCell(seedList[11], nbr) ]), pw.Expanded( child: pw.Align( diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index 364f8aa..7b84eff 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -1,5 +1,3 @@ -// ignore_for_file: avoid_print - import 'dart:async'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; @@ -32,14 +30,14 @@ class UnlockingWallet extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - WalletOptionsProvider _walletOptions = + WalletOptionsProvider walletOptions = Provider.of(context); // final double statusBarHeight = MediaQuery.of(context).padding.top; currentChestNumber = configBox.get('currentChest'); currentChest = chestBox.get(currentChestNumber)!; - int _pinLenght = _walletOptions.getPinLenght(wallet!.number); + int pinLenght = walletOptions.getPinLenght(wallet!.number); errorController = StreamController(); return Scaffold( @@ -101,12 +99,12 @@ class UnlockingWallet extends StatelessWidget { fontWeight: FontWeight.w400), )), SizedBox(height: 40 * ratio), - pinForm(context, _pinLenght), + pinForm(context, pinLenght), SizedBox(height: 3 * ratio), if (canUnlock) InkWell( onTap: () { - _walletOptions.changePinCacheChoice(); + walletOptions.changePinCacheChoice(); }, child: Row(children: [ const SizedBox(height: 30), @@ -157,20 +155,20 @@ class UnlockingWallet extends StatelessWidget { )); } - Widget pinForm(context, _pinLenght) { + Widget pinForm(context, pinLenght) { // var _walletPin = ''; // ignore: close_sinks StreamController errorController = StreamController(); - TextEditingController _enterPin = TextEditingController(); - WalletOptionsProvider _walletOptions = + TextEditingController enterPin = TextEditingController(); + WalletOptionsProvider walletOptions = Provider.of(context); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context); - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); FocusNode pinFocus = FocusNode(); - WalletData defaultWallet = _myWalletProvider.getDefaultWallet(); + WalletData defaultWallet = myWalletProvider.getDefaultWallet(); // defaultWallet.address = null; if (defaultWallet.address == null) { @@ -195,14 +193,13 @@ class UnlockingWallet extends StatelessWidget { color: Colors.green.shade600, fontWeight: FontWeight.bold, ), - length: _pinLenght, + length: pinLenght, obscureText: true, obscuringCharacter: '*', animationType: AnimationType.fade, validator: (v) { - if (v!.length < _pinLenght) { - return "yourPasswordLengthIsX" - .tr(args: [_pinLenght.toString()]); + if (v!.length < pinLenght) { + return "yourPasswordLengthIsX".tr(args: [pinLenght.toString()]); } else { return null; } @@ -222,7 +219,7 @@ class UnlockingWallet extends StatelessWidget { backgroundColor: const Color(0xffF9F9F1), enableActiveFill: false, errorAnimationController: errorController, - controller: _enterPin, + controller: enterPin, keyboardType: TextInputType.visiblePassword, boxShadows: const [ BoxShadow( @@ -231,23 +228,23 @@ class UnlockingWallet extends StatelessWidget { blurRadius: 10, ) ], - onCompleted: (_pin) async { - _myWalletProvider.pinCode = _pin.toUpperCase(); - final isValid = await _sub.checkPassword( - defaultWallet.address!, _pin.toUpperCase()); + onCompleted: (pin) async { + myWalletProvider.pinCode = pin.toUpperCase(); + final isValid = await sub.checkPassword( + defaultWallet.address!, pin.toUpperCase()); if (!isValid) { await Future.delayed(const Duration(milliseconds: 50)); errorController.add(ErrorAnimationType .shake); // Triggering error shake animation pinColor = Colors.red[600]; - _myWalletProvider.pinCode = _myWalletProvider.mnemonic = ''; - _walletOptions.reloadBuild(); + myWalletProvider.pinCode = myWalletProvider.mnemonic = ''; + walletOptions.reloadBuild(); pinFocus.requestFocus(); } else { pinColor = Colors.green[400]; - _myWalletProvider.resetPinCode(); - Navigator.pop(context, _pin.toUpperCase()); + myWalletProvider.resetPinCode(); + Navigator.pop(context, pin.toUpperCase()); } }, onChanged: (value) { diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index 768fe62..c038376 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -26,30 +26,30 @@ class WalletOptions extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - WalletOptionsProvider _walletOptions = + WalletOptionsProvider walletOptions = Provider.of(context, listen: false); - WalletsProfilesProvider _historyProvider = + WalletsProfilesProvider historyProvider = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); - HomeProvider _homeProvider = + HomeProvider homeProvider = Provider.of(context, listen: false); - DuniterIndexer _duniterIndexer = + DuniterIndexer duniterIndexer = Provider.of(context, listen: false); - log.d(_walletOptions.address.text); + log.d(walletOptions.address.text); - final int _currentChest = _myWalletProvider.getCurrentChest(); + final int currentChest = myWalletProvider.getCurrentChest(); // final currentWallet = _myWalletProvider.getDefaultWallet(); // log.d(_walletOptions.getAddress(_currentChest, 3)); - log.d("Wallet options: $_currentChest:${wallet.derivation}"); + log.d("Wallet options: $currentChest:${wallet.derivation}"); return WillPopScope( onWillPop: () { - _walletOptions.isEditing = false; - _walletOptions.isBalanceBlur = false; - _myWalletProvider.rebuildWidget(); + walletOptions.isEditing = false; + walletOptions.isBalanceBlur = false; + myWalletProvider.rebuildWidget(); Navigator.pop(context); return Future.value(true); }, @@ -62,9 +62,9 @@ class WalletOptions extends StatelessWidget { leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { - _walletOptions.isEditing = false; - _walletOptions.isBalanceBlur = false; - _myWalletProvider.rebuildWidget(); + walletOptions.isEditing = false; + walletOptions.isBalanceBlur = false; + myWalletProvider.rebuildWidget(); Navigator.pop(context); }), title: SizedBox( @@ -81,20 +81,20 @@ class WalletOptions extends StatelessWidget { context, MaterialPageRoute(builder: (context) { return QrCodeFullscreen( - _walletOptions.address.text, + walletOptions.address.text, ); }), ); }, child: QrImageWidget( - data: _walletOptions.address.text, + data: walletOptions.address.text, version: QrVersions.auto, size: 80, ), ), ], ), - bottomNavigationBar: _homeProvider.bottomAppBar(context), + bottomNavigationBar: homeProvider.bottomAppBar(context), body: Stack(children: [ Builder( builder: (ctx) => SafeArea( @@ -124,7 +124,7 @@ class WalletOptions extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - _duniterIndexer.getNameByAddress( + duniterIndexer.getNameByAddress( context, walletProvider.address.text, wallet, @@ -143,8 +143,8 @@ class WalletOptions extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ - _walletOptions.idtyStatus( - context, _walletOptions.address.text, + walletOptions.idtyStatus( + context, walletOptions.address.text, isOwner: true, color: orangeC), getCerts(context, walletProvider.address.text, 15), @@ -184,34 +184,34 @@ class WalletOptions extends StatelessWidget { pubkeyWidget(walletProvider, ctx), SizedBox(height: 10 * ratio), activityWidget( - context, _historyProvider, walletProvider), + context, historyProvider, walletProvider), SizedBox(height: 12 * ratio), setDefaultWalletWidget( context, walletProvider, - _myWalletProvider, - _walletOptions, - _currentChest), + myWalletProvider, + walletOptions, + currentChest), SizedBox(height: 17 * ratio), // walletProvider.isMember(context, _walletOptions.address.text) FutureBuilder( future: walletProvider.isMember( - context, _walletOptions.address.text), + context, walletOptions.address.text), builder: (BuildContext context, - AsyncSnapshot _isMember) { - if (_isMember.connectionState != + AsyncSnapshot isMember) { + if (isMember.connectionState != ConnectionState.done || - _isMember.hasError) { + isMember.hasError) { return const Text(''); } return Column(children: [ if (!walletProvider.isDefaultWallet && - !_isMember.data!) + !isMember.data!) deleteWallet(context, walletProvider, - _currentChest) + currentChest) else const SizedBox(), - if (_isMember.data!) + if (isMember.data!) manageMemberStatus(context) ]); }), @@ -234,9 +234,9 @@ class WalletOptions extends StatelessWidget { children: [ InkWell( onTap: () async { - final _newPath = await (walletProvider.changeAvatar()); - if (_newPath != '') { - wallet.imageCustomPath = _newPath; + final newPath = await (walletProvider.changeAvatar()); + if (newPath != '') { + wallet.imageCustomPath = newPath; walletBox.put(wallet.key, wallet); } walletProvider.reloadBuild(); @@ -339,7 +339,7 @@ class WalletOptions extends StatelessWidget { Widget activityWidget( BuildContext context, - WalletsProfilesProvider _historyProvider, + WalletsProfilesProvider historyProvider, WalletOptionsProvider walletProvider) { return InkWell( key: const Key('displayActivity'), @@ -380,7 +380,7 @@ class WalletOptions extends StatelessWidget { } Widget manageMemberStatus(BuildContext context) { - WalletOptionsProvider _walletOptions = + WalletOptionsProvider walletOptions = Provider.of(context, listen: false); return InkWell( key: const Key('manageStatus'), @@ -389,7 +389,7 @@ class WalletOptions extends StatelessWidget { context, MaterialPageRoute(builder: (context) { return ManageMembership( - address: _walletOptions.address.text, + address: walletOptions.address.text, ); }), ); @@ -412,18 +412,17 @@ class WalletOptions extends StatelessWidget { Widget setDefaultWalletWidget( BuildContext context, WalletOptionsProvider walletProvider, - MyWalletsProvider _myWalletProvider, - WalletOptionsProvider _walletOptions, - int _currentChest) { - return Consumer( - builder: (context, _myWalletProvider, _) { - WalletData defaultWallet = _myWalletProvider.getDefaultWallet(); - _walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id()[1]); + MyWalletsProvider myWalletProvider, + WalletOptionsProvider walletOptions, + int currentChest) { + return Consumer(builder: (context, myWalletProvider, _) { + WalletData defaultWallet = myWalletProvider.getDefaultWallet(); + walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id()[1]); return InkWell( key: const Key('setDefaultWallet'), onTap: !walletProvider.isDefaultWallet ? () async { - await setDefaultWallet(context, _currentChest); + await setDefaultWallet(context, currentChest); } : null, child: SizedBox( @@ -454,50 +453,50 @@ class WalletOptions extends StatelessWidget { }); } - Future setDefaultWallet(BuildContext context, int _currentChest) async { - SubstrateSdk _sub = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + Future setDefaultWallet(BuildContext context, int currentChest) async { + SubstrateSdk sub = Provider.of(context, listen: false); + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); // WalletData defaultWallet = _myWalletProvider.getDefaultWallet()!; // defaultWallet = wallet; - await _sub.setCurrentWallet(wallet); - _myWalletProvider.readAllWallets(_currentChest); - _myWalletProvider.rebuildWidget(); + await sub.setCurrentWallet(wallet); + myWalletProvider.readAllWallets(currentChest); + myWalletProvider.rebuildWidget(); } Widget deleteWallet(BuildContext context, - WalletOptionsProvider walletProvider, int _currentChest) { - SubstrateSdk _sub = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + WalletOptionsProvider walletProvider, int currentChest) { + SubstrateSdk sub = Provider.of(context, listen: false); + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); - final _defaultWallet = _myWalletProvider.getDefaultWallet(); + final defaultWallet = myWalletProvider.getDefaultWallet(); final bool isDefaultWallet = - walletProvider.address.text == _defaultWallet.address; + walletProvider.address.text == defaultWallet.address; // return Consumer( // builder: (context, _myWalletProvider, _) { return FutureBuilder( - future: _sub.hasAccountConsumers(wallet.address!), - builder: (BuildContext context, AsyncSnapshot _hasConsumers) { - if (_hasConsumers.connectionState != ConnectionState.done || - _hasConsumers.hasError) { + future: sub.hasAccountConsumers(wallet.address!), + builder: (BuildContext context, AsyncSnapshot hasConsumers) { + if (hasConsumers.connectionState != ConnectionState.done || + hasConsumers.hasError) { return const Text(''); } - final double _balance = + final double balance = balanceCache[walletProvider.address.text] ?? -1; final bool canDelete = !isDefaultWallet && - !_hasConsumers.data! && - (_balance > 2 || _balance == 0); + !hasConsumers.data! && + (balance > 2 || balance == 0); return InkWell( key: const Key('deleteWallet'), onTap: canDelete ? () async { await walletProvider.deleteWallet(context, wallet); WidgetsBinding.instance.addPostFrameCallback((_) { - _myWalletProvider.listWallets = - _myWalletProvider.readAllWallets(_currentChest); - _myWalletProvider.rebuildWidget(); + myWalletProvider.listWallets = + myWalletProvider.readAllWallets(currentChest); + myWalletProvider.rebuildWidget(); }); } : null, diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index e6d4b3c..6fcd74f 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -26,13 +26,13 @@ class WalletsHome extends StatelessWidget { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); MyWalletsProvider myWalletProvider = Provider.of(context); - HomeProvider _homeProvider = + HomeProvider homeProvider = Provider.of(context, listen: false); - final int? _currentChestNumber = myWalletProvider.getCurrentChest(); - final ChestData _currentChest = chestBox.get(_currentChestNumber)!; + final int currentChestNumber = myWalletProvider.getCurrentChest(); + final ChestData currentChest = chestBox.get(currentChestNumber)!; myWalletProvider.listWallets = - myWalletProvider.readAllWallets(_currentChestNumber); + myWalletProvider.readAllWallets(currentChestNumber); return WillPopScope( onWillPop: () { @@ -57,16 +57,16 @@ class WalletsHome extends StatelessWidget { ModalRoute.withName('/'), ); }), - title: Text(_currentChest.name!, + title: Text(currentChest.name!, key: const Key('myWallets'), style: TextStyle(color: Colors.grey[850])), backgroundColor: const Color(0xffFFD58D), ), - bottomNavigationBar: _homeProvider.bottomAppBar(context), + bottomNavigationBar: homeProvider.bottomAppBar(context), body: SafeArea( child: Stack( children: [ - myWalletsTiles(context, _currentChestNumber!), + myWalletsTiles(context, currentChestNumber), CommonElements().offlineInfo(context), ], ), @@ -76,7 +76,7 @@ class WalletsHome extends StatelessWidget { } Widget chestOptions( - BuildContext context, MyWalletsProvider _myWalletProvider) { + BuildContext context, MyWalletsProvider myWalletProvider) { return Column(children: [ const SizedBox(height: 50), SizedBox( @@ -95,11 +95,11 @@ class WalletsHome extends StatelessWidget { onPressed: () => Navigator.push( context, MaterialPageRoute(builder: (context) { - return ChestOptions(walletProvider: _myWalletProvider); + return ChestOptions(walletProvider: myWalletProvider); }), ), label: Text( - " " + "manageChest".tr(), + " ${"manageChest".tr()}", style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w700, @@ -133,18 +133,18 @@ class WalletsHome extends StatelessWidget { ]); } - Widget myWalletsTiles(BuildContext context, int _currentChestNumber) { - MyWalletsProvider _myWalletProvider = + Widget myWalletsTiles(BuildContext context, int currentChestNumber) { + MyWalletsProvider myWalletProvider = Provider.of(context); - WalletOptionsProvider _walletOptions = + WalletOptionsProvider walletOptions = Provider.of(context, listen: false); - final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); + final bool isWalletsExists = myWalletProvider.checkIfWalletExist(); if (!isWalletsExists) { return const Text(''); } - if (_myWalletProvider.listWallets.isEmpty) { + if (myWalletProvider.listWallets.isEmpty) { return Expanded( child: Column(children: const [ Center( @@ -155,8 +155,8 @@ class WalletsHome extends StatelessWidget { ])); } - List _listWallets = _myWalletProvider.listWallets; - WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); + List listWallets = myWalletProvider.listWallets; + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); final double screenWidth = MediaQuery.of(context).size.width; int nTule = 2; @@ -176,18 +176,18 @@ class WalletsHome extends StatelessWidget { crossAxisSpacing: 0, mainAxisSpacing: 0, children: [ - for (WalletData _repository in _listWallets as Iterable) + for (WalletData repository in listWallets as Iterable) Padding( padding: const EdgeInsets.all(16), child: GestureDetector( onTap: () { - _walletOptions.getAddress( - _currentChestNumber, _repository.derivation!); + walletOptions.getAddress( + currentChestNumber, repository.derivation!); Navigator.push( context, SmoothTransition( page: WalletOptions( - wallet: _repository, + wallet: repository, ), ), ); @@ -218,10 +218,10 @@ class WalletsHome extends StatelessWidget { child: // SvgPicture.asset('assets/chopp-gecko2.png', // semanticsLabel: 'Gecko', height: 48), - _repository.imageCustomPath == null || - _repository.imageCustomPath == '' + repository.imageCustomPath == null || + repository.imageCustomPath == '' ? Image.asset( - 'assets/avatars/${_repository.imageDefaultPath}', + 'assets/avatars/${repository.imageDefaultPath}', alignment: Alignment.bottomCenter, scale: 0.5, ) @@ -232,25 +232,24 @@ class WalletsHome extends StatelessWidget { image: DecorationImage( fit: BoxFit.fitHeight, image: FileImage( - File( - _repository.imageCustomPath!), + File(repository.imageCustomPath!), ), ), ), ), )), Stack(children: [ - balanceBuilder(context, _repository.address!, - _repository.address == defaultWallet.address), - nameBuilder(context, _repository, defaultWallet, - _currentChestNumber), + balanceBuilder(context, repository.address!, + repository.address == defaultWallet.address), + nameBuilder(context, repository, defaultWallet, + currentChestNumber), ]), ]), ), ), )), - Consumer(builder: (context, _sub, _) { - return _sub.nodeConnected + Consumer(builder: (context, sub, _) { + return sub.nodeConnected ? addNewDerivation(context) : const Text(''); }), @@ -264,11 +263,11 @@ class WalletsHome extends StatelessWidget { // )) ]), // SliverToBoxAdapter(child: Spacer()), - SliverToBoxAdapter(child: chestOptions(context, _myWalletProvider)), + SliverToBoxAdapter(child: chestOptions(context, myWalletProvider)), ]); } - Widget balanceBuilder(context, String _address, bool isDefault) { + Widget balanceBuilder(context, String address, bool isDefault) { return Container( width: double.infinity, color: isDefault ? orangeC : yellowC, @@ -276,24 +275,24 @@ class WalletsHome extends StatelessWidget { padding: const EdgeInsets.only(left: 5, right: 5, top: 38), child: balance( context, - _address, + address, 15, isDefault ? Colors.white : Colors.black, isDefault ? yellowC : orangeC)), ); } - Widget nameBuilder(BuildContext context, WalletData _repository, - WalletData defaultWallet, int _currentChestNumber) { - WalletOptionsProvider _walletOptions = + Widget nameBuilder(BuildContext context, WalletData repository, + WalletData defaultWallet, int currentChestNumber) { + WalletOptionsProvider walletOptions = Provider.of(context, listen: false); - DuniterIndexer _duniterIndexer = + DuniterIndexer duniterIndexer = Provider.of(context, listen: false); return ListTile( shape: const RoundedRectangleBorder( borderRadius: BorderRadius.vertical(bottom: Radius.circular(12))), // contentPadding: const EdgeInsets.only(left: 7.0), - tileColor: _repository.address == defaultWallet.address + tileColor: repository.address == defaultWallet.address ? orangeC : const Color(0xffFFD58D), // leading: Text('IMAGE'), @@ -303,13 +302,13 @@ class WalletsHome extends StatelessWidget { title: Center( child: Padding( padding: const EdgeInsets.only(left: 5, right: 5, bottom: 35, top: 5), - child: _duniterIndexer.getNameByAddress( + child: duniterIndexer.getNameByAddress( context, - _repository.address!, - _repository, + repository.address!, + repository, 20, true, - _repository.id()[1] == defaultWallet.id()[1] + repository.id()[1] == defaultWallet.id()[1] ? const Color(0xffF9F9F1) : Colors.black), ), @@ -321,12 +320,12 @@ class WalletsHome extends StatelessWidget { // _repository, // _myWalletProvider.pinCode, // pinLength); - _walletOptions.getAddress(_currentChestNumber, _repository.derivation!); + walletOptions.getAddress(currentChestNumber, repository.derivation!); Navigator.push( context, SmoothTransition( page: WalletOptions( - wallet: _repository, + wallet: repository, ), ), ); @@ -335,11 +334,11 @@ class WalletsHome extends StatelessWidget { } Widget addNewDerivation(context) { - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context); - String _newDerivationName = - 'wallet'.tr() + ' ${_myWalletProvider.listWallets.last.number! + 2}'; + String newDerivationName = + '${'wallet'.tr()} ${myWalletProvider.listWallets.last.number! + 2}'; return Padding( padding: const EdgeInsets.all(16), child: ClipRRect( @@ -349,12 +348,12 @@ class WalletsHome extends StatelessWidget { child: InkWell( key: const Key('addDerivation'), onTap: () async { - if (!_myWalletProvider.isNewDerivationLoading) { + if (!myWalletProvider.isNewDerivationLoading) { WalletData? defaultWallet = - _myWalletProvider.getDefaultWallet(); - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + myWalletProvider.getDefaultWallet(); + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -363,9 +362,9 @@ class WalletsHome extends StatelessWidget { ), ); } - if (_pin != null || _myWalletProvider.pinCode != '') { - await _myWalletProvider.generateNewDerivation( - context, _newDerivationName); + if (pin != null || myWalletProvider.pinCode != '') { + await myWalletProvider.generateNewDerivation( + context, newDerivationName); } } }, @@ -374,7 +373,7 @@ class WalletsHome extends StatelessWidget { height: double.infinity, decoration: BoxDecoration(color: floattingYellow), child: Center( - child: _myWalletProvider.isNewDerivationLoading + child: myWalletProvider.isNewDerivationLoading ? SizedBox( height: 60, width: 60, @@ -435,7 +434,7 @@ class ClipOvalShadow extends StatelessWidget { clipper: clipper, shadow: shadow, ), - child: ClipRect(child: child, clipper: clipper), + child: ClipRect(clipper: clipper, child: child), ); } } diff --git a/lib/screens/onBoarding/10.dart b/lib/screens/onBoarding/10.dart index e2cea7f..1d2215c 100644 --- a/lib/screens/onBoarding/10.dart +++ b/lib/screens/onBoarding/10.dart @@ -28,12 +28,12 @@ class OnboardingStepTen extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context); - WalletOptionsProvider _walletOptions = + WalletOptionsProvider walletOptions = Provider.of(context); CommonElements common = CommonElements(); - final int _pinLenght = _generateWalletProvider.pin.text.length; + final int pinLenght = generateWalletProvider.pin.text.length; return Scaffold( backgroundColor: backgroundColor, @@ -56,7 +56,7 @@ class OnboardingStepTen extends StatelessWidget { common.buildText("geckoWillCheckPassword".tr()), SizedBox(height: isTall ? 80 : 20), Visibility( - visible: _generateWalletProvider.scanedWalletNumber != -1, + visible: generateWalletProvider.scanedWalletNumber != -1, child: Padding( padding: const EdgeInsets.only(bottom: 15), child: SizedBox( @@ -69,9 +69,9 @@ class OnboardingStepTen extends StatelessWidget { ), ), ), - Consumer(builder: (context, _sub, _) { - return _sub.nodeConnected - ? pinForm(context, _walletOptions, _pinLenght, 1, 2) + Consumer(builder: (context, sub, _) { + return sub.nodeConnected + ? pinForm(context, walletOptions, pinLenght, 1, 2) : Row( mainAxisAlignment: MainAxisAlignment.center, children: const [ @@ -86,11 +86,11 @@ class OnboardingStepTen extends StatelessWidget { ), ]); }), - Consumer(builder: (context, _sub, _) { - return _sub.nodeConnected + Consumer(builder: (context, sub, _) { + return sub.nodeConnected ? InkWell( onTap: () { - _walletOptions.changePinCacheChoice(); + walletOptions.changePinCacheChoice(); }, child: Row(children: [ const SizedBox(height: 30), @@ -116,20 +116,20 @@ class OnboardingStepTen extends StatelessWidget { )); } - Widget pinForm(context, WalletOptionsProvider _walletOptions, _pinLenght, - int _walletNbr, int _derivation) { + Widget pinForm(context, WalletOptionsProvider walletOptions, pinLenght, + int walletNbr, int derivation) { // var _walletPin = ''; // ignore: close_sinks StreamController errorController = StreamController(); - TextEditingController _enterPin = TextEditingController(); - MyWalletsProvider _myWalletProvider = + TextEditingController enterPin = TextEditingController(); + MyWalletsProvider myWalletProvider = Provider.of(context); - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context); - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); - final int? _currentChest = _myWalletProvider.getCurrentChest(); + final int currentChest = myWalletProvider.getCurrentChest(); return Form( key: formKey, @@ -143,14 +143,13 @@ class OnboardingStepTen extends StatelessWidget { color: Colors.green.shade600, fontWeight: FontWeight.bold, ), - length: _pinLenght, + length: pinLenght, obscureText: true, obscuringCharacter: '*', animationType: AnimationType.fade, validator: (v) { - if (v!.length < _pinLenght) { - return "yourPasswordLengthIsX" - .tr(args: [_pinLenght.toString()]); + if (v!.length < pinLenght) { + return "yourPasswordLengthIsX".tr(args: [pinLenght.toString()]); } else { return null; } @@ -170,7 +169,7 @@ class OnboardingStepTen extends StatelessWidget { backgroundColor: const Color(0xffF9F9F1), enableActiveFill: false, errorAnimationController: errorController, - controller: _enterPin, + controller: enterPin, keyboardType: TextInputType.visiblePassword, boxShadows: const [ BoxShadow( @@ -179,25 +178,25 @@ class OnboardingStepTen extends StatelessWidget { blurRadius: 10, ) ], - onCompleted: (_pin) async { - _myWalletProvider.pinCode = _pin.toUpperCase(); - _myWalletProvider.pinLenght = _pinLenght; - log.d(_pin + ' || ' + _generateWalletProvider.pin.text); - if (_pin.toUpperCase() == _generateWalletProvider.pin.text) { + onCompleted: (pin) async { + myWalletProvider.pinCode = pin.toUpperCase(); + myWalletProvider.pinLenght = pinLenght; + log.d('$pin || ${generateWalletProvider.pin.text}'); + if (pin.toUpperCase() == generateWalletProvider.pin.text) { pinColor = Colors.green[500]; - await _generateWalletProvider.storeHDWChest(context); + await generateWalletProvider.storeHDWChest(context); bool isAlive = false; if (scanDerivation) { - isAlive = await _generateWalletProvider + isAlive = await generateWalletProvider .scanDerivations(context, numberScan: 20); } if (!isAlive) { - final address = await _sub.importAccount( + final address = await sub.importAccount( fromMnemonic: true, - mnemonic: _generateWalletProvider.generatedMnemonic!, + mnemonic: generateWalletProvider.generatedMnemonic!, derivePath: '//2', - password: _generateWalletProvider.pin.text); + password: generateWalletProvider.pin.text); WalletData myWallet = WalletData( version: dataVersion, chest: configBox.get('currentChest'), @@ -208,11 +207,11 @@ class OnboardingStepTen extends StatelessWidget { imageDefaultPath: '0.png'); await walletBox.add(myWallet); } - _myWalletProvider.readAllWallets(_currentChest); - _myWalletProvider.rebuildWidget(); + myWalletProvider.readAllWallets(currentChest); + myWalletProvider.rebuildWidget(); - _generateWalletProvider.generatedMnemonic = ''; - _myWalletProvider.resetPinCode(); + generateWalletProvider.generatedMnemonic = ''; + myWalletProvider.resetPinCode(); Navigator.push( context, FaderTransition( @@ -223,7 +222,7 @@ class OnboardingStepTen extends StatelessWidget { .shake); // Triggering error shake animation hasError = true; pinColor = Colors.red[600]; - _walletOptions.reloadBuild(); + walletOptions.reloadBuild(); } }, onChanged: (value) { diff --git a/lib/screens/onBoarding/5.dart b/lib/screens/onBoarding/5.dart index de736fc..a2234f4 100644 --- a/lib/screens/onBoarding/5.dart +++ b/lib/screens/onBoarding/5.dart @@ -29,7 +29,7 @@ class _ChooseChestState extends State { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context, listen: false); final CommonElements common = CommonElements(); @@ -61,7 +61,7 @@ class _ChooseChestState extends State { Navigator.push( context, MaterialPageRoute(builder: (context) { - return PrintWallet(_generateWalletProvider.generatedMnemonic); + return PrintWallet(generateWalletProvider.generatedMnemonic); }), ); }, @@ -106,7 +106,7 @@ class _ChooseChestState extends State { } Widget sentanceArray(BuildContext context) { - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context, listen: false); return Padding( @@ -121,36 +121,36 @@ Widget sentanceArray(BuildContext context) { )), padding: const EdgeInsets.all(20), child: FutureBuilder( - future: _generateWalletProvider.generateWordList(context), - builder: (BuildContext context, AsyncSnapshot _data) { - if (!_data.hasData) { + future: generateWalletProvider.generateWordList(context), + builder: (BuildContext context, AsyncSnapshot data) { + if (!data.hasData) { return const Text(''); } else { - mnemoList = _data; + mnemoList = data; return Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.center, children: [ Row(children: [ - arrayCell(_data.data![0]), - arrayCell(_data.data![1]), - arrayCell(_data.data![2]), - arrayCell(_data.data![3]), + arrayCell(data.data![0]), + arrayCell(data.data![1]), + arrayCell(data.data![2]), + arrayCell(data.data![3]), ]), const SizedBox(height: 15), Row(children: [ - arrayCell(_data.data![4]), - arrayCell(_data.data![5]), - arrayCell(_data.data![6]), - arrayCell(_data.data![7]), + arrayCell(data.data![4]), + arrayCell(data.data![5]), + arrayCell(data.data![6]), + arrayCell(data.data![7]), ]), const SizedBox(height: 15), Row(children: [ - arrayCell(_data.data![8]), - arrayCell(_data.data![9]), - arrayCell(_data.data![10]), - arrayCell(_data.data![11]), + arrayCell(data.data![8]), + arrayCell(data.data![9]), + arrayCell(data.data![10]), + arrayCell(data.data![11]), ]), ]); } @@ -184,7 +184,7 @@ class PrintWallet extends StatelessWidget { @override Widget build(BuildContext context) { - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context, listen: false); return MaterialApp( home: Scaffold( @@ -208,7 +208,7 @@ class PrintWallet extends StatelessWidget { body: PdfPreview( canDebug: false, canChangeOrientation: false, - build: (format) => _generateWalletProvider.printWallet(mnemoList), + build: (format) => generateWalletProvider.printWallet(mnemoList), ), ), ); @@ -217,9 +217,9 @@ class PrintWallet extends StatelessWidget { Widget nextButton( BuildContext context, String text, bool isFast, bool skipIntro) { - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); return SizedBox( width: 380 * ratio, @@ -231,17 +231,16 @@ Widget nextButton( onPrimary: Colors.white, // foreground ), onPressed: () { - _generateWalletProvider.nbrWord = - _generateWalletProvider.getRandomInt(); - _generateWalletProvider.nbrWordAlpha = _generateWalletProvider - .intToString(_generateWalletProvider.nbrWord + 1); - _myWalletProvider.mnemonic = _generateWalletProvider.generatedMnemonic!; + generateWalletProvider.nbrWord = generateWalletProvider.getRandomInt(); + generateWalletProvider.nbrWordAlpha = generateWalletProvider + .intToString(generateWalletProvider.nbrWord + 1); + myWalletProvider.mnemonic = generateWalletProvider.generatedMnemonic!; Navigator.push( context, FaderTransition( page: OnboardingStepSix( - generatedMnemonic: _generateWalletProvider.generatedMnemonic, + generatedMnemonic: generateWalletProvider.generatedMnemonic, skipIntro: skipIntro), isFast: true), ); diff --git a/lib/screens/onBoarding/6.dart b/lib/screens/onBoarding/6.dart index e91f524..69922c3 100644 --- a/lib/screens/onBoarding/6.dart +++ b/lib/screens/onBoarding/6.dart @@ -24,7 +24,7 @@ class OnboardingStepSix extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context, listen: true); CommonElements common = CommonElements(); @@ -32,8 +32,8 @@ class OnboardingStepSix extends StatelessWidget { return WillPopScope( onWillPop: () { - _generateWalletProvider.isAskedWordValid = false; - _generateWalletProvider.askedWordColor = Colors.black; + generateWalletProvider.isAskedWordValid = false; + generateWalletProvider.askedWordColor = Colors.black; return Future.value(true); }, child: Scaffold( @@ -59,11 +59,11 @@ class OnboardingStepSix extends StatelessWidget { SizedBox(height: isTall ? 40 : 20), common.buildText( "didYouNoteMnemonicToBeSureTypeWord".tr( - args: [(_generateWalletProvider.nbrWord + 1).toString()]), + args: [(generateWalletProvider.nbrWord + 1).toString()]), 20, true), SizedBox(height: isTall ? 70 : 20), - Text('${_generateWalletProvider.nbrWord + 1}', + Text('${generateWalletProvider.nbrWord + 1}', key: const Key('askedWord'), style: TextStyle( fontSize: isTall ? 17 : 15, @@ -81,11 +81,11 @@ class OnboardingStepSix extends StatelessWidget { child: TextFormField( key: const Key('inputWord'), autofocus: true, - enabled: !_generateWalletProvider.isAskedWordValid, + enabled: !generateWalletProvider.isAskedWordValid, controller: wordController, textInputAction: TextInputAction.next, onChanged: (value) { - _generateWalletProvider.checkAskedWord( + generateWalletProvider.checkAskedWord( value, _mnemonicController.text); }, maxLines: 1, @@ -95,20 +95,19 @@ class OnboardingStepSix extends StatelessWidget { fontSize: 22.0, color: Colors.grey[500], fontWeight: FontWeight.w500), - labelText: _generateWalletProvider.isAskedWordValid + labelText: generateWalletProvider.isAskedWordValid ? "itsTheGoodWord".tr() - : "${_generateWalletProvider.nbrWordAlpha} " + - "nthMnemonicWord".tr(), + : "${generateWalletProvider.nbrWordAlpha} ${"nthMnemonicWord".tr()}", fillColor: const Color(0xffeeeedd), filled: true, contentPadding: const EdgeInsets.all(12), ), style: TextStyle( fontSize: 40.0, - color: _generateWalletProvider.askedWordColor, + color: generateWalletProvider.askedWordColor, fontWeight: FontWeight.w500))), Visibility( - visible: _generateWalletProvider.isAskedWordValid, + visible: generateWalletProvider.isAskedWordValid, child: Expanded( child: Align( alignment: Alignment.bottomCenter, @@ -141,7 +140,7 @@ class OnboardingStepSix extends StatelessWidget { } Widget sentanceArray(BuildContext context) { - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context); return Padding( @@ -156,9 +155,9 @@ Widget sentanceArray(BuildContext context) { )), padding: const EdgeInsets.all(20), child: FutureBuilder( - future: _generateWalletProvider.generateWordList(context), - builder: (BuildContext context, AsyncSnapshot _data) { - if (!_data.hasData) { + future: generateWalletProvider.generateWordList(context), + builder: (BuildContext context, AsyncSnapshot data) { + if (!data.hasData) { return const Text(''); } else { return Column( @@ -167,24 +166,24 @@ Widget sentanceArray(BuildContext context) { crossAxisAlignment: CrossAxisAlignment.center, children: [ Row(children: [ - arrayCell(_data.data![0]), - arrayCell(_data.data![1]), - arrayCell(_data.data![2]), - arrayCell(_data.data![3]), + arrayCell(data.data![0]), + arrayCell(data.data![1]), + arrayCell(data.data![2]), + arrayCell(data.data![3]), ]), const SizedBox(height: 15), Row(children: [ - arrayCell(_data.data![4]), - arrayCell(_data.data![5]), - arrayCell(_data.data![6]), - arrayCell(_data.data![7]), + arrayCell(data.data![4]), + arrayCell(data.data![5]), + arrayCell(data.data![6]), + arrayCell(data.data![7]), ]), const SizedBox(height: 15), Row(children: [ - arrayCell(_data.data![8]), - arrayCell(_data.data![9]), - arrayCell(_data.data![10]), - arrayCell(_data.data![11]), + arrayCell(data.data![8]), + arrayCell(data.data![9]), + arrayCell(data.data![10]), + arrayCell(data.data![11]), ]), ]); } @@ -211,11 +210,11 @@ Widget arrayCell(dataWord) { } Widget nextButton(BuildContext context, String text, nextScreen, bool isFast) { - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context, listen: false); - _generateWalletProvider.isAskedWordValid = false; - _generateWalletProvider.askedWordColor = Colors.black; + generateWalletProvider.isAskedWordValid = false; + generateWalletProvider.askedWordColor = Colors.black; return SizedBox( width: 380 * ratio, diff --git a/lib/screens/onBoarding/9.dart b/lib/screens/onBoarding/9.dart index 04d4112..0cf8ecf 100644 --- a/lib/screens/onBoarding/9.dart +++ b/lib/screens/onBoarding/9.dart @@ -17,15 +17,15 @@ class OnboardingStepNine extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - GenerateWalletsProvider _generateWalletProvider = + GenerateWalletsProvider generateWalletProvider = Provider.of(context); // MyWalletsProvider myWalletProvider = // Provider.of(context); CommonElements common = CommonElements(); - _generateWalletProvider.pin.text = debugPin // kDebugMode && + generateWalletProvider.pin.text = debugPin // kDebugMode && ? 'AAAAA' - : _generateWalletProvider.changePinCode(reload: false).toUpperCase(); + : generateWalletProvider.changePinCode(reload: false).toUpperCase(); return Scaffold( backgroundColor: backgroundColor, @@ -53,7 +53,7 @@ class OnboardingStepNine extends StatelessWidget { TextField( key: const Key('generatedPin'), enabled: false, - controller: _generateWalletProvider.pin, + controller: generateWalletProvider.pin, maxLines: 1, textAlign: TextAlign.center, decoration: const InputDecoration(), @@ -66,7 +66,7 @@ class OnboardingStepNine extends StatelessWidget { icon: const Icon(Icons.replay), color: orangeC, onPressed: () { - _generateWalletProvider.changePinCode(reload: true); + generateWalletProvider.changePinCode(reload: true); }, ), ], @@ -85,7 +85,7 @@ class OnboardingStepNine extends StatelessWidget { onPrimary: Colors.black, // foreground ), onPressed: () { - _generateWalletProvider.changePinCode(reload: true); + generateWalletProvider.changePinCode(reload: true); }, child: Text("chooseAnotherPassword".tr(), style: TextStyle( diff --git a/lib/screens/search.dart b/lib/screens/search.dart index be13c68..5ab523e 100644 --- a/lib/screens/search.dart +++ b/lib/screens/search.dart @@ -16,14 +16,14 @@ class SearchScreen extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - SearchProvider _searchProvider = Provider.of(context); + SearchProvider searchProvider = Provider.of(context); final double screenHeight = MediaQuery.of(context).size.height; // HomeProvider _homeProvider = // Provider.of(context, listen: false); return WillPopScope( onWillPop: () { - _searchProvider.searchController.text = ''; + searchProvider.searchController.text = ''; return Future.value(true); }, child: Scaffold( @@ -39,7 +39,7 @@ class SearchScreen extends StatelessWidget { leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { - _searchProvider.searchController.text = ''; + searchProvider.searchController.text = ''; Navigator.of(context).pop(); }), ), @@ -51,11 +51,11 @@ class SearchScreen extends StatelessWidget { Padding( padding: const EdgeInsets.symmetric(horizontal: 17), child: TextField( - controller: _searchProvider.searchController, + controller: searchProvider.searchController, autofocus: true, maxLines: 1, textAlign: TextAlign.left, - onChanged: (v) => _searchProvider.rebuildWidget(), + onChanged: (v) => searchProvider.rebuildWidget(), decoration: InputDecoration( filled: true, fillColor: Colors.white, @@ -96,7 +96,7 @@ class SearchScreen extends StatelessWidget { primary: orangeC, // background onPrimary: Colors.white, // foreground ), - onPressed: _searchProvider.searchController.text.length >= 2 + onPressed: searchProvider.searchController.text.length >= 2 ? () { Navigator.push( context, diff --git a/lib/screens/search_result.dart b/lib/screens/search_result.dart index 3f4978b..fb472f7 100644 --- a/lib/screens/search_result.dart +++ b/lib/screens/search_result.dart @@ -20,19 +20,19 @@ class SearchResultScreen extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - SearchProvider _searchProvider = + SearchProvider searchProvider = Provider.of(context, listen: false); - CesiumPlusProvider _cesiumPlusProvider = + CesiumPlusProvider cesiumPlusProvider = Provider.of(context, listen: false); - WalletsProfilesProvider _walletsProfilesClass = + WalletsProfilesProvider walletsProfilesClass = Provider.of(context, listen: false); - HomeProvider _homeProvider = + HomeProvider homeProvider = Provider.of(context, listen: false); - DuniterIndexer _duniterIndexer = + DuniterIndexer duniterIndexer = Provider.of(context, listen: false); int keyID = 0; - double _avatarSize = 55; + double avatarSize = 55; return Scaffold( backgroundColor: backgroundColor, @@ -44,7 +44,7 @@ class SearchResultScreen extends StatelessWidget { child: Text('researchResults'.tr()), ), ), - bottomNavigationBar: _homeProvider.bottomAppBar(context), + bottomNavigationBar: homeProvider.bottomAppBar(context), body: SafeArea( child: Stack(children: [ Padding( @@ -64,7 +64,7 @@ class SearchResultScreen extends StatelessWidget { text: "resultsFor".tr(), ), TextSpan( - text: '"${_searchProvider.searchController.text}"', + text: '"${searchProvider.searchController.text}"', style: const TextStyle(fontStyle: FontStyle.italic), ), ], @@ -77,13 +77,13 @@ class SearchResultScreen extends StatelessWidget { ), const SizedBox(height: 20), FutureBuilder( - future: _searchProvider.searchAddress(), + future: searchProvider.searchAddress(), builder: (context, AsyncSnapshot snapshot) { if (snapshot.connectionState == ConnectionState.done) { log.d(snapshot.data); if (snapshot.data?.isEmpty ?? true) { - return _duniterIndexer.searchIdentity( - context, _searchProvider.searchController.text); + return duniterIndexer.searchIdentity( + context, searchProvider.searchController.text); // const Text('Aucun résultat'); } else { @@ -98,8 +98,8 @@ class SearchResultScreen extends StatelessWidget { key: Key('searchResult${keyID++}'), horizontalTitleGap: 40, contentPadding: const EdgeInsets.all(5), - leading: _cesiumPlusProvider - .defaultAvatar(_avatarSize), + leading: cesiumPlusProvider + .defaultAvatar(avatarSize), title: Row(children: [ Text(getShortPubkey(g1Wallet.pubkey!), style: const TextStyle( @@ -116,7 +116,7 @@ class SearchResultScreen extends StatelessWidget { context, g1Wallet.pubkey!, 16) ]), subtitle: Row(children: [ - _duniterIndexer.getNameByAddress( + duniterIndexer.getNameByAddress( context, g1Wallet.pubkey!) ]), dense: false, @@ -125,7 +125,7 @@ class SearchResultScreen extends StatelessWidget { Navigator.push( context, MaterialPageRoute(builder: (context) { - _walletsProfilesClass.address = + walletsProfilesClass.address = g1Wallet.pubkey; return WalletViewScreen( pubkey: g1Wallet.pubkey, diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index d0716f5..c5611f2 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -68,13 +68,13 @@ class SettingsScreen extends StatelessWidget { } Widget duniterEndpointSelection(BuildContext context) { - SubstrateSdk _sub = Provider.of(context, listen: false); + SubstrateSdk sub = Provider.of(context, listen: false); String? selectedDuniterEndpoint; // List of items in our dropdown menu - var duniterBootstrapNodes = _sub.getDuniterBootstrap(); + var duniterBootstrapNodes = sub.getDuniterBootstrap(); selectedDuniterEndpoint = - _sub.getConnectedEndpoint() ?? duniterBootstrapNodes.first.endpoint; + sub.getConnectedEndpoint() ?? duniterBootstrapNodes.first.endpoint; final customEndpoint = NetworkParams(); customEndpoint.name = currencyName; @@ -95,15 +95,15 @@ class SettingsScreen extends StatelessWidget { selectedDuniterEndpoint = customEndpoint.endpoint; } - TextEditingController _endpointController = TextEditingController( + TextEditingController endpointController = TextEditingController( text: configBox.containsKey('customEndpoint') ? configBox.get('customEndpoint') : 'wss://'); return Column(children: [ Row(children: [ - Consumer(builder: (context, _sub, _) { - log.d(_sub.sdk.api.connectedNode?.endpoint); + Consumer(builder: (context, sub, _) { + log.d(sub.sdk.api.connectedNode?.endpoint); return Expanded( child: Row(children: [ const SizedBox(width: 10), @@ -114,49 +114,49 @@ class SettingsScreen extends StatelessWidget { ), ), const Spacer(), - Icon(_sub.nodeConnected && !_sub.isLoadingEndpoint + Icon(sub.nodeConnected && !sub.isLoadingEndpoint ? Icons.check : Icons.close), const Spacer(), SizedBox( width: 265, - child: Consumer(builder: (context, _set, _) { + child: Consumer(builder: (context, set, _) { return DropdownButtonHideUnderline( child: DropdownButton( // alignment: AlignmentDirectional.topStart, value: selectedDuniterEndpoint, icon: const Icon(Icons.keyboard_arrow_down), items: duniterBootstrapNodes - .map((NetworkParams _endpointParams) { + .map((NetworkParams endpointParams) { return DropdownMenuItem( - value: _endpointParams.endpoint, - child: Text(_endpointParams.endpoint!), + value: endpointParams.endpoint, + child: Text(endpointParams.endpoint!), ); }).toList(), - onChanged: (String? _newEndpoint) { - log.d(_newEndpoint!); - selectedDuniterEndpoint = _newEndpoint; - _set.reload(); + onChanged: (String? newEndpoint) { + log.d(newEndpoint!); + selectedDuniterEndpoint = newEndpoint; + set.reload(); }, ), ); }), ), const Spacer(flex: 5), - _sub.isLoadingEndpoint + sub.isLoadingEndpoint ? CircularProgressIndicator(color: orangeC) - : Consumer(builder: (context, _set, _) { + : Consumer(builder: (context, set, _) { return IconButton( icon: Icon( Icons.send, color: selectedDuniterEndpoint != - _sub.getConnectedEndpoint() + sub.getConnectedEndpoint() ? orangeC : Colors.grey[500], size: 40, ), onPressed: selectedDuniterEndpoint != - _sub.getConnectedEndpoint() + sub.getConnectedEndpoint() ? () async { if (selectedDuniterEndpoint == 'Auto') { configBox.delete('customEndpoint'); @@ -166,12 +166,12 @@ class SettingsScreen extends StatelessWidget { final finalEndpoint = selectedDuniterEndpoint == 'Personnalisé' - ? _endpointController.text + ? endpointController.text : selectedDuniterEndpoint; configBox.put( 'customEndpoint', finalEndpoint); } - await _sub.connectNode(context); + await sub.connectNode(context); } : null); }), @@ -180,31 +180,31 @@ class SettingsScreen extends StatelessWidget { ); }), ]), - Consumer(builder: (context, _set, _) { + Consumer(builder: (context, set, _) { return Visibility( visible: selectedDuniterEndpoint == 'Personnalisé', child: SizedBox( width: 200, height: 50, child: TextField( - controller: _endpointController, + controller: endpointController, autocorrect: false, ), ), ); }), - Consumer(builder: (context, _sub, _) { + Consumer(builder: (context, sub, _) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Consumer(builder: (context, _set, _) { + Consumer(builder: (context, set, _) { return Visibility( visible: selectedDuniterEndpoint == 'Auto', child: SizedBox( width: 250, - height: _sub.getConnectedEndpoint() == null ? 60 : 20, + height: sub.getConnectedEndpoint() == null ? 60 : 20, child: Text( - _sub.getConnectedEndpoint() ?? + sub.getConnectedEndpoint() ?? "Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.", style: TextStyle( fontSize: 15, @@ -215,7 +215,7 @@ class SettingsScreen extends StatelessWidget { ); }), Text( - 'bloc N°${_sub.blocNumber}', + 'bloc N°${sub.blocNumber}', style: TextStyle(fontSize: 14, color: Colors.grey[700]), ) ], @@ -225,7 +225,7 @@ class SettingsScreen extends StatelessWidget { } Widget indexerEndpointSelection(BuildContext context) { - DuniterIndexer _indexer = + DuniterIndexer indexer = Provider.of(context, listen: false); String? selectedIndexerEndpoint; @@ -236,19 +236,19 @@ class SettingsScreen extends StatelessWidget { } if (selectedIndexerEndpoint == '') { - selectedIndexerEndpoint = _indexer.listIndexerEndpoints[0]; + selectedIndexerEndpoint = indexer.listIndexerEndpoints[0]; } - TextEditingController _indexerEndpointController = TextEditingController( + TextEditingController indexerEndpointController = TextEditingController( text: configBox.containsKey('customIndexer') ? configBox.get('customIndexer') : 'https://'); return Column(children: [ Row(children: [ - Consumer(builder: (context, _indexer, _) { + Consumer(builder: (context, indexer, _) { log.d(selectedIndexerEndpoint); - log.d(_indexer.listIndexerEndpoints); + log.d(indexer.listIndexerEndpoints); return Expanded( child: Row(children: [ const SizedBox(width: 10), @@ -261,32 +261,32 @@ class SettingsScreen extends StatelessWidget { const Spacer(), SizedBox( width: 265, - child: Consumer(builder: (context, _set, _) { + child: Consumer(builder: (context, set, _) { return DropdownButtonHideUnderline( child: DropdownButton( // alignment: AlignmentDirectional.topStart, value: selectedIndexerEndpoint, icon: const Icon(Icons.keyboard_arrow_down), items: - _indexer.listIndexerEndpoints.map((_indexerEndpoint) { + indexer.listIndexerEndpoints.map((indexerEndpoint) { return DropdownMenuItem( - value: _indexerEndpoint, - child: Text(_indexerEndpoint), + value: indexerEndpoint, + child: Text(indexerEndpoint), ); }).toList(), - onChanged: (_newEndpoint) { - log.d(_newEndpoint!); - selectedIndexerEndpoint = _newEndpoint.toString(); - _set.reload(); + onChanged: (newEndpoint) { + log.d(newEndpoint!); + selectedIndexerEndpoint = newEndpoint.toString(); + set.reload(); }, ), ); }), ), const Spacer(flex: 5), - _indexer.isLoadingIndexer + indexer.isLoadingIndexer ? CircularProgressIndicator(color: orangeC) - : Consumer(builder: (context, _set, _) { + : Consumer(builder: (context, set, _) { return IconButton( icon: Icon( Icons.send, @@ -299,18 +299,18 @@ class SettingsScreen extends StatelessWidget { ? () async { final finalEndpoint = selectedIndexerEndpoint == 'Personnalisé' - ? _indexerEndpointController.text + ? indexerEndpointController.text : selectedIndexerEndpoint!; if (selectedIndexerEndpoint == 'Personnalisé') { configBox.put('customIndexer', - _indexerEndpointController.text); + indexerEndpointController.text); } else { configBox.delete('customIndexer'); } log.d('connection to indexer $finalEndpoint'); - await _indexer + await indexer .checkIndexerEndpoint(finalEndpoint); } : null); @@ -320,28 +320,28 @@ class SettingsScreen extends StatelessWidget { ); }), ]), - Consumer(builder: (context, _set, _) { + Consumer(builder: (context, set, _) { return Visibility( visible: selectedIndexerEndpoint == 'Personnalisé', child: SizedBox( width: 200, height: 50, child: TextField( - controller: _indexerEndpointController, + controller: indexerEndpointController, autocorrect: false, ), ), ); }), - Consumer(builder: (context, _sub, _) { - return Consumer(builder: (context, _set, _) { + Consumer(builder: (context, sub, _) { + return Consumer(builder: (context, set, _) { return Visibility( visible: selectedIndexerEndpoint == 'Auto', child: SizedBox( width: 250, height: 60, child: Text( - _sub.getConnectedEndpoint() ?? + sub.getConnectedEndpoint() ?? "Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.", style: TextStyle( fontSize: 15, diff --git a/lib/screens/substrate_sandbox.dart b/lib/screens/substrate_sandbox.dart index 95f725b..d2a53ca 100644 --- a/lib/screens/substrate_sandbox.dart +++ b/lib/screens/substrate_sandbox.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/stateful_wrapper.dart'; @@ -25,21 +27,21 @@ class SubstrateSandBox extends StatelessWidget { ), ), body: SafeArea( - child: Consumer(builder: (context, _sub, _) { + child: Consumer(builder: (context, sub, _) { return SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('js-api chargé ?: ${_sub.sdkReady}'), + Text('js-api chargé ?: ${sub.sdkReady}'), InkWell( onTap: () async { - await _sub.connectNode(context); + await sub.connectNode(context); }, child: Text( - '🌐 Noeud connecté ?: ${_sub.nodeConnected} (${_sub.sdk.api.connectedNode?.endpoint})')), - if (_sub.nodeConnected) + '🌐 Noeud connecté ?: ${sub.nodeConnected} (${sub.sdk.api.connectedNode?.endpoint})')), + if (sub.nodeConnected) Text( - '🏆 Noeud "$currencyName", bloc N°${_sub.blocNumber}'), + '🏆 Noeud "$currencyName", bloc N°${sub.blocNumber}'), const SizedBox(height: 20), Row(children: [ const Text('💳 Liste des coffres:'), @@ -50,22 +52,22 @@ class SubstrateSandBox extends StatelessWidget { height: 35, ), onTap: () async { - await _sub.deleteAllAccounts(); - _sub.reload(); + await sub.deleteAllAccounts(); + sub.reload(); }, ), const SizedBox(width: 10), ]), FutureBuilder( - future: _sub.getKeyStoreAddress(), + future: sub.getKeyStoreAddress(), builder: (BuildContext context, - AsyncSnapshot> _data) { + AsyncSnapshot> data) { return Column(children: [ - if (_data.data != null) - for (final AddressInfo addressInfo in _data.data!) + if (data.data != null) + for (final AddressInfo addressInfo in data.data!) Row(children: [ InkWell( - onTap: () => _sub.keyring.setCurrent(_sub + onTap: () => sub.keyring.setCurrent(sub .keyring.keyPairs .firstWhere((element) => element.address == @@ -89,11 +91,11 @@ class SubstrateSandBox extends StatelessWidget { // ), const SizedBox(width: 20), InkWell( - onTap: () async => await _sub.derive( + onTap: () async => await sub.derive( context, addressInfo.address!, 2, - _sub.keystorePassword.text), + sub.keystorePassword.text), child: const Text("🏂 Dériver"), ) ]) @@ -102,12 +104,12 @@ class SubstrateSandBox extends StatelessWidget { const SizedBox(height: 20), const Text('🔒 Mot de passe du coffre:'), TextField( - controller: _sub.keystorePassword, + controller: sub.keystorePassword, obscureText: true, obscuringCharacter: '•', enableSuggestions: false, autocorrect: false, - onChanged: (_) => _sub.reload(), + onChanged: (_) => sub.reload(), ), Column( mainAxisAlignment: MainAxisAlignment.center, @@ -118,11 +120,11 @@ class SubstrateSandBox extends StatelessWidget { primary: yellowC, // background onPrimary: Colors.black, // foreground ), - onPressed: _sub.keystorePassword.text.isNotEmpty + onPressed: sub.keystorePassword.text.isNotEmpty ? () async { - final res = await _sub.importAccount(); - _sub.importIsLoading = false; - _sub.reload(); + final res = await sub.importAccount(); + sub.importIsLoading = false; + sub.reload(); snack( context, res != '' @@ -135,7 +137,7 @@ class SubstrateSandBox extends StatelessWidget { style: TextStyle(fontSize: 20), ), ), - if (_sub.importIsLoading) + if (sub.importIsLoading) const CircularProgressIndicator(), const SizedBox(height: 20), ElevatedButton( @@ -144,9 +146,9 @@ class SubstrateSandBox extends StatelessWidget { onPrimary: Colors.black, // foreground ), onPressed: () async { - await _sub.generateMnemonic(); - _sub.importIsLoading = false; - _sub.reload(); + await sub.generateMnemonic(); + sub.importIsLoading = false; + sub.reload(); snack(context, 'Le mnemonic a été copié'); }, child: const Text( @@ -158,13 +160,13 @@ class SubstrateSandBox extends StatelessWidget { SizedBox( width: 400, child: Text( - _sub.generatedMnemonic, + sub.generatedMnemonic, textAlign: TextAlign.center, ), ), const Text('-〰️---〰️---〰️-'), const SizedBox(height: 10), - Text(_sub.debugConnection) + Text(sub.debugConnection) ]) ]), ); diff --git a/lib/screens/transaction_in_progress.dart b/lib/screens/transaction_in_progress.dart index 732595b..548ba06 100644 --- a/lib/screens/transaction_in_progress.dart +++ b/lib/screens/transaction_in_progress.dart @@ -18,123 +18,123 @@ class TransactionInProgress extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - SubstrateSdk _sub = Provider.of(context, listen: true); - WalletsProfilesProvider _walletViewProvider = + SubstrateSdk sub = Provider.of(context, listen: true); + WalletsProfilesProvider walletViewProvider = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); bool isValid = false; - String _resultText; + String resultText; bool isLoading = true; // Map jsonResult; - final _result = _sub.transactionStatus; + final result = sub.transactionStatus; - log.d(_walletViewProvider.address!); + log.d(walletViewProvider.address!); - final from = _myWalletProvider.getDefaultWallet().name!; - final to = getShortPubkey(_walletViewProvider.address!); - final amount = _walletViewProvider.payAmount.text; - String _actionName = ''; + final from = myWalletProvider.getDefaultWallet().name!; + final to = getShortPubkey(walletViewProvider.address!); + final amount = walletViewProvider.payAmount.text; + String actionName = ''; switch (transType) { case 'pay': { - _actionName = 'transaction'.tr(); + actionName = 'transaction'.tr(); } break; case 'cert': { - _actionName = 'certification'.tr(); + actionName = 'certification'.tr(); } break; case 'comfirmIdty': { - _actionName = "identityConfirm".tr(); + actionName = "identityConfirm".tr(); } break; case 'revokeIdty': { - _actionName = "revokeAdhesion".tr(); + actionName = "revokeAdhesion".tr(); } break; default: { - _actionName = 'strangeTransaction'.tr(); + actionName = 'strangeTransaction'.tr(); } } - switch (_result) { + switch (result) { case '': { - _resultText = 'sending'.tr(); + resultText = 'sending'.tr(); } break; case 'Ready': { - _resultText = 'propagating'.tr(); + resultText = 'propagating'.tr(); } break; case 'Broadcast': { - _resultText = 'validating'.tr(); + resultText = 'validating'.tr(); } break; default: { isLoading = false; // jsonResult = json.decode(_result); - log.d(_result); - if (_result.contains('blockHash: ')) { + log.d(result); + if (result.contains('blockHash: ')) { isValid = true; - _resultText = 'extrinsicValidated'.tr(args: [_actionName]); + resultText = 'extrinsicValidated'.tr(args: [actionName]); } else { isValid = false; - _resultText = "anErrorOccured".tr() + ":\n"; - final List _exceptionSplit = _result.split('Exception: '); - String _exception; - if (_exceptionSplit.length > 1) { - _exception = _exceptionSplit[1]; + resultText = "${"anErrorOccured".tr()}:\n"; + final List exceptionSplit = result.split('Exception: '); + String exception; + if (exceptionSplit.length > 1) { + exception = exceptionSplit[1]; } else { - _exception = _exceptionSplit[0]; + exception = exceptionSplit[0]; } // log.d('expection: $_exception'); - switch (_exception) { + switch (exception) { case 'cert.NotRespectCertPeriod': case 'identity.CreatorNotAllowedToCreateIdty': { - _resultText = "24hbetweenCerts".tr(); + resultText = "24hbetweenCerts".tr(); } break; case 'cert.CannotCertifySelf': { - _resultText = "canNotCertifySelf".tr(); + resultText = "canNotCertifySelf".tr(); } break; case 'identity.IdtyNameAlreadyExist': { - _resultText = "nameAlreadyExist".tr(); + resultText = "nameAlreadyExist".tr(); } break; case 'balances.KeepAlive': { - _resultText = "2GDtoKeepAlive".tr(); + resultText = "2GDtoKeepAlive".tr(); } break; case '1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low': { - _resultText = "youHaveToFeedThisAccountBeforeUsing".tr(); + resultText = "youHaveToFeedThisAccountBeforeUsing".tr(); } break; case 'timeout': { - _resultText += "execTimeoutOver".tr(); + resultText += "execTimeoutOver".tr(); } break; default: { - _resultText += "\n$_exception"; + resultText += "\n$exception"; } break; } @@ -144,7 +144,7 @@ class TransactionInProgress extends StatelessWidget { return WillPopScope( onWillPop: () { - _sub.transactionStatus = ''; + sub.transactionStatus = ''; Navigator.pop(context); if (transType == 'pay') Navigator.pop(context); return Future.value(true); @@ -160,7 +160,7 @@ class TransactionInProgress extends StatelessWidget { child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text('extrinsicInProgress'.tr(args: [_actionName])) + Text('extrinsicInProgress'.tr(args: [actionName])) ]), )), body: SafeArea( @@ -238,7 +238,7 @@ class TransactionInProgress extends StatelessWidget { ), const SizedBox(height: 10), Text( - _resultText, + resultText, textAlign: TextAlign.center, style: TextStyle(fontSize: 19 * ratio), ), @@ -258,7 +258,7 @@ class TransactionInProgress extends StatelessWidget { ), onPressed: () { Navigator.pop(context); - _sub.transactionStatus = ''; + sub.transactionStatus = ''; if (transType == 'pay') Navigator.pop(context); }, child: Text( diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart index a8c53ae..36f3a9d 100644 --- a/lib/screens/wallet_view.dart +++ b/lib/screens/wallet_view.dart @@ -1,3 +1,5 @@ +// ignore_for_file: use_build_context_synchronously + import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; @@ -31,19 +33,19 @@ class WalletViewScreen extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - WalletsProfilesProvider _walletProfile = + WalletsProfilesProvider walletProfile = Provider.of(context, listen: false); - CesiumPlusProvider _cesiumPlusProvider = + CesiumPlusProvider cesiumPlusProvider = Provider.of(context, listen: false); - _walletProfile.address = pubkey!; - SubstrateSdk _sub = Provider.of(context, listen: false); - HomeProvider _homeProvider = + walletProfile.address = pubkey!; + SubstrateSdk sub = Provider.of(context, listen: false); + HomeProvider homeProvider = Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); - WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); - _sub.setCurrentWallet(defaultWallet); + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); + sub.setCurrentWallet(defaultWallet); return Scaffold( backgroundColor: backgroundColor, @@ -58,13 +60,13 @@ class WalletViewScreen extends StatelessWidget { context, MaterialPageRoute(builder: (context) { return QrCodeFullscreen( - _walletProfile.address!, + walletProfile.address!, ); }), ); }, child: QrImageWidget( - data: _walletProfile.address!, + data: walletProfile.address!, version: QrVersions.auto, size: 80, ), @@ -75,10 +77,10 @@ class WalletViewScreen extends StatelessWidget { child: Text('seeAWallet'.tr()), ), ), - bottomNavigationBar: _homeProvider.bottomAppBar(context), + bottomNavigationBar: homeProvider.bottomAppBar(context), body: SafeArea( child: Column(children: [ - _walletProfile.headerProfileView(context, pubkey!, username), + walletProfile.headerProfileView(context, pubkey!, username), SizedBox(height: isTall ? 10 : 0), Row(mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ Column(children: [ @@ -104,7 +106,7 @@ class WalletViewScreen extends StatelessWidget { return ActivityScreen( address: pubkey, avatar: - _cesiumPlusProvider.defaultAvatar(50)); + cesiumPlusProvider.defaultAvatar(50)); }), ); }), @@ -119,53 +121,52 @@ class WalletViewScreen extends StatelessWidget { fontSize: buttonFontSize, fontWeight: FontWeight.w500), ), ]), - Consumer(builder: (context, _sub, _) { - WalletData? _defaultWallet = - _myWalletProvider.getDefaultWallet(); + Consumer(builder: (context, sub, _) { + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); return FutureBuilder( - future: _sub.certState(_defaultWallet.address!, + future: sub.certState(defaultWallet.address!, pubkey!), // .canCertify(_defaultWallet.address!, pubkey!), builder: (context, AsyncSnapshot> snapshot) { // log.d(snapshot.data); if (snapshot.data == null) return const SizedBox(); - String _duration = ''; + String duration = ''; if (snapshot.data!['certDelay'] != null || snapshot.data!['certRenewable'] != null) { - final Duration _durationSeconds = Duration( + final Duration durationSeconds = Duration( seconds: snapshot.data!['certDelay'] ?? snapshot.data!['certRenewable']!); - final int _seconds = _durationSeconds.inSeconds; - final int _minutes = _durationSeconds.inMinutes; + final int seconds = durationSeconds.inSeconds; + final int minutes = durationSeconds.inMinutes; - if (_seconds <= 0) { - _duration = 'seconds'.tr(args: ['0']); - } else if (_seconds <= 60) { - _duration = 'seconds'.tr(args: [_seconds.toString()]); - } else if (_seconds <= 3600) { - _duration = 'minutes'.tr(args: [_minutes.toString()]); - } else if (_seconds <= 86400) { - final int _hours = _durationSeconds.inHours; - final int _minutesLeft = _minutes - _hours * 60; - String _showMinutes = ''; - if (_minutesLeft < 60) {} - _showMinutes = - 'minutes'.tr(args: [_minutesLeft.toString()]); - _duration = - 'hours'.tr(args: [_hours.toString(), _showMinutes]); - } else if (_seconds <= 2592000) { - final int _days = _durationSeconds.inDays; - _duration = 'days'.tr(args: [_days.toString()]); + if (seconds <= 0) { + duration = 'seconds'.tr(args: ['0']); + } else if (seconds <= 60) { + duration = 'seconds'.tr(args: [seconds.toString()]); + } else if (seconds <= 3600) { + duration = 'minutes'.tr(args: [minutes.toString()]); + } else if (seconds <= 86400) { + final int hours = durationSeconds.inHours; + final int minutesLeft = minutes - hours * 60; + String showMinutes = ''; + if (minutesLeft < 60) {} + showMinutes = + 'minutes'.tr(args: [minutesLeft.toString()]); + duration = + 'hours'.tr(args: [hours.toString(), showMinutes]); + } else if (seconds <= 2592000) { + final int days = durationSeconds.inDays; + duration = 'days'.tr(args: [days.toString()]); } else { - final int _months = - (_durationSeconds.inDays / 30).round(); - _duration = 'months'.tr(args: [_months.toString()]); + final int months = + (durationSeconds.inDays / 30).round(); + duration = 'months'.tr(args: [months.toString()]); } } return Visibility( visible: (snapshot.data != {}), child: Column(children: [ if (snapshot.data!['canCert'] != null || - _duration == 'seconds'.tr(args: ['0'])) + duration == 'seconds'.tr(args: ['0'])) Column(children: [ SizedBox( height: buttonSize, @@ -183,18 +184,17 @@ class WalletViewScreen extends StatelessWidget { 'assets/gecko_certify.png')), ), onTap: () async { - final bool? _result = - await confirmPopup( - context, - "areYouSureYouWantToCertify".tr( - args: [ - getShortPubkey(pubkey!) - ])); + final bool? result = await confirmPopup( + context, + "areYouSureYouWantToCertify".tr( + args: [ + getShortPubkey(pubkey!) + ])); - if (_result ?? false) { - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + if (result ?? false) { + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -204,19 +204,18 @@ class WalletViewScreen extends StatelessWidget { ), ); } - if (_pin != null || - _myWalletProvider.pinCode != '') { + if (pin != null || + myWalletProvider.pinCode != '') { WalletsProfilesProvider - _walletViewProvider = Provider + walletViewProvider = Provider .of( context, listen: false); - final acc = _sub.getCurrentWallet(); - _sub.certify( + final acc = sub.getCurrentWallet(); + sub.certify( acc.address!, - _pin ?? - _myWalletProvider.pinCode, - _walletViewProvider.address!); + pin ?? myWalletProvider.pinCode, + walletViewProvider.address!); Navigator.push( context, @@ -263,7 +262,7 @@ class WalletViewScreen extends StatelessWidget { ), Text( "mustWaitXBeforeCertify" - .tr(args: [_duration.toString()]), + .tr(args: [duration.toString()]), textAlign: TextAlign.center, style: TextStyle( fontSize: buttonFontSize - 4, @@ -272,7 +271,7 @@ class WalletViewScreen extends StatelessWidget { ), ]), if (snapshot.data!['certRenewable'] != null && - _duration != 'seconds'.tr(args: ['0'])) + duration != 'seconds'.tr(args: ['0'])) Column(children: [ SizedBox( height: buttonSize, @@ -293,8 +292,7 @@ class WalletViewScreen extends StatelessWidget { ), ), Text( - "canRenewCertInX" - .tr(args: [_duration.toString()]), + "canRenewCertInX".tr(args: [duration.toString()]), textAlign: TextAlign.center, style: TextStyle( fontSize: buttonFontSize - 4, @@ -338,9 +336,9 @@ class WalletViewScreen extends StatelessWidget { ]), ]), const Spacer(), - Consumer(builder: (context, _sub, _) { + Consumer(builder: (context, sub, _) { return Opacity( - opacity: _sub.nodeConnected ? 1 : 0.5, + opacity: sub.nodeConnected ? 1 : 0.5, child: Container( height: buttonSize, decoration: BoxDecoration( @@ -356,29 +354,29 @@ class WalletViewScreen extends StatelessWidget { color: orangeC, // button color child: InkWell( key: const Key('pay'), - splashColor: yellowC, // inkwell color + splashColor: yellowC, + onTap: sub.nodeConnected + ? () { + paymentPopup(context, walletProfile); + } + : null, // inkwell color child: const Padding( padding: EdgeInsets.all(14), child: Image( image: AssetImage('assets/vector_white.png'), - )), - onTap: _sub.nodeConnected - ? () { - paymentPopup(context, _walletProfile); - } - : null), + ))), ), ), ), ); }), const SizedBox(height: 9), - Consumer(builder: (context, _sub, _) { + Consumer(builder: (context, sub, _) { return Text( 'doATransfer'.tr(), textAlign: TextAlign.center, style: TextStyle( - color: _sub.nodeConnected ? Colors.black : Colors.grey[500], + color: sub.nodeConnected ? Colors.black : Colors.grey[500], fontSize: buttonFontSize, fontWeight: FontWeight.w500), ); @@ -389,16 +387,16 @@ class WalletViewScreen extends StatelessWidget { } void paymentPopup( - BuildContext context, WalletsProfilesProvider _walletViewProvider) { + BuildContext context, WalletsProfilesProvider walletViewProvider) { // WalletsProfilesProvider _walletViewProvider = // Provider.of(context, listen: false); - MyWalletsProvider _myWalletProvider = + MyWalletsProvider myWalletProvider = Provider.of(context, listen: false); // SubstrateSdk _sub = Provider.of(context, listen: false); const double shapeSize = 20; - WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); log.d(defaultWallet.address); bool canValidate = false; @@ -415,12 +413,12 @@ class WalletViewScreen extends StatelessWidget { builder: (BuildContext context) { return StatefulBuilder( builder: (BuildContext context, StateSetter setState) { - if (_walletViewProvider.payAmount.text != '' && - (double.parse(_walletViewProvider.payAmount.text) + 2) <= + if (walletViewProvider.payAmount.text != '' && + (double.parse(walletViewProvider.payAmount.text) + 2) <= (balanceCache[defaultWallet.address] ?? 0) && - _walletViewProvider.address != defaultWallet.address) { + walletViewProvider.address != defaultWallet.address) { if ((balanceCache[pubkey] == 0 || balanceCache[pubkey] == null) && - double.parse(_walletViewProvider.payAmount.text) < 5) { + double.parse(walletViewProvider.payAmount.text) < 5) { canValidate = false; } else { canValidate = true; @@ -474,12 +472,12 @@ class WalletViewScreen extends StatelessWidget { color: Colors.grey[600]), ), const SizedBox(height: 10), - Consumer(builder: (context, _sub, _) { + Consumer(builder: (context, sub, _) { return InkWell( onTap: () async { - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -489,13 +487,13 @@ class WalletViewScreen extends StatelessWidget { ), ); } - if (_pin != null || - _myWalletProvider.pinCode != '') { + if (pin != null || + myWalletProvider.pinCode != '') { Navigator.push( context, MaterialPageRoute(builder: (context) { return ChooseWalletScreen( - pin: _pin ?? _myWalletProvider.pinCode); + pin: pin ?? myWalletProvider.pinCode); }), ); } @@ -515,12 +513,12 @@ class WalletViewScreen extends StatelessWidget { const Spacer(), FutureBuilder( future: - _sub.getBalance(defaultWallet.address!), + sub.getBalance(defaultWallet.address!), builder: (BuildContext context, - AsyncSnapshot _balance) { - if (_balance.connectionState != + AsyncSnapshot balance) { + if (balance.connectionState != ConnectionState.done || - _balance.hasError) { + balance.hasError) { if (balanceCache[ defaultWallet.address!] != null) { @@ -541,7 +539,7 @@ class WalletViewScreen extends StatelessWidget { } } balanceCache[defaultWallet.address!] = - _balance.data!; + balance.data!; return Text( "${balanceCache[defaultWallet.address!]} $currencyName", style: const TextStyle( @@ -565,7 +563,7 @@ class WalletViewScreen extends StatelessWidget { ), const SizedBox(height: 10), TextField( - controller: _walletViewProvider.payAmount, + controller: walletViewProvider.payAmount, autofocus: true, maxLines: 1, textAlign: TextAlign.center, @@ -617,9 +615,9 @@ class WalletViewScreen extends StatelessWidget { ), onPressed: canValidate ? () async { - String? _pin; - if (_myWalletProvider.pinCode == '') { - _pin = await Navigator.push( + String? pin; + if (myWalletProvider.pinCode == '') { + pin = await Navigator.push( context, MaterialPageRoute( builder: (homeContext) { @@ -629,30 +627,30 @@ class WalletViewScreen extends StatelessWidget { ), ); } - log.d(_pin); - if (_pin != null || - _myWalletProvider.pinCode != '') { + log.d(pin); + if (pin != null || + myWalletProvider.pinCode != '') { // Payment workflow ! WalletsProfilesProvider - _walletViewProvider = + walletViewProvider = Provider.of( context, listen: false); - SubstrateSdk _sub = + SubstrateSdk sub = Provider.of(context, listen: false); - final acc = _sub.getCurrentWallet(); + final acc = sub.getCurrentWallet(); log.d( - "fromAddress: ${acc.address!},destAddress: ${_walletViewProvider.address!}, amount: ${double.parse(_walletViewProvider.payAmount.text)}, password: $_pin"); - _sub.pay( + "fromAddress: ${acc.address!},destAddress: ${walletViewProvider.address!}, amount: ${double.parse(walletViewProvider.payAmount.text)}, password: $pin"); + sub.pay( fromAddress: acc.address!, destAddress: - _walletViewProvider.address!, + walletViewProvider.address!, amount: double.parse( - _walletViewProvider + walletViewProvider .payAmount.text), - password: _pin ?? - _myWalletProvider.pinCode); + password: + pin ?? myWalletProvider.pinCode); Navigator.push( context, MaterialPageRoute(builder: (context) { @@ -675,6 +673,6 @@ class WalletViewScreen extends StatelessWidget { ), ); }); - }).then((value) => _walletViewProvider.payAmount.text = ''); + }).then((value) => walletViewProvider.payAmount.text = ''); } } diff --git a/pubspec.lock b/pubspec.lock index 6eb5e7f..c93c95c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,14 +7,14 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "40.0.0" + version: "44.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "4.4.0" archive: dependency: transitive description: @@ -35,7 +35,7 @@ packages: name: assorted_layout_widgets url: "https://pub.dartlang.org" source: hosted - version: "5.8.5" + version: "6.1.1" async: dependency: transitive description: @@ -70,7 +70,7 @@ packages: name: bip32_ed25519 url: "https://pub.dartlang.org" source: hosted - version: "0.2.1" + version: "0.2.2" bip39_multi_nullsafety: dependency: transitive description: @@ -105,7 +105,7 @@ packages: name: build_config url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.0" build_daemon: dependency: transitive description: @@ -126,7 +126,7 @@ packages: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.1.11" + version: "2.2.0" build_runner_core: dependency: transitive description: @@ -147,7 +147,7 @@ packages: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.3.2" + version: "8.4.0" carousel_slider: dependency: "direct main" description: @@ -189,7 +189,7 @@ packages: name: code_builder url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "4.2.0" collection: dependency: transitive description: @@ -210,7 +210,7 @@ packages: name: connectivity_plus url: "https://pub.dartlang.org" source: hosted - version: "2.3.3" + version: "2.3.6" connectivity_plus_linux: dependency: transitive description: @@ -224,7 +224,7 @@ packages: name: connectivity_plus_macos url: "https://pub.dartlang.org" source: hosted - version: "1.2.3" + version: "1.2.4" connectivity_plus_platform_interface: dependency: transitive description: @@ -238,7 +238,7 @@ packages: name: connectivity_plus_web url: "https://pub.dartlang.org" source: hosted - version: "1.2.1" + version: "1.2.3" connectivity_plus_windows: dependency: transitive description: @@ -287,7 +287,7 @@ packages: name: dbus url: "https://pub.dartlang.org" source: hosted - version: "0.7.3" + version: "0.7.4" desktop_window: dependency: "direct main" description: @@ -315,7 +315,7 @@ packages: name: dropdown_button2 url: "https://pub.dartlang.org" source: hosted - version: "1.6.3" + version: "1.7.1" durt: dependency: "direct main" description: @@ -395,7 +395,7 @@ packages: name: flutter_hooks url: "https://pub.dartlang.org" source: hosted - version: "0.18.4" + version: "0.18.5+1" flutter_inappwebview: dependency: transitive description: @@ -409,7 +409,7 @@ packages: name: flutter_lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "2.0.1" flutter_localizations: dependency: transitive description: flutter @@ -421,28 +421,28 @@ packages: name: flutter_logs url: "https://pub.dartlang.org" source: hosted - version: "2.1.6" + version: "2.1.7" flutter_markdown: dependency: "direct main" description: name: flutter_markdown url: "https://pub.dartlang.org" source: hosted - version: "0.6.10+2" + version: "0.6.10+3" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle url: "https://pub.dartlang.org" source: hosted - version: "2.0.6" + version: "2.0.7" flutter_svg: dependency: "direct main" description: name: flutter_svg url: "https://pub.dartlang.org" source: hosted - version: "0.22.0" + version: "1.1.3" flutter_test: dependency: "direct dev" description: flutter @@ -485,7 +485,7 @@ packages: name: glob url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" gql: dependency: transitive description: @@ -541,14 +541,14 @@ packages: name: graphql url: "https://pub.dartlang.org" source: hosted - version: "5.1.2-beta.2" + version: "5.1.2-beta.4" graphql_flutter: dependency: "direct main" description: name: graphql_flutter url: "https://pub.dartlang.org" source: hosted - version: "5.1.1-beta.3" + version: "5.1.1-beta.4" graphs: dependency: transitive description: @@ -569,7 +569,7 @@ packages: name: hive url: "https://pub.dartlang.org" source: hosted - version: "2.2.1" + version: "2.2.3" hive_flutter: dependency: "direct main" description: @@ -590,14 +590,14 @@ packages: name: http url: "https://pub.dartlang.org" source: hosted - version: "0.13.4" + version: "0.13.5" http_multi_server: dependency: transitive description: name: http_multi_server url: "https://pub.dartlang.org" source: hosted - version: "3.2.0" + version: "3.2.1" http_parser: dependency: transitive description: @@ -618,14 +618,14 @@ packages: name: icons_launcher url: "https://pub.dartlang.org" source: hosted - version: "1.1.9" + version: "2.0.2" image: dependency: transitive description: name: image url: "https://pub.dartlang.org" source: hosted - version: "3.1.3" + version: "3.2.0" image_cropper: dependency: "direct main" description: @@ -660,7 +660,7 @@ packages: name: image_picker_android url: "https://pub.dartlang.org" source: hosted - version: "0.8.4+13" + version: "0.8.5+2" image_picker_for_web: dependency: transitive description: @@ -674,14 +674,14 @@ packages: name: image_picker_ios url: "https://pub.dartlang.org" source: hosted - version: "0.8.5+5" + version: "0.8.5+6" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.5.0" + version: "2.6.1" infinite_scroll_pagination: dependency: "direct main" description: @@ -749,14 +749,14 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.5.0" + version: "4.6.0" lints: dependency: transitive description: name: lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "2.0.0" logger: dependency: "direct main" description: @@ -819,7 +819,7 @@ packages: name: mobx url: "https://pub.dartlang.org" source: hosted - version: "2.0.7+2" + version: "2.0.7+5" nested: dependency: transitive description: @@ -854,7 +854,7 @@ packages: name: package_config url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" package_info_plus: dependency: "direct main" description: @@ -910,35 +910,35 @@ packages: name: path_drawing url: "https://pub.dartlang.org" source: hosted - version: "0.5.1+1" + version: "1.0.1" path_parsing: dependency: transitive description: name: path_parsing url: "https://pub.dartlang.org" source: hosted - version: "0.2.1" + version: "1.0.1" path_provider: dependency: "direct main" description: name: path_provider url: "https://pub.dartlang.org" source: hosted - version: "2.0.10" + version: "2.0.11" path_provider_android: dependency: transitive description: name: path_provider_android url: "https://pub.dartlang.org" source: hosted - version: "2.0.14" + version: "2.0.17" path_provider_ios: dependency: transitive description: name: path_provider_ios url: "https://pub.dartlang.org" source: hosted - version: "2.0.9" + version: "2.0.11" path_provider_linux: dependency: transitive description: @@ -980,14 +980,28 @@ packages: name: pdf url: "https://pub.dartlang.org" source: hosted - version: "3.8.1" + version: "3.8.2" permission_handler: dependency: "direct main" description: name: permission_handler url: "https://pub.dartlang.org" source: hosted - version: "8.3.0" + version: "10.0.0" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + url: "https://pub.dartlang.org" + source: hosted + version: "10.0.0" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + url: "https://pub.dartlang.org" + source: hosted + version: "9.0.4" permission_handler_platform_interface: dependency: transitive description: @@ -995,6 +1009,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.7.0" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.0" petitparser: dependency: transitive description: @@ -1036,7 +1057,7 @@ packages: name: pointycastle url: "https://pub.dartlang.org" source: hosted - version: "3.6.0" + version: "3.6.1" polkawallet_sdk: dependency: "direct main" description: @@ -1052,14 +1073,14 @@ packages: name: pool url: "https://pub.dartlang.org" source: hosted - version: "1.5.0" + version: "1.5.1" printing: dependency: "direct main" description: name: printing url: "https://pub.dartlang.org" source: hosted - version: "5.9.1" + version: "5.9.2" process: dependency: transitive description: @@ -1073,7 +1094,7 @@ packages: name: protobuf url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.1.0" provider: dependency: "direct main" description: @@ -1138,21 +1159,21 @@ packages: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.27.4" + version: "0.27.5" sentry: dependency: "direct main" description: name: sentry url: "https://pub.dartlang.org" source: hosted - version: "6.5.1" + version: "6.9.0" sentry_flutter: dependency: "direct main" description: name: sentry_flutter url: "https://pub.dartlang.org" source: hosted - version: "6.5.1" + version: "6.9.0" shared_preferences: dependency: "direct main" description: @@ -1215,28 +1236,28 @@ packages: name: shelf url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.2" shelf_packages_handler: dependency: transitive description: name: shelf_packages_handler url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.1" shelf_static: dependency: transitive description: name: shelf_static url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" shelf_web_socket: dependency: transitive description: name: shelf_web_socket url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "1.0.2" sky_engine: dependency: transitive description: flutter @@ -1248,7 +1269,7 @@ packages: name: sliver_tools url: "https://pub.dartlang.org" source: hosted - version: "0.2.6" + version: "0.2.7" source_gen: dependency: transitive description: @@ -1444,21 +1465,21 @@ packages: name: webview_flutter_android url: "https://pub.dartlang.org" source: hosted - version: "2.8.9" + version: "2.9.3" webview_flutter_platform_interface: dependency: transitive description: name: webview_flutter_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.9.0" + version: "1.9.1" webview_flutter_wkwebview: dependency: transitive description: name: webview_flutter_wkwebview url: "https://pub.dartlang.org" source: hosted - version: "2.8.0" + version: "2.9.3" win32: dependency: transitive description: @@ -1466,15 +1487,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.6.1" - window_size: - dependency: "direct main" - description: - path: "plugins/window_size" - ref: HEAD - resolved-ref: "5c51870ced62a00e809ba4b81a846a052d241c9f" - url: "https://github.com/google/flutter-desktop-embedding.git" - source: git - version: "0.1.0" xdg_directories: dependency: transitive description: @@ -1488,7 +1500,7 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "5.4.1" + version: "6.1.0" yaml: dependency: transitive description: @@ -1497,5 +1509,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.17.0 <3.0.0" + dart: ">=2.17.1 <3.0.0" flutter: ">=3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 6a18ef7..1475c89 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.9+15 +version: 0.0.9+16 environment: sdk: '>=2.12.0 <3.0.0' @@ -15,19 +15,15 @@ dependencies: sdk: flutter flutter_driver: sdk: flutter - window_size: - git: - url: https://github.com/google/flutter-desktop-embedding.git - path: plugins/window_size - assorted_layout_widgets: ^5.2.1 + assorted_layout_widgets: ^6.1.1 bubble: ^1.2.1 carousel_slider: ^4.0.0 confirm_dialog: ^1.0.0 crypto: ^3.0.1 fast_base58: ^0.2.0 - flutter_lints: ^1.0.4 + flutter_lints: ^2.0.1 flutter_logs: ^2.1.4 - flutter_svg: ^0.22.0 + flutter_svg: ^1.1.3 graphql_flutter: ^5.1.1-beta.3 hive: ^2.0.4 hive_flutter: ^1.1.0 @@ -40,7 +36,7 @@ dependencies: logger: ^1.1.0 path_provider: ^2.0.9 pdf: ^3.7.1 - permission_handler: ^8.3.0 + permission_handler: ^10.0.0 pin_code_fields: ^7.3.0 printing: ^5.9.1 provider: ^6.0.1 @@ -58,7 +54,7 @@ dependencies: test: ^1.17.10 truncate: ^3.0.1 unorm_dart: ^0.2.0 - xml: ^5.3.0 + xml: ^6.1.0 pull_to_refresh: ^2.0.0 dio: ^4.0.4 desktop_window: ^0.4.0 @@ -66,7 +62,7 @@ dependencies: package_info_plus: ^1.4.2 polkawallet_sdk: #^0.4.8 git: - url: https://github.com/poka-IT/sdk.git #https://github.com/poka-IT/sdk.git + url: https://github.com/poka-IT/sdk.git ref: gecko-old dots_indicator: ^2.1.0 web_socket_channel: ^2.2.0 @@ -79,7 +75,7 @@ dependencies: dev_dependencies: # flutter_launcher_icons: ^0.9.2 # flutter_launcher_icons_maker: ^^0.10.2 - icons_launcher: ^1.1.8 + icons_launcher: ^2.0.2 build_runner: ^2.1.2 flutter_test: sdk: flutter diff --git a/test_driver/app_test.dart b/test_driver/app_test.dart index 3a3243d..fa44048 100644 --- a/test_driver/app_test.dart +++ b/test_driver/app_test.dart @@ -1,9 +1,8 @@ -// ignore_for_file: avoid_print - import 'dart:async'; import 'dart:io'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter_driver/flutter_driver.dart'; +import 'package:gecko/globals.dart'; import 'package:test/test.dart'; // import 'package:flutter/services.dart'; @@ -56,8 +55,8 @@ void main() { } // Easy sleep - Future sleep(int _time) async { - await Future.delayed(Duration(milliseconds: _time)); + Future sleep(int time) async { + await Future.delayed(Duration(milliseconds: time)); } // Test if widget exist on screen, return a boolean @@ -78,10 +77,10 @@ void main() { } // Delete a derivation - Future deleteWallet(bool _confirm) async { + Future deleteWallet(bool confirm) async { await tapOn('deleteWallet'); await sleep(100); - _confirm ? await tapOn('confirmDeleting') : await tapOn('cancelDeleting'); + confirm ? await tapOn('confirmDeleting') : await tapOn('cancelDeleting'); await sleep(300); } @@ -105,7 +104,7 @@ void main() { await sleep(300); await tapOn('generateKeychain'); while (await getText('generatedPin') == '') { - print('Waiting for pin code generation...'); + log.d('Waiting for pin code generation...'); await sleep(100); } pinCode = await getText('generatedPin'); @@ -169,7 +168,7 @@ void main() { await tapOn('goStep7'); while (await getText('word1') == '...') { - print('Waiting for Mnemonic generation...'); + log.d('Waiting for Mnemonic generation...'); await sleep(100); } @@ -224,7 +223,7 @@ void main() { await tapOn('goStep11'); while (await getText('generatedPin') == '') { - print('Waiting for pin code generation...'); + log.d('Waiting for pin code generation...'); await sleep(100); }