diff --git a/lib/providers/generate_wallets.dart b/lib/providers/generate_wallets.dart index ec283afffbf1c0a81b7b58dbb9f72d4426dac2cc..7c5a8b1bc4579375b770e10c5fc9941d981f4187 100644 --- a/lib/providers/generate_wallets.dart +++ b/lib/providers/generate_wallets.dart @@ -85,8 +85,7 @@ class GenerateWalletsProvider with ChangeNotifier { final expectedWord = mnemo.split(' ')[nbrWord]; final normInputWord = unorm.nfkd(inputWord); - if (expectedWord == normInputWord || - (kDebugMode && inputWord == 'triche')) { + if (expectedWord == normInputWord || (kDebugMode && inputWord == 'triche')) { isAskedWordValid = true; askedWordColor = Colors.green[600]; notifyListeners(); @@ -96,10 +95,8 @@ class GenerateWalletsProvider with ChangeNotifier { } String removeDiacritics(String str) { - var withDia = - 'ÀÃÂÃÄÅà áâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÃÃŒÃÃŽÃìÃîïÙÚÛÜùúûüÑñŠšŸÿýŽž'; - var withoutDia = - 'AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz'; + var withDia = 'ÀÃÂÃÄÅà áâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÃÃŒÃÃŽÃìÃîïÙÚÛÜùúûüÑñŠšŸÿýŽž'; + var withoutDia = 'AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz'; for (int i = 0; i < withDia.length; i++) { str = str.replaceAll(withDia[i], withoutDia[i]); @@ -145,8 +142,7 @@ class GenerateWalletsProvider with ChangeNotifier { return pin.text; } - Future<void> generateCesiumWalletPubkey( - String cesiumID, String cesiumPWD) async { + Future<void> generateCesiumWalletPubkey(String cesiumID, String cesiumPWD) async { cesiumWallet = durt.CesiumWallet(cesiumID, cesiumPWD); String walletPubkey = cesiumWallet.pubkey; @@ -220,11 +216,8 @@ class GenerateWalletsProvider with ChangeNotifier { } void resetImportView() { - cellController0.text = cellController1.text = cellController2.text = - cellController3.text = cellController4.text = cellController5.text = - cellController6.text = cellController7.text = cellController8.text = - cellController9.text = - cellController10.text = cellController11.text = ''; + cellController0.text = cellController1.text = cellController2.text = cellController3.text = cellController4.text = cellController5.text = + cellController6.text = cellController7.text = cellController8.text = cellController9.text = cellController10.text = cellController11.text = ''; isFirstTimeSentenceComplete = true; notifyListeners(); } @@ -310,19 +303,15 @@ class GenerateWalletsProvider with ChangeNotifier { scanStatus = ScanDerivationsStatus.scanning; for (int derivationNbr in [for (var i = 0; i < numberScan; i += 1) i]) { - final addressData = await sub.sdk.api.keyring.addressFromMnemonic( - sub.currencyParameters['ss58']!, - cryptoType: CryptoType.sr25519, - mnemonic: generatedMnemonic!, - derivePath: '//$derivationNbr'); + final addressData = await sub.sdk.api.keyring + .addressFromMnemonic(sub.currencyParameters['ss58']!, cryptoType: CryptoType.sr25519, mnemonic: generatedMnemonic!, derivePath: '//$derivationNbr'); addressToScan.putIfAbsent(addressData.address!, () => derivationNbr); } - final balanceList = - await sub.getBalanceMulti(addressToScan.keys.toList()).timeout( - const Duration(seconds: 20), - onTimeout: () => {}, - ); + final balanceList = await sub.getBalanceMulti(addressToScan.keys.toList()).timeout( + const Duration(seconds: 20), + onTimeout: () => {}, + ); // Remove unused wallets balanceList.removeWhere((key, value) => value['transferableBalance'] == 0); @@ -331,13 +320,8 @@ class GenerateWalletsProvider with ChangeNotifier { scanStatus = ScanDerivationsStatus.import; for (String scannedWallet in balanceList.keys) { isAlive = true; - String walletName = scanedWalletNumber == 0 - ? 'currentWallet'.tr() - : '${'wallet'.tr()} ${scanedWalletNumber + 1}'; - await sub.importAccount( - mnemonic: generatedMnemonic!, - derivePath: "//${addressToScan[scannedWallet]}", - password: pin.text); + String walletName = scanedWalletNumber == 0 ? 'currentWallet'.tr() : '${'wallet'.tr()} ${scanedWalletNumber + 1}'; + await sub.importAccount(mnemonic: generatedMnemonic!, derivePath: "//${addressToScan[scannedWallet]}", password: pin.text); WalletData myWallet = WalletData( chest: currentChestNumber, @@ -359,10 +343,8 @@ class GenerateWalletsProvider with ChangeNotifier { } Future<bool> scanRootBalance(SubstrateSdk sub, int currentChestNumber) async { - final addressData = await sub.sdk.api.keyring.addressFromMnemonic( - sub.currencyParameters['ss58']!, - cryptoType: CryptoType.sr25519, - mnemonic: generatedMnemonic!); + final addressData = + await sub.sdk.api.keyring.addressFromMnemonic(sub.currencyParameters['ss58']!, cryptoType: CryptoType.sr25519, mnemonic: generatedMnemonic!); final balance = await sub.getBalance(addressData.address!).timeout( const Duration(seconds: 1), @@ -374,13 +356,7 @@ class GenerateWalletsProvider with ChangeNotifier { await sub.importAccount(mnemonic: generatedMnemonic!, password: pin.text); WalletData myWallet = WalletData( - chest: currentChestNumber, - address: addressData.address!, - number: 0, - name: walletName, - derivation: -1, - imageDefaultPath: '0.png', - isOwned: true); + chest: currentChestNumber, address: addressData.address!, number: 0, name: walletName, derivation: -1, imageDefaultPath: '0.png', isOwned: true); await walletBox.put(myWallet.address, myWallet); scanedWalletNumber++; return true; diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart index a8448602846ff9e10e6f987cb23ff69ceddc6a3f..024249acd1f3313f190a4c4e0e090663e86fefb8 100644 --- a/lib/providers/wallet_options.dart +++ b/lib/providers/wallet_options.dart @@ -36,8 +36,7 @@ class WalletOptionsProvider with ChangeNotifier { return pinLength; } - void _renameWallet(List<int?> walletID, String newName, - {required bool isCesium}) async { + void _renameWallet(List<int?> walletID, String newName, {required bool isCesium}) async { MyWalletsProvider myWalletClass = MyWalletsProvider(); WalletData walletTarget = myWalletClass.getWalletDataById(walletID)!; @@ -50,20 +49,14 @@ class WalletOptionsProvider with ChangeNotifier { Future<int> deleteWallet(context, WalletData wallet) async { final sub = Provider.of<SubstrateSdk>(context, listen: false); final datapod = Provider.of<V2sDatapodProvider>(context, listen: false); - final bool? answer = await (confirmPopup( - context, 'areYouSureToForgetWallet'.tr(args: [wallet.name!]))); + final bool? answer = await (confirmPopup(context, 'areYouSureToForgetWallet'.tr(args: [wallet.name!]))); if (answer ?? false) { //Check if balance is null if (balanceCache[wallet.address] != 0) { - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); final defaultWallet = myWalletProvider.getDefaultWallet(); - sub.pay( - fromAddress: wallet.address, - destAddress: defaultWallet.address, - amount: -1, - password: myWalletProvider.pinCode); + sub.pay(fromAddress: wallet.address, destAddress: defaultWallet.address, amount: -1, password: myWalletProvider.pinCode); } await walletBox.delete(wallet.address); @@ -103,18 +96,21 @@ class WalletOptionsProvider with ChangeNotifier { CroppedFile? croppedFile = await ImageCropper().cropImage( sourcePath: imageFile.path, - aspectRatioPresets: [CropAspectRatioPreset.square], - cropStyle: CropStyle.circle, uiSettings: [ AndroidUiSettings( - hideBottomControls: true, - toolbarTitle: 'Personnalisation', - toolbarColor: Colors.deepOrange, - toolbarWidgetColor: Colors.white, - initAspectRatio: CropAspectRatioPreset.original, - lockAspectRatio: true), + hideBottomControls: true, + toolbarTitle: 'Personnalisation', + toolbarColor: Colors.deepOrange, + toolbarWidgetColor: Colors.white, + initAspectRatio: CropAspectRatioPreset.original, + lockAspectRatio: true, + cropStyle: CropStyle.circle, + aspectRatioPresets: [CropAspectRatioPreset.square], + ), IOSUiSettings( title: 'Cropper', + cropStyle: CropStyle.circle, + aspectRatioPresets: [CropAspectRatioPreset.square], ), ], ); @@ -129,8 +125,7 @@ class WalletOptionsProvider with ChangeNotifier { await File(croppedFile.path).rename(newPath); - final walletData = - MyWalletsProvider().getWalletDataByAddress(address.text); + final walletData = MyWalletsProvider().getWalletDataByAddress(address.text); if (walletData!.imageCustomPath != null) { final avatarFile = File(walletData.imageCustomPath!); @@ -154,10 +149,8 @@ class WalletOptionsProvider with ChangeNotifier { Future<String?> confirmIdentityPopup(BuildContext context) async { final idtyName = TextEditingController(); final sub = Provider.of<SubstrateSdk>(context, listen: false); - final walletOptions = - Provider.of<WalletOptionsProvider>(context, listen: false); - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final walletOptions = Provider.of<WalletOptionsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false); bool canValidate = false; @@ -181,10 +174,7 @@ class WalletOptionsProvider with ChangeNotifier { key: keyEnterIdentityUsername, onChanged: (_) async { idtyExist = await duniterIndexer.isIdtyExist(idtyName.text); - canValidate = !idtyExist && - !await duniterIndexer.isIdtyExist(idtyName.text) && - idtyName.text.length >= 2 && - idtyName.text.length <= 32; + canValidate = !idtyExist && !await duniterIndexer.isIdtyExist(idtyName.text) && idtyName.text.length >= 2 && idtyName.text.length <= 32; notifyListeners(); }, @@ -200,8 +190,7 @@ class WalletOptionsProvider with ChangeNotifier { ), const SizedBox(height: 10), Consumer<WalletOptionsProvider>(builder: (context, wOptions, _) { - return Text(idtyExist ? "thisIdentityAlreadyExist".tr() : '', - style: TextStyle(color: Colors.red[500])); + return Text(idtyExist ? "thisIdentityAlreadyExist".tr() : '', style: TextStyle(color: Colors.red[500])); }) ]), ), @@ -209,29 +198,22 @@ class WalletOptionsProvider with ChangeNotifier { Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Consumer<WalletOptionsProvider>( - builder: (context, wOptions, _) { + Consumer<WalletOptionsProvider>(builder: (context, wOptions, _) { return TextButton( key: keyConfirm, onPressed: canValidate ? () async { - idtyName.text = - idtyName.text.trim().replaceAll(' ', ''); + idtyName.text = idtyName.text.trim().replaceAll(' ', ''); - if (idtyName.text.length.clamp(3, 32) != - idtyName.text.length) { + if (idtyName.text.length.clamp(3, 32) != idtyName.text.length) { return; } if (!await myWalletProvider.askPinCode()) return; - final wallet = myWalletProvider - .getWalletDataByAddress(address.text); + final wallet = myWalletProvider.getWalletDataByAddress(address.text); await sub.setCurrentWallet(wallet!); - final transactionId = await sub.confirmIdentity( - walletOptions.address.text, - idtyName.text, - myWalletProvider.pinCode); + final transactionId = await sub.confirmIdentity(walletOptions.address.text, idtyName.text, myWalletProvider.pinCode); Navigator.pop(context); Navigator.push( @@ -249,11 +231,7 @@ class WalletOptionsProvider with ChangeNotifier { : null, child: Text( "validate".tr(), - style: TextStyle( - fontSize: 20, - color: canValidate - ? const Color(0xffD80000) - : Colors.grey[500]), + style: TextStyle(fontSize: 20, color: canValidate ? const Color(0xffD80000) : Colors.grey[500]), ), ); }) @@ -297,17 +275,14 @@ class WalletOptionsProvider with ChangeNotifier { Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Consumer<WalletOptionsProvider>( - builder: (context, wOptions, _) { + Consumer<WalletOptionsProvider>(builder: (context, wOptions, _) { return TextButton( key: keyInfoPopup, child: Text( "validate".tr(), style: TextStyle( fontSize: 20, - color: canValidateNameBool - ? const Color(0xffD80000) - : Colors.grey, + color: canValidateNameBool ? const Color(0xffD80000) : Colors.grey, fontWeight: FontWeight.w600, ), ), @@ -330,10 +305,7 @@ class WalletOptionsProvider with ChangeNotifier { key: keyCancel, child: Text( "cancel".tr(), - style: TextStyle( - fontSize: 17, - color: Colors.grey[800], - fontWeight: FontWeight.w300), + style: TextStyle(fontSize: 17, color: Colors.grey[800], fontWeight: FontWeight.w300), ), onPressed: () async { Navigator.pop(context); @@ -349,12 +321,9 @@ class WalletOptionsProvider with ChangeNotifier { } bool canValidateName(BuildContext context, final walletName) { - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); - bool isNameValid = walletName.text.length >= 2 && - !walletName.text.contains(':') && - walletName.text.length <= 39; + bool isNameValid = walletName.text.length >= 2 && !walletName.text.contains(':') && walletName.text.length <= 39; if (isNameValid) { for (var wallet in myWalletProvider.listWallets) { diff --git a/lib/screens/activity.dart b/lib/screens/activity.dart index 48bed660a6de5073b27be438555e0cf40ed72e2e..9d7a5f6d35943eb155024dc8297fc26efdcf3087 100644 --- a/lib/screens/activity.dart +++ b/lib/screens/activity.dart @@ -35,7 +35,7 @@ class _ActivityScreenState extends State<ActivityScreen> { final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: true); return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { duniterIndexer.refetch = duniterIndexer.transBC = null; }, child: Scaffold( diff --git a/lib/screens/home.dart b/lib/screens/home.dart index a6195fd7558605ae3d94f4f759e8d709e2ec8627..f3cfb64455ec53bd8227fdc668b3e9c8f5c6e279 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -37,10 +37,8 @@ class _HomeScreenState extends State<HomeScreen> { WidgetsBinding.instance.addPostFrameCallback((_) async { final homeProvider = Provider.of<HomeProvider>(context, listen: false); final sub = Provider.of<SubstrateSdk>(context, listen: false); - final duniterIndexer = - Provider.of<DuniterIndexer>(context, listen: false); - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); final datapod = Provider.of<V2sDatapodProvider>(context, listen: false); final bool isWalletsExists = myWalletProvider.isWalletsExists(); @@ -104,11 +102,9 @@ class _HomeScreenState extends State<HomeScreen> { configBox.put('isCacheChecked', false); } - Connectivity() - .onConnectivityChanged - .listen((ConnectivityResult result) async { + Future<void> updateConnectionStatus(List<ConnectivityResult> result) async { log.i('Network changed: $result'); - if (result == ConnectivityResult.none) { + if (result.contains(ConnectivityResult.none)) { sub.nodeConnected = false; await sub.sdk.api.setting.unsubscribeBestNumber(); homeProvider.changeMessage("notConnectedToInternet".tr(), 0); @@ -116,11 +112,13 @@ class _HomeScreenState extends State<HomeScreen> { } else { // Check if the phone is actually connected to the internet var connectivityResult = await (Connectivity().checkConnectivity()); - if (connectivityResult != ConnectivityResult.none) { + if (!connectivityResult.contains(ConnectivityResult.none)) { await sub.connectNode(); } } - }); + } + + Connectivity().onConnectivityChanged.listen(updateConnectionStatus); } }); super.initState(); @@ -134,9 +132,7 @@ class _HomeScreenState extends State<HomeScreen> { Provider.of<ChestProvider>(context); final isWalletsExists = myWalletProvider.isWalletsExists(); - isTall = (MediaQuery.of(context).size.height / - MediaQuery.of(context).size.width) > - 1.75; + isTall = (MediaQuery.of(context).size.height / MediaQuery.of(context).size.width) > 1.75; return Scaffold( resizeToAvoidBottomInset: false, @@ -157,8 +153,7 @@ Widget geckHome(context) { fit: BoxFit.cover, ), ), - child: - Column(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Stack(children: <Widget>[ Positioned( top: statusBarHeight + scaleSize(10), @@ -176,15 +171,12 @@ Widget geckHome(context) { ), ), Align( - child: Image( - image: const AssetImage('assets/home/header.png'), - height: scaleSize(165)), + child: Image(image: const AssetImage('assets/home/header.png'), height: scaleSize(165)), ), ]), Padding( padding: const EdgeInsets.only(top: 15), - child: - Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ + child: Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ DefaultTextStyle( textAlign: TextAlign.center, style: scaledTextStyle( @@ -245,8 +237,7 @@ Widget welcomeHome(context) { fit: BoxFit.cover, ), ), - child: - Column(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Stack(children: <Widget>[ Positioned( top: statusBarHeight + scaleSize(10), @@ -264,15 +255,12 @@ Widget welcomeHome(context) { ), ), Align( - child: Image( - image: const AssetImage('assets/home/header.png'), - height: scaleSize(165)), + child: Image(image: const AssetImage('assets/home/header.png'), height: scaleSize(165)), ), ]), Padding( padding: const EdgeInsets.only(top: 1), - child: - Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ + child: Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text( "fastAppDescription".tr(args: [currencyName]), textAlign: TextAlign.center, @@ -320,8 +308,7 @@ Widget welcomeHome(context) { Padding( padding: EdgeInsets.only(top: scaleSize(55)), child: Image( - image: const AssetImage( - 'assets/home/gecko-bienvenue.png'), + image: const AssetImage('assets/home/gecko-bienvenue.png'), height: scaleSize(180), ), ), @@ -355,10 +342,7 @@ Widget welcomeHome(context) { }, child: Text( 'createWallet'.tr(), - style: scaledTextStyle( - fontSize: 20, - fontWeight: FontWeight.w600, - color: Colors.white), + style: scaledTextStyle(fontSize: 20, fontWeight: FontWeight.w600, color: Colors.white), ), ), ), @@ -368,8 +352,7 @@ Widget welcomeHome(context) { height: 60, child: OutlinedButton( key: keyRestoreChest, - style: OutlinedButton.styleFrom( - side: BorderSide(width: scaleSize(4), color: orangeC)), + style: OutlinedButton.styleFrom(side: BorderSide(width: scaleSize(4), color: orangeC)), onPressed: () { Navigator.push( context, @@ -382,10 +365,7 @@ Widget welcomeHome(context) { }, child: Text( "restoreWallet".tr(), - style: scaledTextStyle( - fontSize: 20, - color: orangeC, - fontWeight: FontWeight.w600), + style: scaledTextStyle(fontSize: 20, color: orangeC, fontWeight: FontWeight.w600), ), ), ), diff --git a/lib/screens/myWallets/change_pin.dart b/lib/screens/myWallets/change_pin.dart index 006ab68beb49e04f5694c1cf2aa422ef2f830a05..984c1551257f2e732bed5b990764db67c6139558 100644 --- a/lib/screens/myWallets/change_pin.dart +++ b/lib/screens/myWallets/change_pin.dart @@ -10,11 +10,7 @@ import 'package:gecko/widgets/commons/top_appbar.dart'; import 'package:provider/provider.dart'; class ChangePinScreen extends StatefulWidget with ChangeNotifier { - ChangePinScreen( - {Key? keyMyWallets, - required this.walletName, - required this.walletProvider}) - : super(key: keyMyWallets); + ChangePinScreen({Key? keyMyWallets, required this.walletName, required this.walletProvider}) : super(key: keyMyWallets); final String? walletName; final MyWalletsProvider walletProvider; @@ -34,11 +30,10 @@ class _ChangePinScreenState extends State<ChangePinScreen> { @override Widget build(BuildContext context) { final sub = Provider.of<SubstrateSdk>(context, listen: false); - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { newPin.text = ''; }, child: Scaffold( @@ -51,10 +46,7 @@ class _ChangePinScreenState extends State<ChangePinScreen> { Text( 'choosePassword'.tr(), textAlign: TextAlign.center, - style: TextStyle( - fontSize: 16.0, - color: Colors.grey[600], - fontWeight: FontWeight.w400), + style: TextStyle(fontSize: 16.0, color: Colors.grey[600], fontWeight: FontWeight.w400), ), const SizedBox(height: 30), Stack( @@ -66,10 +58,7 @@ class _ChangePinScreenState extends State<ChangePinScreen> { maxLines: 1, textAlign: TextAlign.center, decoration: const InputDecoration(), - style: const TextStyle( - fontSize: 29.0, - color: Colors.black, - fontWeight: FontWeight.bold)), + style: const TextStyle(fontSize: 29.0, color: Colors.black, fontWeight: FontWeight.bold)), IconButton( icon: const Icon(Icons.replay), color: orangeC, @@ -94,8 +83,7 @@ class _ChangePinScreenState extends State<ChangePinScreen> { if (!await myWalletProvider.askPinCode()) return; - await sub.changePassword(context, defaultWallet.address, - widget.walletProvider.pinCode, newPin.text); + await sub.changePassword(context, defaultWallet.address, widget.walletProvider.pinCode, newPin.text); widget.walletProvider.pinCode = newPin.text; newPin.text = ''; Navigator.pop(context); diff --git a/lib/screens/myWallets/choose_chest.dart b/lib/screens/myWallets/choose_chest.dart index c477a84ebc82d294f9ffb49b40bb62da56714753..2e8d4ef49138520bc919f77aeb72a852688b2963 100644 --- a/lib/screens/myWallets/choose_chest.dart +++ b/lib/screens/myWallets/choose_chest.dart @@ -22,7 +22,7 @@ class ChooseChest extends StatefulWidget { class _ChooseChestState extends State<ChooseChest> { final tplController = TextEditingController(); - CarouselController buttonCarouselController = CarouselController(); + final buttonCarouselController = CarouselSliderController(); int? currentChest = configBox.get('currentChest'); @override @@ -31,8 +31,7 @@ class _ChooseChestState extends State<ChooseChest> { return Scaffold( backgroundColor: backgroundColor, - appBar: AppBar( - toolbarHeight: scaleSize(57), title: Text('selectMyChest'.tr())), + appBar: AppBar(toolbarHeight: scaleSize(57), title: Text('selectMyChest'.tr())), body: SafeArea( child: Column(children: <Widget>[ const SizedBox(height: 160), @@ -77,21 +76,15 @@ class _ChooseChestState extends State<ChooseChest> { mainAxisAlignment: MainAxisAlignment.center, children: chestBox.toMap().entries.map((entry) { return GestureDetector( - onTap: () => - buttonCarouselController.animateToPage(entry.key), + onTap: () => buttonCarouselController.animateToPage(entry.key), child: Container( width: 12.0, height: 12.0, - margin: const EdgeInsets.symmetric( - vertical: 8.0, horizontal: 4.0), + margin: const EdgeInsets.symmetric(vertical: 8.0, horizontal: 4.0), decoration: BoxDecoration( shape: BoxShape.circle, - color: - (Theme.of(context).brightness == Brightness.dark - ? Colors.white - : Colors.black) - .withOpacity( - currentChest == entry.key ? 0.9 : 0.4)), + color: (Theme.of(context).brightness == Brightness.dark ? Colors.white : Colors.black) + .withOpacity(currentChest == entry.key ? 0.9 : 0.4)), ), ); }).toList(), @@ -118,10 +111,7 @@ class _ChooseChestState extends State<ChooseChest> { }, child: Text( 'openThisChest'.tr(), - style: const TextStyle( - fontSize: 21, - color: backgroundColor, - fontWeight: FontWeight.w600), + style: const TextStyle(fontSize: 21, color: backgroundColor, fontWeight: FontWeight.w600), ), ), ), @@ -142,12 +132,7 @@ class _ChooseChestState extends State<ChooseChest> { child: SizedBox( width: 400, height: 50, - child: Center( - child: Text('createChest'.tr(), - style: const TextStyle( - fontSize: 21, - color: orangeC, - fontWeight: FontWeight.w600))), + child: Center(child: Text('createChest'.tr(), style: const TextStyle(fontSize: 21, color: orangeC, fontWeight: FontWeight.w600))), ), ), ), @@ -165,12 +150,7 @@ class _ChooseChestState extends State<ChooseChest> { child: SizedBox( width: 400, height: 50, - child: Center( - child: Text('importChest'.tr(), - style: const TextStyle( - fontSize: 21, - color: orangeC, - fontWeight: FontWeight.w600))), + child: Center(child: Text('importChest'.tr(), style: const TextStyle(fontSize: 21, color: orangeC, fontWeight: FontWeight.w600))), )), const SizedBox(height: 20), ]), diff --git a/lib/screens/myWallets/import_g1_v1.dart b/lib/screens/myWallets/import_g1_v1.dart index 9bc72e3c6a0a2b36418b7fff7b7e461f73ec0b0f..b2cf4a642fa86241176b611585c726ec4953bb3f 100644 --- a/lib/screens/myWallets/import_g1_v1.dart +++ b/lib/screens/myWallets/import_g1_v1.dart @@ -25,14 +25,13 @@ class ImportG1v1 extends StatelessWidget { @override Widget build(BuildContext context) { - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); Timer? debounce; WalletData selectedWallet = myWalletProvider.getDefaultWallet(); return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { resetScreen(); }, child: Scaffold( @@ -41,25 +40,21 @@ class ImportG1v1 extends StatelessWidget { body: SafeArea( child: Consumer<SubstrateSdk>(builder: (context, sub, _) { return FutureBuilder( - future: sub.getBalanceAndIdtyStatus( - sub.g1V1NewAddress, selectedWallet.address), - builder: (BuildContext context, - AsyncSnapshot<MigrateWalletChecks> status) { + future: sub.getBalanceAndIdtyStatus(sub.g1V1NewAddress, selectedWallet.address), + builder: (BuildContext context, AsyncSnapshot<MigrateWalletChecks> status) { if (status.data == null) { return Column(children: [ ScaledSizedBox(height: 80), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - ScaledSizedBox( - height: 35, - width: 35, - child: const CircularProgressIndicator( - color: orangeC, - strokeWidth: 4, - ), - ), - ]), + Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + ScaledSizedBox( + height: 35, + width: 35, + child: const CircularProgressIndicator( + color: orangeC, + strokeWidth: 4, + ), + ), + ]), ]); } @@ -78,13 +73,10 @@ class ImportG1v1 extends StatelessWidget { if (debounce?.isActive ?? false) { debounce!.cancel(); } - debounce = Timer( - const Duration(milliseconds: debouneTime), () { - if (sub.csSalt.text != '' && - sub.csPassword.text != '') { + debounce = Timer(const Duration(milliseconds: debouneTime), () { + if (sub.csSalt.text != '' && sub.csPassword.text != '') { sub.reload(); - sub.csToV2Address( - sub.csSalt.text, sub.csPassword.text); + sub.csToV2Address(sub.csSalt.text, sub.csPassword.text); } }); }, @@ -98,9 +90,7 @@ class ImportG1v1 extends StatelessWidget { suffixIcon: IconButton( key: keyCesiumIdVisible, icon: Icon( - sub.isCesiumIDVisible - ? Icons.visibility_off - : Icons.visibility, + sub.isCesiumIDVisible ? Icons.visibility_off : Icons.visibility, color: Colors.black, size: scaleSize(22), ), @@ -119,14 +109,11 @@ class ImportG1v1 extends StatelessWidget { if (debounce?.isActive ?? false) { debounce!.cancel(); } - debounce = Timer( - const Duration(milliseconds: debouneTime), () { + debounce = Timer(const Duration(milliseconds: debouneTime), () { sub.g1V1NewAddress = ''; - if (sub.csSalt.text != '' && - sub.csPassword.text != '') { + if (sub.csSalt.text != '' && sub.csPassword.text != '') { sub.reload(); - sub.csToV2Address( - sub.csSalt.text, sub.csPassword.text); + sub.csToV2Address(sub.csSalt.text, sub.csPassword.text); } }); }, @@ -139,9 +126,7 @@ class ImportG1v1 extends StatelessWidget { hintStyle: scaledTextStyle(fontSize: 13), suffixIcon: IconButton( icon: Icon( - sub.isCesiumIDVisible - ? Icons.visibility_off - : Icons.visibility, + sub.isCesiumIDVisible ? Icons.visibility_off : Icons.visibility, color: Colors.black, size: scaleSize(22), ), @@ -162,32 +147,24 @@ class ImportG1v1 extends StatelessWidget { GestureDetector( key: keyCopyPubkey, onTap: () { - Clipboard.setData( - ClipboardData(text: sub.g1V1OldPubkey)); + Clipboard.setData(ClipboardData(text: sub.g1V1OldPubkey)); snackCopyKey(context); }, child: Text( 'v1: ${getShortPubkey(sub.g1V1OldPubkey)}', - style: scaledTextStyle( - fontSize: 15, - fontWeight: FontWeight.w600, - fontFamily: 'Monospace'), + style: scaledTextStyle(fontSize: 15, fontWeight: FontWeight.w600, fontFamily: 'Monospace'), ), ), ScaledSizedBox(height: 5), GestureDetector( key: keyCopyAddress, onTap: () { - Clipboard.setData( - ClipboardData(text: sub.g1V1OldPubkey)); + Clipboard.setData(ClipboardData(text: sub.g1V1OldPubkey)); snackCopyKey(context); }, child: Text( 'v2: ${getShortPubkey(sub.g1V1NewAddress)}', - style: scaledTextStyle( - fontSize: 15, - fontWeight: FontWeight.w600, - fontFamily: 'Monospace'), + style: scaledTextStyle(fontSize: 15, fontWeight: FontWeight.w600, fontFamily: 'Monospace'), ), ), ], @@ -199,13 +176,9 @@ class ImportG1v1 extends StatelessWidget { '${statusData.fromBalance['transferableBalance']} $unit', style: scaledTextStyle(fontSize: 15), ), - IdentityStatus( - address: sub.g1V1NewAddress, - isOwner: false, - color: Colors.black), + IdentityStatus(address: sub.g1V1NewAddress, isOwner: false, color: Colors.black), ScaledSizedBox(width: 10), - Certifications( - address: sub.g1V1NewAddress, size: 14) + Certifications(address: sub.g1V1NewAddress, size: 14) ], ), ], @@ -251,8 +224,7 @@ class ImportG1v1 extends StatelessWidget { ), onPressed: statusData.canValidate ? () async { - WalletData? defaultWallet = - myWalletProvider.getDefaultWallet(); + WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); String? pin; if (myWalletProvider.pinCode == '') { @@ -260,8 +232,7 @@ class ImportG1v1 extends StatelessWidget { context, MaterialPageRoute( builder: (homeContext) { - return UnlockingWallet( - wallet: defaultWallet); + return UnlockingWallet(wallet: defaultWallet); }, ), ); @@ -283,10 +254,8 @@ class ImportG1v1 extends StatelessWidget { return TransactionInProgress( transactionId: transactionId, transType: 'identityMigration', - fromAddress: - getShortPubkey(sub.g1V1NewAddress), - toAddress: getShortPubkey( - selectedWallet.address)); + fromAddress: getShortPubkey(sub.g1V1NewAddress), + toAddress: getShortPubkey(selectedWallet.address)); }), ); resetScreen(); @@ -294,8 +263,7 @@ class ImportG1v1 extends StatelessWidget { : null, child: Text( 'migrateAccount'.tr(), - style: scaledTextStyle( - fontSize: 18, fontWeight: FontWeight.w600), + style: scaledTextStyle(fontSize: 18, fontWeight: FontWeight.w600), ), ), ), @@ -303,8 +271,7 @@ class ImportG1v1 extends StatelessWidget { Text( statusData.validationStatus, textAlign: TextAlign.center, - style: scaledTextStyle( - fontSize: 11, color: Colors.grey[600]), + style: scaledTextStyle(fontSize: 11, color: Colors.grey[600]), ) ]); }); diff --git a/lib/screens/myWallets/restore_chest.dart b/lib/screens/myWallets/restore_chest.dart index 4047efd7d1fe8157bf6319ce0b4cf4aba06b6a98..5aa5091b6fdfd17a144299158d5079e1980c68a8 100644 --- a/lib/screens/myWallets/restore_chest.dart +++ b/lib/screens/myWallets/restore_chest.dart @@ -32,7 +32,7 @@ class RestoreChest extends StatelessWidget { } return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { genW.resetImportView(); }, child: Scaffold( diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index 7e08708e52404a3968cd1917c1f80497c2e84f50..b0c636c095ed80210e583b0bee0340c09c76e0da 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -46,7 +46,7 @@ class UnlockingWallet extends StatelessWidget { // if (enterPin.text == '') myWalletProvider.isPinLoading = true; return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { myWalletProvider.isPinValid = false; myWalletProvider.isPinLoading = true; }, diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index f2be1442160043f5ba4d0bd9131d01c115aa5313..d55fcca407e6c6cc13d738578e0aefa382228409 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -27,18 +27,14 @@ import 'package:provider/provider.dart'; import 'package:qr_flutter/qr_flutter.dart'; class WalletOptions extends StatelessWidget { - const WalletOptions({Key? keyMyWallets, required this.wallet}) - : super(key: keyMyWallets); + const WalletOptions({Key? keyMyWallets, required this.wallet}) : super(key: keyMyWallets); final WalletData wallet; @override Widget build(BuildContext context) { - final walletOptions = - Provider.of<WalletOptionsProvider>(context, listen: false); - WalletsProfilesProvider historyProvider = - Provider.of<WalletsProfilesProvider>(context, listen: false); - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final walletOptions = Provider.of<WalletOptionsProvider>(context, listen: false); + WalletsProfilesProvider historyProvider = Provider.of<WalletsProfilesProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false); final sub = Provider.of<SubstrateSdk>(context, listen: false); @@ -46,8 +42,7 @@ class WalletOptions extends StatelessWidget { walletOptions.address.text = wallet.address; final currentChest = myWalletProvider.getCurrentChest(); - final isWalletNameIndexed = - duniterIndexer.walletNameIndexer[walletOptions.address.text] != null; + final isWalletNameIndexed = duniterIndexer.walletNameIndexer[walletOptions.address.text] != null; // StreamSubscription<QueryResult>? subscription; // final stream = duniterIndexer.subscribeHistoryIssued(wallet.address); @@ -68,7 +63,7 @@ class WalletOptions extends StatelessWidget { // }); return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { walletOptions.isEditing = false; walletOptions.isBalanceBlur = false; myWalletProvider.reload(); @@ -79,13 +74,9 @@ class WalletOptions extends StatelessWidget { appBar: AppBar( toolbarHeight: scaleSize(57), elevation: 0, - title: Consumer<WalletOptionsProvider>( - builder: (context, walletProvider, _) { + title: Consumer<WalletOptionsProvider>(builder: (context, walletProvider, _) { return Text( - isWalletNameIndexed - ? duniterIndexer - .walletNameIndexer[walletOptions.address.text]! - : wallet.name!, + isWalletNameIndexed ? duniterIndexer.walletNameIndexer[walletOptions.address.text]! : wallet.name!, style: scaledTextStyle(fontSize: 18), ); }), @@ -118,8 +109,7 @@ class WalletOptions extends StatelessWidget { height: 5, color: yellowC, ), - Consumer<WalletOptionsProvider>( - builder: (context, walletProvider, _) { + Consumer<WalletOptionsProvider>(builder: (context, walletProvider, _) { return Container( decoration: const BoxDecoration( gradient: LinearGradient( @@ -135,135 +125,89 @@ class WalletOptions extends StatelessWidget { ScaledSizedBox(width: 15), avatar(walletProvider), const Spacer(flex: 1), - Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: <Widget>[ - Stack(children: [ - ScaledSizedBox( - width: 230, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Consumer<WalletOptionsProvider>( - builder: (context, walletProvider, _) { - return NameByAddress( - wallet: wallet, - size: 24, - color: Colors.black, - fontWeight: wallet.identityStatus == - IdtyStatus.member - ? FontWeight.w500 - : FontWeight.w400, - fontStyle: FontStyle.normal); - }) - ], + Column(crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ + Stack(children: [ + ScaledSizedBox( + width: 230, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Consumer<WalletOptionsProvider>(builder: (context, walletProvider, _) { + return NameByAddress( + wallet: wallet, + size: 24, + color: Colors.black, + fontWeight: wallet.identityStatus == IdtyStatus.member ? FontWeight.w500 : FontWeight.w400, + fontStyle: FontStyle.normal); + }) + ], + ), + ), + ScaledSizedBox(width: 10), + if (duniterIndexer.walletNameIndexer[wallet.address] == null) + Positioned( + right: 0, + child: InkWell( + key: keyRenameWallet, + onTap: () async { + await walletOptions.editWalletName(context, wallet.id()); + await Future.delayed(const Duration(milliseconds: 30)); + }, + child: ClipRRect( + child: Image.asset(walletOptions.isEditing ? 'assets/walletOptions/android-checkmark.png' : 'assets/walletOptions/edit.png', + width: scaleSize(23), height: scaleSize(23)), ), ), - ScaledSizedBox(width: 10), - if (duniterIndexer - .walletNameIndexer[wallet.address] == - null) - Positioned( - right: 0, - child: InkWell( - key: keyRenameWallet, - onTap: () async { - await walletOptions.editWalletName( - context, wallet.id()); - await Future.delayed( - const Duration(milliseconds: 30)); - }, - child: ClipRRect( - child: Image.asset( - walletOptions.isEditing - ? 'assets/walletOptions/android-checkmark.png' - : 'assets/walletOptions/edit.png', - width: scaleSize(23), - height: scaleSize(23)), - ), - ), - ), - ]), - ScaledSizedBox(height: 5), - Balance( - address: walletProvider.address.text, size: 20), - ScaledSizedBox(width: 30), - InkWell( - onTap: () => sub.certsCounterCache[ - walletProvider.address.text] != - null - ? { - Navigator.push( - context, - PageNoTransit(builder: (context) { - return CertificationsScreen( - address: - walletProvider.address.text, - username: duniterIndexer - .walletNameIndexer[ - walletProvider - .address.text] ?? - ''); - }), - ), - } - : null, - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - IdentityStatus( - address: walletOptions.address.text, - isOwner: true, - color: orangeC), - Certifications( - address: walletProvider.address.text, - size: 17) - ]), ), - ScaledSizedBox(height: 10), + ]), + ScaledSizedBox(height: 5), + Balance(address: walletProvider.address.text, size: 20), + ScaledSizedBox(width: 30), + InkWell( + onTap: () => sub.certsCounterCache[walletProvider.address.text] != null + ? { + Navigator.push( + context, + PageNoTransit(builder: (context) { + return CertificationsScreen( + address: walletProvider.address.text, username: duniterIndexer.walletNameIndexer[walletProvider.address.text] ?? ''); + }), + ), + } + : null, + child: Column(crossAxisAlignment: CrossAxisAlignment.center, children: [ + IdentityStatus(address: walletOptions.address.text, isOwner: true, color: orangeC), + Certifications(address: walletProvider.address.text, size: 17) ]), + ), + ScaledSizedBox(height: 10), + ]), const Spacer(flex: 2), ]), ); }), Expanded( child: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: <Widget>[ - ScaledSizedBox(height: 25), - Consumer<WalletOptionsProvider>( - builder: (context, walletProvider, _) { - final defaultWallet = - myWalletProvider.getDefaultWallet(); - walletProvider.isDefaultWallet = - walletOptions.address.text == - defaultWallet.address; - return Column(children: [ - confirmIdentityButton(walletProvider), - pubkeyWidget(walletProvider, ctx), - ScaledSizedBox(height: 11), - activityWidget( - context, historyProvider, walletProvider), - ScaledSizedBox(height: 11), - setDefaultWalletWidget( - context, - walletProvider, - myWalletProvider, - walletOptions, - currentChest), - ScaledSizedBox(height: 11), - Column(children: [ - if (!walletProvider.isDefaultWallet && - !wallet.isMembre()) - deleteWallet( - context, walletProvider, currentChest), - if (wallet.isMembre()) - const ManageMembershipButton() - ]) - ]); - }), - ]), + child: Column(crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ + ScaledSizedBox(height: 25), + Consumer<WalletOptionsProvider>(builder: (context, walletProvider, _) { + final defaultWallet = myWalletProvider.getDefaultWallet(); + walletProvider.isDefaultWallet = walletOptions.address.text == defaultWallet.address; + return Column(children: [ + confirmIdentityButton(walletProvider), + pubkeyWidget(walletProvider, ctx), + ScaledSizedBox(height: 11), + activityWidget(context, historyProvider, walletProvider), + ScaledSizedBox(height: 11), + setDefaultWalletWidget(context, walletProvider, myWalletProvider, walletOptions, currentChest), + ScaledSizedBox(height: 11), + Column(children: [ + if (!walletProvider.isDefaultWallet && !wallet.isMembre()) deleteWallet(context, walletProvider, currentChest), + if (wallet.isMembre()) const ManageMembershipButton() + ]) + ]); + }), + ]), ), ), ]), @@ -325,8 +269,7 @@ class WalletOptions extends StatelessWidget { return FutureBuilder( future: sub.idtyStatus([walletProvider.address.text]), initialData: const [IdtyStatus.unknown], - builder: - (BuildContext context, AsyncSnapshot<List<IdtyStatus>> snapshot) { + builder: (BuildContext context, AsyncSnapshot<List<IdtyStatus>> snapshot) { if (!snapshot.hasData || snapshot.hasError) { return const SizedBox.shrink(); } @@ -347,8 +290,7 @@ class WalletOptions extends StatelessWidget { }, child: Text( 'confirmMyIdentity'.tr(), - style: scaledTextStyle( - fontSize: 20, fontWeight: FontWeight.w600), + style: scaledTextStyle(fontSize: 20, fontWeight: FontWeight.w600), ), ), ), @@ -387,12 +329,7 @@ class WalletOptions extends StatelessWidget { height: scaleSize(42), ), ScaledSizedBox(width: 19), - Text(shortPubkey, - style: scaledTextStyle( - fontSize: 18, - fontWeight: FontWeight.w800, - fontFamily: 'Monospace', - color: Colors.black)), + Text(shortPubkey, style: scaledTextStyle(fontSize: 18, fontWeight: FontWeight.w800, fontFamily: 'Monospace', color: Colors.black)), const Spacer(), ScaledSizedBox( height: 35, @@ -406,8 +343,7 @@ class WalletOptions extends StatelessWidget { elevation: 1, ), onPressed: () { - Clipboard.setData( - ClipboardData(text: walletProvider.address.text)); + Clipboard.setData(ClipboardData(text: walletProvider.address.text)); snackCopyKey(ctx); }, child: Row(children: <Widget>[ @@ -424,10 +360,7 @@ class WalletOptions extends StatelessWidget { ); } - Widget activityWidget( - BuildContext context, - WalletsProfilesProvider historyProvider, - WalletOptionsProvider walletProvider) { + Widget activityWidget(BuildContext context, WalletsProfilesProvider historyProvider, WalletOptionsProvider walletProvider) { return InkWell( key: keyOpenActivity, onTap: () { @@ -453,12 +386,7 @@ class WalletOptions extends StatelessWidget { ); } - Widget setDefaultWalletWidget( - BuildContext context, - WalletOptionsProvider walletProvider, - final myWalletProvider, - final walletOptions, - int currentChest) { + Widget setDefaultWalletWidget(BuildContext context, WalletOptionsProvider walletProvider, final myWalletProvider, final walletOptions, int currentChest) { return Consumer<MyWalletsProvider>(builder: (context, myWalletProvider, _) { WalletData defaultWallet = myWalletProvider.getDefaultWallet(); walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id()[1]); @@ -476,8 +404,7 @@ class WalletOptions extends StatelessWidget { ScaledSizedBox( height: 42, child: CircleAvatar( - backgroundColor: - Colors.grey[walletProvider.isDefaultWallet ? 300 : 500], + backgroundColor: Colors.grey[walletProvider.isDefaultWallet ? 300 : 500], child: Image.asset( 'assets/walletOptions/android-checkmark.png', height: scaleSize(23), @@ -487,15 +414,8 @@ class WalletOptions extends StatelessWidget { ScaledSizedBox(width: isTall ? 21 : 18), ScaledSizedBox( width: 250, - child: Text( - walletProvider.isDefaultWallet - ? 'thisWalletIsDefault'.tr() - : 'defineWalletAsDefault'.tr(), - style: scaledTextStyle( - fontSize: 17, - color: walletProvider.isDefaultWallet - ? Colors.grey[500] - : Colors.black)), + child: Text(walletProvider.isDefaultWallet ? 'thisWalletIsDefault'.tr() : 'defineWalletAsDefault'.tr(), + style: scaledTextStyle(fontSize: 17, color: walletProvider.isDefaultWallet ? Colors.grey[500] : Colors.black)), ), ]), ), @@ -505,10 +425,8 @@ class WalletOptions extends StatelessWidget { Future setDefaultWallet(BuildContext context, int currentChest) async { final sub = Provider.of<SubstrateSdk>(context, listen: false); - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); - final walletOptions = - Provider.of<WalletOptionsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); + final walletOptions = Provider.of<WalletOptionsProvider>(context, listen: false); await sub.setCurrentWallet(wallet); await myWalletProvider.readAllWallets(currentChest); @@ -516,37 +434,27 @@ class WalletOptions extends StatelessWidget { walletOptions.reload(); } - Widget deleteWallet(BuildContext context, WalletOptionsProvider walletOptions, - int currentChest) { + Widget deleteWallet(BuildContext context, WalletOptionsProvider walletOptions, int currentChest) { final sub = Provider.of<SubstrateSdk>(context, listen: false); - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); final defaultWallet = myWalletProvider.getDefaultWallet(); - final bool isDefaultWallet = - walletOptions.address.text == defaultWallet.address; + final bool isDefaultWallet = walletOptions.address.text == defaultWallet.address; return FutureBuilder( future: sub.hasAccountConsumers(wallet.address), builder: (BuildContext context, AsyncSnapshot<bool> hasConsumers) { - if (hasConsumers.connectionState != ConnectionState.done || - hasConsumers.hasError || - !hasConsumers.hasData) { + if (hasConsumers.connectionState != ConnectionState.done || hasConsumers.hasError || !hasConsumers.hasData) { return const Text(''); } - final double balance = - walletOptions.balanceCache[walletOptions.address.text] ?? -1; - final bool canDelete = !isDefaultWallet && - !hasConsumers.data! && - (balance > 2 || balance == 0) && - !wallet.hasIdentity(); + final double balance = walletOptions.balanceCache[walletOptions.address.text] ?? -1; + final bool canDelete = !isDefaultWallet && !hasConsumers.data! && (balance > 2 || balance == 0) && !wallet.hasIdentity(); return InkWell( key: keyDeleteWallet, onTap: canDelete ? () async { await walletOptions.deleteWallet(context, wallet); WidgetsBinding.instance.addPostFrameCallback((_) async { - myWalletProvider.listWallets = - await myWalletProvider.readAllWallets(currentChest); + myWalletProvider.listWallets = await myWalletProvider.readAllWallets(currentChest); myWalletProvider.reload(); }); } @@ -559,9 +467,7 @@ class WalletOptions extends StatelessWidget { height: scaleSize(42), ), ScaledSizedBox(width: 19), - Text('deleteThisWallet'.tr(), - style: scaledTextStyle( - fontSize: 17, color: const Color(0xffD80000))), + Text('deleteThisWallet'.tr(), style: scaledTextStyle(fontSize: 17, color: const Color(0xffD80000))), ]) : ScaledSizedBox(width: 30), ); diff --git a/lib/screens/onBoarding/10.dart b/lib/screens/onBoarding/10.dart index a57328610b5b594a24d1a6720fe79ae28bf6644d..dcc3f2ceeda53c308f9df951d01598baeeff4af6 100644 --- a/lib/screens/onBoarding/10.dart +++ b/lib/screens/onBoarding/10.dart @@ -23,8 +23,7 @@ import 'package:pin_code_fields/pin_code_fields.dart'; import 'package:provider/provider.dart'; class OnboardingStepTen extends StatelessWidget { - OnboardingStepTen({Key? validationKey, this.scanDerivation = false}) - : super(key: validationKey); + OnboardingStepTen({Key? validationKey, this.scanDerivation = false}) : super(key: validationKey); final bool scanDerivation; final formKey = GlobalKey<FormState>(); @@ -35,16 +34,14 @@ class OnboardingStepTen extends StatelessWidget { @override Widget build(BuildContext context) { - final generateWalletProvider = - Provider.of<GenerateWalletsProvider>(context); + final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context); final walletOptions = Provider.of<WalletOptionsProvider>(context); final sub = Provider.of<SubstrateSdk>(context); - final myWalletProvider = - Provider.of<MyWalletsProvider>(context, listen: false); + final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false); final pinLenght = generateWalletProvider.pin.text.length; return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { myWalletProvider.isPinValid = false; myWalletProvider.isPinLoading = true; }, @@ -62,14 +59,10 @@ class OnboardingStepTen extends StatelessWidget { const ScanDerivationsInfo(), Consumer<MyWalletsProvider>(builder: (context, mw, _) { return Visibility( - visible: !myWalletProvider.isPinValid && - !myWalletProvider.isPinLoading, + visible: !myWalletProvider.isPinValid && !myWalletProvider.isPinLoading, child: Text( "thisIsNotAGoodCode".tr(), - style: scaledTextStyle( - fontSize: 15, - color: Colors.red, - fontWeight: FontWeight.w500), + style: scaledTextStyle(fontSize: 15, color: Colors.red, fontWeight: FontWeight.w500), ), ); }), @@ -77,22 +70,19 @@ class OnboardingStepTen extends StatelessWidget { Consumer<SubstrateSdk>(builder: (context, sub, _) { return sub.nodeConnected ? pinForm(context, walletOptions, pinLenght, 1, 2) - : Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - "youHaveToBeConnectedToValidateChest".tr(), - style: scaledTextStyle( - fontSize: 16, - color: Colors.redAccent, - fontWeight: FontWeight.w500, - ), - textAlign: TextAlign.center, - ), - ]); + : Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + Text( + "youHaveToBeConnectedToValidateChest".tr(), + style: scaledTextStyle( + fontSize: 16, + color: Colors.redAccent, + fontWeight: FontWeight.w500, + ), + textAlign: TextAlign.center, + ), + ]); }), - Consumer<WalletOptionsProvider>( - builder: (context, walletOptions, _) { + Consumer<WalletOptionsProvider>(builder: (context, walletOptions, _) { return sub.nodeConnected ? InkWell( key: keyCachePassword, @@ -103,17 +93,14 @@ class OnboardingStepTen extends StatelessWidget { ScaledSizedBox(height: isTall ? 30 : 0), const Spacer(), Icon( - configBox.get('isCacheChecked') ?? false - ? Icons.check_box - : Icons.check_box_outline_blank, + configBox.get('isCacheChecked') ?? false ? Icons.check_box : Icons.check_box_outline_blank, color: orangeC, size: scaleSize(22), ), ScaledSizedBox(width: 8), Text( 'rememberPassword'.tr(), - style: scaledTextStyle( - fontSize: 14, color: Colors.grey[700]), + style: scaledTextStyle(fontSize: 14, color: Colors.grey[700]), ), const Spacer() ])) @@ -126,11 +113,9 @@ class OnboardingStepTen extends StatelessWidget { ); } - Widget pinForm( - context, final walletOptions, pinLenght, int walletNbr, int derivation) { + Widget pinForm(context, final walletOptions, pinLenght, int walletNbr, int derivation) { final myWalletProvider = Provider.of<MyWalletsProvider>(context); - final generateWalletProvider = - Provider.of<GenerateWalletsProvider>(context); + final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context); final sub = Provider.of<SubstrateSdk>(context, listen: false); final currentChest = myWalletProvider.getCurrentChest(); @@ -197,14 +182,11 @@ class OnboardingStepTen extends StatelessWidget { await generateWalletProvider.storeHDWChest(context); bool isAlive = false; if (scanDerivation) { - isAlive = - await generateWalletProvider.scanDerivations(context); + isAlive = await generateWalletProvider.scanDerivations(context); } if (!isAlive) { final address = await sub.importAccount( - mnemonic: generateWalletProvider.generatedMnemonic!, - derivePath: '//2', - password: generateWalletProvider.pin.text); + mnemonic: generateWalletProvider.generatedMnemonic!, derivePath: '//2', password: generateWalletProvider.pin.text); WalletData myWallet = WalletData( chest: configBox.get('currentChest'), address: address, @@ -222,8 +204,7 @@ class OnboardingStepTen extends StatelessWidget { myWalletProvider.debounceResetPinCode(); Navigator.push( context, - FaderTransition( - page: const OnboardingStepEleven(), isFast: false), + FaderTransition(page: const OnboardingStepEleven(), isFast: false), ); } else { hasError = true; diff --git a/lib/screens/onBoarding/6.dart b/lib/screens/onBoarding/6.dart index a236cb4969a242e57efde812aa56f442d3799b68..100837c330acaf294a523c0182192939ac99ebee 100644 --- a/lib/screens/onBoarding/6.dart +++ b/lib/screens/onBoarding/6.dart @@ -17,9 +17,7 @@ import 'package:gecko/widgets/commons/top_appbar.dart'; import 'package:provider/provider.dart'; class OnboardingStepSix extends StatelessWidget { - OnboardingStepSix( - {Key? key, required this.skipIntro, required this.generatedMnemonic}) - : super(key: key); + OnboardingStepSix({Key? key, required this.skipIntro, required this.generatedMnemonic}) : super(key: key); final bool skipIntro; String? generatedMnemonic; @@ -28,13 +26,12 @@ class OnboardingStepSix extends StatelessWidget { @override Widget build(BuildContext context) { - final generateWalletProvider = - Provider.of<GenerateWalletsProvider>(context, listen: true); + final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: true); _mnemonicController.text = generatedMnemonic!; return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { generateWalletProvider.isAskedWordValid = false; generateWalletProvider.askedWordColor = Colors.black; }, @@ -50,19 +47,11 @@ class OnboardingStepSix extends StatelessWidget { ScaledSizedBox(height: isTall ? 25 : 5), const BuildProgressBar(pagePosition: 5), ScaledSizedBox(height: isTall ? 25 : 5), - BuildText( - text: "didYouNoteMnemonicToBeSureTypeWord".tr(args: [ - (generateWalletProvider.nbrWord + 1).toString() - ]), - isMd: true), + BuildText(text: "didYouNoteMnemonicToBeSureTypeWord".tr(args: [(generateWalletProvider.nbrWord + 1).toString()]), isMd: true), ScaledSizedBox(height: isTall ? 40 : 5), if (isTall) Text('${generateWalletProvider.nbrWord + 1}', - key: keyAskedWord, - style: scaledTextStyle( - fontSize: 19, - color: orangeC, - fontWeight: FontWeight.w500)), + key: keyAskedWord, style: scaledTextStyle(fontSize: 19, color: orangeC, fontWeight: FontWeight.w500)), if (isTall) ScaledSizedBox(height: 5), Container( decoration: BoxDecoration( @@ -79,16 +68,12 @@ class OnboardingStepSix extends StatelessWidget { controller: wordController, textInputAction: TextInputAction.next, onChanged: (value) { - generateWalletProvider.checkAskedWord( - value, _mnemonicController.text); + generateWalletProvider.checkAskedWord(value, _mnemonicController.text); }, maxLines: 1, textAlign: TextAlign.center, decoration: InputDecoration( - labelStyle: scaledTextStyle( - fontSize: 18, - color: Colors.grey[500], - fontWeight: FontWeight.w500), + labelStyle: scaledTextStyle(fontSize: 18, color: Colors.grey[500], fontWeight: FontWeight.w500), labelText: generateWalletProvider.isAskedWordValid ? "itsTheGoodWord".tr() : "${generateWalletProvider.nbrWordAlpha} ${"nthMnemonicWord".tr()}", @@ -96,22 +81,13 @@ class OnboardingStepSix extends StatelessWidget { filled: true, contentPadding: const EdgeInsets.all(10), ), - style: scaledTextStyle( - fontSize: 25, - color: generateWalletProvider.askedWordColor, - fontWeight: FontWeight.w500))), + style: scaledTextStyle(fontSize: 25, color: generateWalletProvider.askedWordColor, fontWeight: FontWeight.w500))), Visibility( visible: generateWalletProvider.isAskedWordValid, child: Expanded( child: Align( alignment: Alignment.bottomCenter, - child: nextButton( - context, - 'continue'.tr(), - skipIntro - ? const OnboardingStepNine() - : const OnboardingStepSeven(), - false), + child: nextButton(context, 'continue'.tr(), skipIntro ? const OnboardingStepNine() : const OnboardingStepSeven(), false), ), ), ), @@ -136,8 +112,7 @@ class OnboardingStepSix extends StatelessWidget { } Widget nextButton(BuildContext context, String text, nextScreen, bool isFast) { - final generateWalletProvider = - Provider.of<GenerateWalletsProvider>(context, listen: false); + final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false); generateWalletProvider.isAskedWordValid = false; generateWalletProvider.askedWordColor = Colors.black; @@ -153,13 +128,11 @@ Widget nextButton(BuildContext context, String text, nextScreen, bool isFast) { backgroundColor: orangeC, ), onPressed: () { - Navigator.push( - context, FaderTransition(page: nextScreen, isFast: isFast)); + Navigator.push(context, FaderTransition(page: nextScreen, isFast: isFast)); }, child: Text( text, - style: scaledTextStyle( - fontSize: 21, fontWeight: FontWeight.w600, color: Colors.white), + style: scaledTextStyle(fontSize: 21, fontWeight: FontWeight.w600, color: Colors.white), ), ), ); diff --git a/lib/screens/qrcode_fullscreen.dart b/lib/screens/qrcode_fullscreen.dart index 2bade87f1badb1471a0dc327f50e88229dc02fcd..e01562180d8e4cfa0f3e3a8ab49226733bf20b31 100644 --- a/lib/screens/qrcode_fullscreen.dart +++ b/lib/screens/qrcode_fullscreen.dart @@ -8,8 +8,7 @@ import 'package:qr_flutter/qr_flutter.dart'; import 'package:screen_brightness/screen_brightness.dart'; class QrCodeFullscreen extends StatefulWidget { - const QrCodeFullscreen(this.address, {this.color, Key? key}) - : super(key: key); + const QrCodeFullscreen(this.address, {this.color, Key? key}) : super(key: key); final String address; final Color? color; @@ -48,7 +47,7 @@ class _QrCodeFullscreenState extends State<QrCodeFullscreen> { @override Widget build(BuildContext context) { return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { resetBrightness(); }, child: Scaffold( diff --git a/lib/screens/search.dart b/lib/screens/search.dart index dc323d6c7bac7fa6e2feee16d7be772b550cfa90..d57b62466210141026b2759789f33df2db73ae73 100644 --- a/lib/screens/search.dart +++ b/lib/screens/search.dart @@ -48,8 +48,7 @@ class _SearchScreenState extends State<SearchScreen> { checkAndUpdateClipboard(); // Set up the periodic clipboard checking - clipboardPollingTimer = - Timer.periodic(const Duration(milliseconds: 500), (_) async { + clipboardPollingTimer = Timer.periodic(const Duration(milliseconds: 500), (_) async { await checkAndUpdateClipboard(); }); } @@ -72,7 +71,7 @@ class _SearchScreenState extends State<SearchScreen> { final canValidate = searchProvider.searchController.text.length >= 2; return PopScope( - onPopInvoked: (_) { + onPopInvokedWithResult: (_, __) { searchProvider.searchController.text = ''; }, child: Scaffold( @@ -136,13 +135,9 @@ class _SearchScreenState extends State<SearchScreen> { height: scaleSize(10), ), ), - border: OutlineInputBorder( - borderSide: - BorderSide(color: Colors.grey[500]!, width: 2), - borderRadius: BorderRadius.circular(8)), + border: OutlineInputBorder(borderSide: BorderSide(color: Colors.grey[500]!, width: 2), borderRadius: BorderRadius.circular(8)), focusedBorder: OutlineInputBorder( - borderSide: - BorderSide(color: Colors.grey[500]!, width: 2.5), + borderSide: BorderSide(color: Colors.grey[500]!, width: 2.5), borderRadius: BorderRadius.circular(8), ), contentPadding: const EdgeInsets.all(13), @@ -179,8 +174,7 @@ class _SearchScreenState extends State<SearchScreen> { Navigator.push( context, MaterialPageRoute(builder: (context) { - return WalletViewScreen( - address: pastedAddress, username: null); + return WalletViewScreen(address: pastedAddress, username: null); }), ); } @@ -192,10 +186,7 @@ class _SearchScreenState extends State<SearchScreen> { ? 'pasteAddress'.tr() : 'search'.tr(), textAlign: TextAlign.center, - style: scaledTextStyle( - fontSize: 16, - fontWeight: FontWeight.w500, - color: Colors.white), + style: scaledTextStyle(fontSize: 16, fontWeight: FontWeight.w500, color: Colors.white), ), ), ), diff --git a/pubspec.lock b/pubspec.lock index 9a0b259405320084e3f817e5dbe7192a6159708f..bc7bcec0e27b0a889a2fc082eeffe59bdcc4f60f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,10 +5,15 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "72.0.0" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" accordion: dependency: "direct main" description: @@ -17,30 +22,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.6.0" - adaptive_number: - dependency: transitive - description: - name: adaptive_number - sha256: "3a567544e9b5c9c803006f51140ad544aedc79604fd4f3f2c1380003f97c1d77" - url: "https://pub.dev" - source: hosted - version: "1.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "6.7.0" archive: dependency: transitive description: name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.4.10" + version: "3.6.1" args: dependency: transitive description: @@ -61,50 +58,34 @@ packages: dependency: transitive description: name: barcode - sha256: "1fe4a55344505850517ce72d4a3a7b9ccf51b0dc1631ee7e552f6eacc4947f96" + sha256: ab180ce22c6555d77d45f0178a523669db67f95856e3378259ef2ffeb43e6003 url: "https://pub.dev" source: hosted - version: "2.2.7" + version: "2.2.8" barcode_scan2: dependency: "direct main" description: name: barcode_scan2 - sha256: "847ff88888213a3b2866d98839ee6d85e4da8002df83e7971d355d24d5f31c4c" - url: "https://pub.dev" - source: hosted - version: "4.3.0" - base_codecs: - dependency: transitive - description: - name: base_codecs - sha256: "41701a12ede9912663decd708279924ece5018566daa7d1f484d5f4f10894f91" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - base_x: - dependency: transitive - description: - name: base_x - sha256: "519abcdafd637d4b6bd7e72fabd8f9264935f804b9b9f6c5d8411c7d52cbf8fd" + sha256: a2ab566027cd57b2795ea42aa26835dbaa8fe70bcc1aff54942a14d3705dff97 url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "4.3.3" bidi: dependency: transitive description: name: bidi - sha256: "1a7d0c696324b2089f72e7671fd1f1f64fef44c980f3cebc84e803967c597b63" + sha256: "9a712c7ddf708f7c41b1923aa83648a3ed44cfd75b04f72d598c45e5be287f9d" url: "https://pub.dev" source: hosted - version: "2.0.10" + version: "2.0.12" bip32_ed25519: dependency: transitive description: name: bip32_ed25519 - sha256: "292ef300ce24a140ce2814e593af6fc2fe20185ffded9a9bd99ce7c22abd7657" + sha256: "1c9b7aafd27cfb5d332d16ce222350192ca5f5c1bba803a789f5bc8c9aa72206" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.6.0" bip39: dependency: transitive description: @@ -113,14 +94,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" - bip39_mnemonic: - dependency: transitive - description: - name: bip39_mnemonic - sha256: "24855a62fb9dd930f697063a274e084b0a574e1cc55ec270ca4756f579ab512c" - url: "https://pub.dev" - source: hosted - version: "3.0.6" bip39_multi_nullsafety: dependency: transitive description: @@ -145,14 +118,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.1" - buffer: - dependency: transitive - description: - name: buffer - sha256: "389da2ec2c16283c8787e0adaede82b1842102f8c8aae2f49003a766c5c6b3d1" - url: "https://pub.dev" - source: hosted - version: "1.2.3" build: dependency: transitive description: @@ -173,10 +138,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.2" build_resolvers: dependency: transitive description: @@ -189,18 +154,18 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22" + sha256: dd09dd4e2b078992f42aac7f1a622f01882a8492fef08486b27ddde929c19f04 url: "https://pub.dev" source: hosted - version: "2.4.9" + version: "2.4.12" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0 url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "7.3.2" built_collection: dependency: transitive description: @@ -221,10 +186,10 @@ packages: dependency: "direct main" description: name: carousel_slider - sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42" + sha256: "7b006ec356205054af5beaef62e2221160ea36b90fb70a35e4deacd49d0349ae" url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "5.0.0" characters: dependency: transitive description: @@ -277,18 +242,18 @@ packages: dependency: "direct main" description: name: connectivity_plus - sha256: "224a77051d52a11fbad53dd57827594d3bd24f945af28bd70bab376d68d437f0" + sha256: "2056db5241f96cdc0126bd94459fc4cdc13876753768fc7a31c425e50a7177d0" url: "https://pub.dev" source: hosted - version: "5.0.2" + version: "6.0.5" connectivity_plus_platform_interface: dependency: transitive description: name: connectivity_plus_platform_interface - sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a + sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204" url: "https://pub.dev" source: hosted - version: "1.2.4" + version: "2.0.1" convert: dependency: transitive description: @@ -301,34 +266,18 @@ packages: dependency: transitive description: name: cross_file - sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" url: "https://pub.dev" source: hosted - version: "0.3.4+1" + version: "0.3.4+2" crypto: dependency: "direct main" description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 url: "https://pub.dev" source: hosted - version: "3.0.3" - cryptography: - dependency: transitive - description: - name: cryptography - sha256: d146b76d33d94548cf035233fbc2f4338c1242fa119013bead807d033fc4ae05 - url: "https://pub.dev" - source: hosted - version: "2.7.0" - dart_multihash: - dependency: transitive - description: - name: dart_multihash - sha256: "7bef7091497c531f94bf82102805a69d97e4e5d120000dcbbc4a1da679060e0a" - url: "https://pub.dev" - source: hosted - version: "1.0.1" + version: "3.0.5" dart_style: dependency: transitive description: @@ -349,10 +298,18 @@ packages: dependency: "direct main" description: name: dio - sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5" + sha256: "0dfb6b6a1979dac1c1245e17cef824d7b452ea29bd33d3467269f9bef3715fb0" + url: "https://pub.dev" + source: hosted + version: "5.6.0" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8" url: "https://pub.dev" source: hosted - version: "5.4.3+1" + version: "2.0.0" dots_indicator: dependency: "direct main" description: @@ -365,25 +322,18 @@ packages: dependency: "direct main" description: name: durt - sha256: "29e4a1adaea1dfedff4d9237580b414ca5fe621a7a131b5fa129b9824365c938" + sha256: cd8d2ad3db75edad7d8d4bfab49b9a9d57d20a54185cd2d0e9a6c97d4569b761 url: "https://pub.dev" source: hosted - version: "0.1.8" - durt2: - dependency: "direct main" - description: - path: "../../durt2" - relative: true - source: path - version: "0.1.0" + version: "0.1.9" easy_localization: dependency: "direct main" description: name: easy_localization - sha256: c145aeb6584aedc7c862ab8c737c3277788f47488bfdf9bae0fe112bd0a4789c + sha256: fa59bcdbbb911a764aa6acf96bbb6fa7a5cf8234354fc45ec1a43a0349ef0201 url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.7" easy_logger: dependency: transitive description: @@ -392,22 +342,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.0.2" - ed25519_edwards: - dependency: transitive - description: - name: ed25519_edwards - sha256: "6ce0112d131327ec6d42beede1e5dfd526069b18ad45dcf654f15074ad9276cd" - url: "https://pub.dev" - source: hosted - version: "0.3.1" - edwards25519: - dependency: transitive - description: - name: edwards25519 - sha256: "48e4678136e362bed9790dfb716ebe8e2f34f026bdb900b058214620672c6273" - url: "https://pub.dev" - source: hosted - version: "1.0.4" eip1559: dependency: transitive description: @@ -424,14 +358,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.2" - equatable: - dependency: transitive - description: - name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 - url: "https://pub.dev" - source: hosted - version: "2.0.5" fade_and_translate: dependency: "direct main" description: @@ -460,10 +386,10 @@ packages: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" file: dependency: transitive description: @@ -484,10 +410,10 @@ packages: dependency: transitive description: name: file_selector_macos - sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385 url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.4" file_selector_platform_interface: dependency: transitive description: @@ -500,10 +426,10 @@ packages: dependency: transitive description: name: file_selector_windows - sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + sha256: "2ad726953f6e8affbc4df8dc78b77c3b4a060967a291e528ef72ae846c60fb69" url: "https://pub.dev" source: hosted - version: "0.9.3+1" + version: "0.9.3+2" fixnum: dependency: transitive description: @@ -525,14 +451,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.1.3" - flutter_curve25519: - dependency: transitive - description: - name: flutter_curve25519 - sha256: d2d196e51de878f5f0289d2d7c5e93dc0c62ccda7ca98c7e47b5a58a6851b861 - url: "https://pub.dev" - source: hosted - version: "0.1.2" flutter_driver: dependency: transitive description: flutter @@ -571,66 +489,18 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: "9921f9deda326f8a885e202b1e35237eadfc1345239a0f6f0f1ff287e047547f" + sha256: a23c41ee57573e62fc2190a1f36a0480c4d90bde3a8a8d7126e5d5992fb53fb7 url: "https://pub.dev" source: hosted - version: "0.7.1" + version: "0.7.3+1" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" - url: "https://pub.dev" - source: hosted - version: "2.0.19" - flutter_secure_storage: - dependency: transitive - description: - name: flutter_secure_storage - sha256: "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0" - url: "https://pub.dev" - source: hosted - version: "9.2.2" - flutter_secure_storage_linux: - dependency: transitive - description: - name: flutter_secure_storage_linux - sha256: "4d91bfc23047422cbcd73ac684bc169859ee766482517c22172c86596bf1464b" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - flutter_secure_storage_macos: - dependency: transitive - description: - name: flutter_secure_storage_macos - sha256: "1693ab11121a5f925bbea0be725abfcfbbcf36c1e29e571f84a0c0f436147a81" - url: "https://pub.dev" - source: hosted - version: "3.1.2" - flutter_secure_storage_platform_interface: - dependency: transitive - description: - name: flutter_secure_storage_platform_interface - sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 - url: "https://pub.dev" - source: hosted - version: "1.1.2" - flutter_secure_storage_web: - dependency: transitive - description: - name: flutter_secure_storage_web - sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9 + sha256: "9ee02950848f61c4129af3d6ec84a1cfc0e47931abc746b03e7a3bc3e8ff6eda" url: "https://pub.dev" source: hosted - version: "1.2.1" - flutter_secure_storage_windows: - dependency: transitive - description: - name: flutter_secure_storage_windows - sha256: b20b07cb5ed4ed74fc567b78a72936203f587eba460af1df11281c9326cd3709 - url: "https://pub.dev" - source: hosted - version: "3.1.2" + version: "2.0.22" flutter_svg: dependency: "direct main" description: @@ -690,18 +560,18 @@ packages: dependency: transitive description: name: gql - sha256: afe032332ddfa69b79f1dea2ad7d95923d4993c1b269b224fc7bb3d17e32d33c + sha256: "8ecd3585bb9e40d671aa58f52575d950670f99e5ffab18e2b34a757e071a6693" url: "https://pub.dev" source: hosted - version: "1.0.1-alpha+1709845491443" + version: "1.0.1-alpha+1717789143880" gql_dedupe_link: dependency: transitive description: name: gql_dedupe_link - sha256: "2971173c68623d5c43f5327ea899bd2ee64ce3461c1263f240b4bb6211f667be" + sha256: "10bee0564d67c24e0c8bd08bd56e0682b64a135e58afabbeed30d85d5e9fea96" url: "https://pub.dev" source: hosted - version: "2.0.4-alpha+1709845491527" + version: "2.0.4-alpha+1715521079596" gql_error_link: dependency: transitive description: @@ -722,18 +592,18 @@ packages: dependency: transitive description: name: gql_http_link - sha256: "1f922eed1b7078fdbfd602187663026f9f659fe9a9499e2207b5d5e01617f658" + sha256: ef6ad24d31beb5a30113e9b919eec20876903cc4b0ee0d31550047aaaba7d5dd url: "https://pub.dev" source: hosted - version: "1.0.1+1" + version: "1.1.0" gql_link: dependency: transitive description: name: gql_link - sha256: "177500e250b3742d6d2673d57961e8413b6593dc6bd6a512c51865b6cf096f7e" + sha256: "70fd5b5cbcc50601679f4b9fea3bcc994e583f59cfec7e1fec11113074b1a565" url: "https://pub.dev" source: hosted - version: "1.0.1-alpha+1709845491457" + version: "1.0.1-alpha+1717789143896" gql_transform_link: dependency: transitive description: @@ -746,34 +616,26 @@ packages: dependency: transitive description: name: graphql - sha256: d066e53446166c12537458386b507f7426f2b8801ebafc184576aab3cbc64d56 + sha256: "62f31433ba194eda7b81a812a83c3d9560766cec5ac0210ea4a3e677c91b8df4" url: "https://pub.dev" source: hosted - version: "5.2.0-beta.7" + version: "5.2.0-beta.8" graphql_flutter: dependency: "direct main" description: name: graphql_flutter - sha256: "39b5e830bc654ab02c5b776c31675841d1a8c95840fdd284efba713b1d47e65d" + sha256: "2423b394465e7d83a5e708cd2f5b37b54e7ae9900abfbf0948d512fa46961acb" url: "https://pub.dev" source: hosted - version: "5.2.0-beta.6" + version: "5.2.0-beta.7" graphs: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 - url: "https://pub.dev" - source: hosted - version: "2.3.1" - hashlib_codecs: - dependency: transitive - description: - name: hashlib_codecs - sha256: c05064f7eab9196d26bef4a98f303bd452e4b640dc6d57d16a1202ef9057ea61 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.2" hex: dependency: "direct main" description: @@ -810,10 +672,10 @@ packages: dependency: transitive description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" http_multi_server: dependency: transitive description: @@ -842,66 +704,66 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" image_cropper: dependency: "direct main" description: name: image_cropper - sha256: f4bad5ed2dfff5a7ce0dfbad545b46a945c702bb6182a921488ef01ba7693111 + sha256: fe37d9a129411486e0d93089b61bd326d05b89e78ad4981de54b560725bf5bd5 url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "8.0.2" image_cropper_for_web: dependency: transitive description: name: image_cropper_for_web - sha256: "865d798b5c9d826f1185b32e5d0018c4183ddb77b7b82a931e1a06aa3b74974e" + sha256: "34256c8fb7fcb233251787c876bb37271744459b593a948a2db73caa323034d0" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "6.0.2" image_cropper_platform_interface: dependency: transitive description: name: image_cropper_platform_interface - sha256: ee160d686422272aa306125f3b6fb1c1894d9b87a5e20ed33fa008e7285da11e + sha256: e8e9d2ca36360387aee39295ce49029362ae4df3071f23e8e71f2b81e40b7531 url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "7.0.0" image_picker: dependency: "direct main" description: name: image_picker - sha256: fe9ee64ccb8d599a5dfb0e21cc6652232c610bcf667af4e79b9eb175cc30a7a5 + sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.2" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: "8e75431a62b7feb4fd55cb4a5c6f0ac4564460ec5dc09f9c4a0d50a5ce7c4cb9" + sha256: c0a6763d50b354793d0192afd0a12560b823147d3ded7c6b77daf658fa05cc85 url: "https://pub.dev" source: hosted - version: "0.8.10" + version: "0.8.12+13" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3" + sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50" url: "https://pub.dev" source: hosted - version: "3.0.4" + version: "3.0.5" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: f4a6f62be96d6fd268f32a6bf8ef444cd8e3fff64d16923c6e6fe55e0c84a761 + sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" url: "https://pub.dev" source: hosted - version: "0.8.10" + version: "0.8.12" image_picker_linux: dependency: transitive description: @@ -967,18 +829,18 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" json_annotation: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" json_rpc_2: dependency: transitive description: @@ -987,30 +849,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.2" - json_schema2: - dependency: transitive - description: - name: json_schema2 - sha256: "094e60d3605333c0816eeb2e5310b4f71ffaea2c0abc026b27418c1ac41a5db3" - url: "https://pub.dev" - source: hosted - version: "2.0.4+9" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -1031,10 +885,10 @@ packages: dependency: "direct main" description: name: logger - sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + sha256: "697d067c60c20999686a0add96cf6aba723b3aa1f83ecf806a8097231529ec32" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.0" logging: dependency: transitive description: @@ -1043,6 +897,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" markdown: dependency: transitive description: @@ -1063,34 +925,26 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" - url: "https://pub.dev" - source: hosted - version: "0.8.0" - merlin: - dependency: transitive - description: - name: merlin - sha256: c6b5d5bc70880aa7639686db66480d0be4b89da843b5cab20550610507da2540 + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.0.6" mobx: dependency: transitive description: @@ -1099,14 +953,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.3+2" - multiformats: - dependency: transitive - description: - name: multiformats - sha256: aa2fa36d2e4d0069dac993b35ee52e5165d67f15b995d68f797466065a6d05a5 - url: "https://pub.dev" - source: hosted - version: "0.2.3" nested: dependency: transitive description: @@ -1143,18 +989,18 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0 + sha256: a75164ade98cb7d24cfd0a13c6408927c6b217fa60dee5a7ff5c116a58f28918 url: "https://pub.dev" source: hosted - version: "8.0.0" + version: "8.0.2" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e + sha256: ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66 url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.0.1" path: dependency: transitive description: @@ -1175,26 +1021,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 + sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.4" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d + sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.10" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -1215,26 +1061,26 @@ packages: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" pdf: dependency: "direct main" description: name: pdf - sha256: "243f05342fc0bdf140eba5b069398985cdbdd3dbb1d776cf43d5ea29cc570ba6" + sha256: "05df53f8791587402493ac97b9869d3824eccbc77d97855f4545cf72df3cae07" url: "https://pub.dev" source: hosted - version: "3.10.8" + version: "3.11.1" pdf_widget_wrapper: dependency: transitive description: name: pdf_widget_wrapper - sha256: "9c3ca36e5000c9682d52bbdc486867ba7c5ee4403d1a5d6d03ed72157753377b" + sha256: c930860d987213a3d58c7ec3b7ecf8085c3897f773e8dc23da9cae60a5d6d0f5 url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" permission_handler: dependency: "direct main" description: @@ -1247,34 +1093,34 @@ packages: dependency: transitive description: name: permission_handler_android - sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" + sha256: "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa" url: "https://pub.dev" source: hosted - version: "12.0.5" + version: "12.0.12" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662 + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 url: "https://pub.dev" source: hosted - version: "9.4.4" + version: "9.4.5" permission_handler_html: dependency: transitive description: name: permission_handler_html - sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" + sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851 url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "0.1.3+2" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20" + sha256: fe0ffe274d665be8e34f9c59705441a7d248edebbe5d9e3ec2665f88b79358ea url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.2.2" permission_handler_windows: dependency: transitive description: @@ -1303,18 +1149,18 @@ packages: dependency: "direct main" description: name: pinenacl - sha256: "3a5503637587d635647c93ea9a8fecf48a420cc7deebe6f1fc85c2a5637ab327" + sha256: "57e907beaacbc3c024a098910b6240758e899674de07d6949a67b52fd984cbdf" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.0" platform: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -1327,42 +1173,10 @@ packages: dependency: "direct main" description: name: pointycastle - sha256: "79fbafed02cfdbe85ef3fd06c7f4bc2cbcba0177e61b765264853d4253b21744" - url: "https://pub.dev" - source: hosted - version: "3.9.0" - polkadart: - dependency: transitive - description: - name: polkadart - sha256: "4be169198d7938aec035eacead499b469795ccc9797589bb2df5b2ec6bd52535" - url: "https://pub.dev" - source: hosted - version: "0.4.3" - polkadart_cli: - dependency: transitive - description: - name: polkadart_cli - sha256: a0c82811e7ed935208afc7a8e0ef04446574d53f0a1855694ec5ad0792decef1 - url: "https://pub.dev" - source: hosted - version: "0.4.2" - polkadart_keyring: - dependency: transitive - description: - name: polkadart_keyring - sha256: "10cdd75e3319169ca7a4bb49745d85fab3f56bba2eafda35655c4f278a4c5e07" + sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe" url: "https://pub.dev" source: hosted - version: "0.4.3" - polkadart_scale_codec: - dependency: transitive - description: - name: polkadart_scale_codec - sha256: fab60c739f6ebcc812796e56378656dca57179cec46e92c23614db6fd9ed0f86 - url: "https://pub.dev" - source: hosted - version: "1.2.0" + version: "3.9.1" polkawallet_sdk: dependency: "direct main" description: @@ -1384,10 +1198,10 @@ packages: dependency: "direct main" description: name: printing - sha256: "1c99cab90ebcc1fff65831d264627d5b529359d563e53f33ab9b8117f2d280bc" + sha256: de1889f30b34029fc46e5de6a9841498850b23d32942a9ee810ca36b0cb1b234 url: "https://pub.dev" source: hosted - version: "5.12.0" + version: "5.13.2" process: dependency: transitive description: @@ -1424,18 +1238,18 @@ packages: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8 url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.3.0" qr: dependency: transitive description: name: qr - sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3" + sha256: "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" qr_flutter: dependency: "direct main" description: @@ -1444,46 +1258,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.0" - quiver: - dependency: transitive - description: - name: quiver - sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 - url: "https://pub.dev" - source: hosted - version: "3.2.1" - recase: - dependency: transitive - description: - name: recase - sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 - url: "https://pub.dev" - source: hosted - version: "4.1.0" responsive_framework: dependency: "direct main" description: name: responsive_framework - sha256: "52367ab0c3479b3a5342dec3b74a3d47c4cc1b45bb5d38f720c2e002ebccd4ee" - url: "https://pub.dev" - source: hosted - version: "1.4.0" - rest_client: - dependency: transitive - description: - name: rest_client - sha256: "90473416250779b85f8d620e9dc277f38ea67acf84d3c6299e005ce08caedd69" + sha256: a8e1c13d4ba980c60cbf6fa1e9907cd60662bf2585184d7c96ca46c43de91552 url: "https://pub.dev" source: hosted - version: "2.4.0" - ristretto255: - dependency: transitive - description: - name: ristretto255 - sha256: "3824d6786146dfb3b0783f305b714d36fa213c0d08e0ba864267baa0ede51cdd" - url: "https://pub.dev" - source: hosted - version: "1.0.2" + version: "1.5.1" rxdart: dependency: transitive description: @@ -1556,86 +1338,78 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" - secp256k1_ecdsa: - dependency: transitive - description: - name: secp256k1_ecdsa - sha256: "87008b4fd164d861b94b0edf2e01ffadd6f06769e1f0382e19bb091daecc0576" - url: "https://pub.dev" - source: hosted - version: "0.4.0" sentry: dependency: transitive description: name: sentry - sha256: fd1fbfe860c05f5c52820ec4dbf2b6473789e83ead26cfc18bca4fe80bf3f008 + sha256: "1af8308298977259430d118ab25be8e1dda626cdefa1e6ce869073d530d39271" url: "https://pub.dev" source: hosted - version: "8.2.0" + version: "8.8.0" sentry_flutter: dependency: "direct main" description: name: sentry_flutter - sha256: c64f0aec5332bec87083b61514d1b6b29e435b9045d03ce1575861192b9a5680 + sha256: "18fe4d125c2d529bd6127200f0d2895768266a8c60b4fb50b2086fd97e1a4ab2" url: "https://pub.dev" source: hosted - version: "8.2.0" + version: "8.8.0" shared_preferences: dependency: transitive description: name: shared_preferences - sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 + sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.2" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" + sha256: "480ba4345773f56acda9abf5f50bd966f581dac5d514e5fc4a18c62976bbba7e" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.2" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" + sha256: c4b35f6cb8f63c147312c054ce7c2254c8066745125264f0c88739c417fc9d9f url: "https://pub.dev" source: hosted - version: "2.3.5" + version: "2.5.2" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" + sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.4.2" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shelf: dependency: transitive description: @@ -1648,10 +1422,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" sky_engine: dependency: transitive description: flutter @@ -1689,22 +1463,6 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.0" - sr25519: - dependency: transitive - description: - name: sr25519 - sha256: "266f7b2a4dd2d6a41a49924d41e80665f3b8340c157deff172f2b0cf64657a27" - url: "https://pub.dev" - source: hosted - version: "0.4.0" - ss58: - dependency: transitive - description: - name: ss58 - sha256: b24d2713597b83708ef30daea5a565dba8bc9129031b30c025069e168301ae5e - url: "https://pub.dev" - source: hosted - version: "1.1.2" stack_trace: dependency: transitive description: @@ -1737,30 +1495,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" - strobe: - dependency: transitive - description: - name: strobe - sha256: a23adf7d305e45c6f210270aa925d8b404819144e29f7c5257a67281b63e0887 - url: "https://pub.dev" - source: hosted - version: "1.0.4" - substrate_bip39: - dependency: transitive - description: - name: substrate_bip39 - sha256: "29548105e939d1fb213aba96686eb5c5aae472249fa12b8dda58b252d23f492c" - url: "https://pub.dev" - source: hosted - version: "0.4.0" - substrate_metadata: - dependency: transitive - description: - name: substrate_metadata - sha256: "4557950c7dcea17cdf7e1224ac7822ab38dd9658f000be6d58b4a41b0a8126d4" - url: "https://pub.dev" - source: hosted - version: "1.2.0" sync_http: dependency: transitive description: @@ -1781,10 +1515,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" timing: dependency: transitive description: @@ -1829,58 +1563,50 @@ packages: dependency: "direct main" description: name: unorm_dart - sha256: "5b35bff83fce4d76467641438f9e867dc9bcfdb8c1694854f230579d68cd8f4b" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - uri: - dependency: transitive - description: - name: uri - sha256: "889eea21e953187c6099802b7b4cf5219ba8f3518f604a1033064d45b1b8268a" + sha256: "23d8bf65605401a6a32cff99435fed66ef3dab3ddcad3454059165df46496a3b" url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "0.3.0" url_launcher: dependency: "direct main" description: name: url_launcher - sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.6" + version: "6.3.0" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "360a6ed2027f18b73c8d98e159dda67a61b7f2e0f6ec26e86c3ada33b0621775" + sha256: e35a698ac302dd68e41f73250bd9517fe3ab5fa4f18fe4647a0872db61bacbab url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.10" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" + sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.1" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.0" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: @@ -1893,34 +1619,26 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 - url: "https://pub.dev" - source: hosted - version: "3.1.1" - utility: - dependency: transitive - description: - name: utility - sha256: "200d264c3804e87da7ea36aa81bd73fb845d2cb7b2e820f3f357a0a2bd4e37f5" + sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "3.1.2" uuid: dependency: "direct main" description: name: uuid - sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8" + sha256: f33d6bb662f0e4f79dcd7ada2e6170f3b3a2530c28fc41f49a411ddedd576a77 url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.5.0" vector_graphics: dependency: transitive description: @@ -1957,10 +1675,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" wallet: dependency: transitive description: @@ -1981,10 +1699,10 @@ packages: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.0.0" web3dart: dependency: transitive description: @@ -1997,10 +1715,10 @@ packages: dependency: transitive description: name: web_socket_channel - sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b url: "https://pub.dev" source: hosted - version: "2.4.5" + version: "2.4.0" webdriver: dependency: transitive description: @@ -2013,18 +1731,18 @@ packages: dependency: transitive description: name: webview_flutter - sha256: "25e1b6e839e8cbfbd708abc6f85ed09d1727e24e08e08c6b8590d7c65c9a8932" + sha256: ec81f57aa1611f8ebecf1d2259da4ef052281cb5ad624131c93546c79ccc7736 url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.9.0" webview_flutter_android: dependency: transitive description: name: webview_flutter_android - sha256: f038ee2fae73b509dde1bc9d2c5a50ca92054282de17631a9a3d515883740934 + sha256: "6e64fcb1c19d92024da8f33503aaeeda35825d77142c01d0ea2aa32edc79fdc8" url: "https://pub.dev" source: hosted - version: "3.16.0" + version: "3.16.7" webview_flutter_platform_interface: dependency: transitive description: @@ -2037,18 +1755,18 @@ packages: dependency: transitive description: name: webview_flutter_wkwebview - sha256: f12f8d8a99784b863e8b85e4a9a5e3cf1839d6803d2c0c3e0533a8f3c5a992a7 + sha256: "1942a12224ab31e9508cf00c0c6347b931b023b8a4f0811e5dec3b06f94f117d" url: "https://pub.dev" source: hosted - version: "3.13.0" + version: "3.15.0" win32: dependency: transitive description: name: win32 - sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" + sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.5.4" xdg_directories: dependency: transitive description: @@ -2073,14 +1791,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.2" - yaon: - dependency: transitive - description: - name: yaon - sha256: "7ffb8284eb13e448fdabf340209c306336cfeabdca97294c27b5a11237eaa3c4" - url: "https://pub.dev" - source: hosted - version: "1.1.4+10" sdks: - dart: ">=3.3.3 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.5.0 <4.0.0" + flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index aed43b5127fbe44ab614a7b5a63d80b81532b2dd..04905caa5991bdf0f7513d8e6dd112fa1730b0b4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: flutter: sdk: flutter bubble: ^1.2.1 - carousel_slider: ^4.2.1 + carousel_slider: ^5.0.0 graphql_flutter: ^5.2.0-beta.6 hive_flutter: ^1.1.0 image_picker: ^1.1.0 @@ -28,9 +28,9 @@ dependencies: responsive_framework: ^1.4.0 sentry_flutter: ^8.2.0 truncate: ^3.0.1 - unorm_dart: ^0.2.0 + unorm_dart: ^0.3.0 dio: ^5.4.3+1 - durt: ^0.1.8 + durt: ^0.1.9 package_info_plus: ^8.0.0 polkawallet_sdk: #^0.5.2 git: @@ -40,15 +40,15 @@ dependencies: # ref: gecko-fixes-3 ref: fcfdb5e9f214c99c8d3a97d3aea38a67ea1fa6a5 dots_indicator: ^3.0.0 - connectivity_plus: ^5.0.2 - image_cropper: ^5.0.1 + connectivity_plus: ^6.0.5 + image_cropper: ^8.0.2 easy_localization: ^3.0.5 flutter_markdown: ^0.7.1 pointycastle: ^3.9.0 hex: ^0.2.0 accordion: ^2.6.0 flutter_svg: ^2.0.10+1 - pinenacl: ^0.5.1 + pinenacl: ^0.6.0 fast_base58: ^0.2.1 tutorial_coach_mark: ^1.2.11 confetti: ^0.7.0 @@ -57,8 +57,8 @@ dependencies: screen_brightness: ^1.0.1 uuid: ^4.4.0 fade_and_translate: ^0.1.3 - durt2: - path: ../../durt2 + # durt2: + # path: ../../durt2 # git: # url: https://git.duniter.org/libs/durt2