From f05c335073a978e166206337fe36ca4ab7f4e371 Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 27 Dec 2021 20:15:12 +0100 Subject: [PATCH] Fix payments from HDWallets --- lib/providers/wallets_profiles.dart | 3 +- .../myWallets/confirm_wallet_storage.dart | 3 + lib/screens/myWallets/generate_wallets.dart | 186 ++++++++++-------- .../myWallets/import_cesium_wallet.dart | 1 + pubspec.lock | 2 +- pubspec.yaml | 2 +- 6 files changed, 108 insertions(+), 89 deletions(-) diff --git a/lib/providers/wallets_profiles.dart b/lib/providers/wallets_profiles.dart index 75fc2d6..fd646c2 100644 --- a/lib/providers/wallets_profiles.dart +++ b/lib/providers/wallets_profiles.dart @@ -79,7 +79,8 @@ class WalletsProfilesProvider with ChangeNotifier { dewif: dewif, password: pinCode, comment: payComment.text, - derivation: derivation); + derivation: derivation, + lang: appLang); return result; } diff --git a/lib/screens/myWallets/confirm_wallet_storage.dart b/lib/screens/myWallets/confirm_wallet_storage.dart index b7cd522..3dab6ad 100644 --- a/lib/screens/myWallets/confirm_wallet_storage.dart +++ b/lib/screens/myWallets/confirm_wallet_storage.dart @@ -148,6 +148,9 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { await Future.delayed( const Duration(milliseconds: 50)); _myWalletProvider.rebuildWidget(); + _generateWalletProvider.pin.text = ''; + _generateWalletProvider + .mnemonicController.text = ''; Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context) { return UnlockingWallet( diff --git a/lib/screens/myWallets/generate_wallets.dart b/lib/screens/myWallets/generate_wallets.dart index dde9a07..8851268 100644 --- a/lib/screens/myWallets/generate_wallets.dart +++ b/lib/screens/myWallets/generate_wallets.dart @@ -34,9 +34,22 @@ class GenerateFastChestScreen extends StatelessWidget { _generateWalletProvider.pin.text = randomSecretCode(pinLength); } - return Scaffold( + return WillPopScope( + onWillPop: () { + _generateWalletProvider.pin.text = ''; + _generateWalletProvider.mnemonicController.text = ''; + return Future.value(true); + }, + child: Scaffold( appBar: AppBar( toolbarHeight: 60 * ratio, + leading: IconButton( + icon: const Icon(Icons.arrow_back, color: Colors.black), + onPressed: () { + _generateWalletProvider.pin.text = ''; + _generateWalletProvider.mnemonicController.text = ''; + Navigator.of(context).pop(); + }), title: const SizedBox( height: 22, child: Text('Générer un trousseau'), @@ -61,95 +74,96 @@ class GenerateFastChestScreen extends StatelessWidget { floattingYellow, //smoothYellow, //Color.fromARGB(500, 204, 255, 255), ))), body: Builder( - builder: (ctx) => SafeArea( - child: Column(children: [ - const SizedBox(height: 20), - toolTips(_toolTipSentence, 'Phrase de restauration:', - "Notez et gardez cette phrase précieusement sur un papier, elle vous servira à restaurer votre portefeuille sur un autre appareil"), - TextField( - enabled: false, - controller: _generateWalletProvider.mnemonicController, - maxLines: 3, - textAlign: TextAlign.center, - decoration: const InputDecoration( - contentPadding: EdgeInsets.all(15.0), - ), - style: const TextStyle( - fontSize: 22.0, - color: Colors.black, - fontWeight: FontWeight.w400)), - const SizedBox(height: 8), - toolTips(_toolTipSecret, 'Code secret:', - "Retenez bien votre code secret, il vous sera demandé à chaque paiement, ainsi que pour configurer votre portefeuille"), - Stack( - alignment: Alignment.centerRight, - children: [ - TextField( - key: const Key('generatedPin'), - enabled: false, - controller: _generateWalletProvider.pin, - maxLines: 1, - textAlign: TextAlign.center, - decoration: const InputDecoration(), - style: const TextStyle( - fontSize: 30.0, - color: Colors.black, - fontWeight: FontWeight.bold)), - IconButton( - icon: const Icon(Icons.replay), - color: orangeC, - onPressed: () { - _generateWalletProvider.changePinCode(reload: true); - }, - ), - ], - ), - const SizedBox(height: 20), - ElevatedButton( - key: const Key('storeKeychain'), - style: ElevatedButton.styleFrom( - primary: yellowC, // background - onPrimary: Colors.black, // foreground - ), - onPressed: _generateWalletProvider.walletIsGenerated - ? () async { - _generateWalletProvider.nbrWord = - _generateWalletProvider.getRandomInt(); - _generateWalletProvider.actualWallet = - await Dewif().generateDewif( - _generateWalletProvider - .generatedMnemonic!, - _generateWalletProvider.pin.text, - lang: appLang); - await Navigator.push( - context, - MaterialPageRoute(builder: (context) { - return ConfirmStoreWallet( - generatedMnemonic: - _generateWalletProvider - .generatedMnemonic, - generatedWallet: _generateWalletProvider - .actualWallet); - }), - ); - } - : null, - child: const Text('Enregistrer ce trousseau', - style: TextStyle(fontSize: 20))), - const SizedBox(height: 20), - GestureDetector( - onTap: () { - Navigator.push( + builder: (ctx) => SafeArea( + child: Column(children: [ + const SizedBox(height: 20), + toolTips(_toolTipSentence, 'Phrase de restauration:', + "Notez et gardez cette phrase précieusement sur un papier, elle vous servira à restaurer votre portefeuille sur un autre appareil"), + TextField( + enabled: false, + controller: _generateWalletProvider.mnemonicController, + maxLines: 3, + textAlign: TextAlign.center, + decoration: const InputDecoration( + contentPadding: EdgeInsets.all(15.0), + ), + style: const TextStyle( + fontSize: 22.0, + color: Colors.black, + fontWeight: FontWeight.w400)), + const SizedBox(height: 8), + toolTips(_toolTipSecret, 'Code secret:', + "Retenez bien votre code secret, il vous sera demandé à chaque paiement, ainsi que pour configurer votre portefeuille"), + Stack( + alignment: Alignment.centerRight, + children: [ + TextField( + key: const Key('generatedPin'), + enabled: false, + controller: _generateWalletProvider.pin, + maxLines: 1, + textAlign: TextAlign.center, + decoration: const InputDecoration(), + style: const TextStyle( + fontSize: 30.0, + color: Colors.black, + fontWeight: FontWeight.bold)), + IconButton( + icon: const Icon(Icons.replay), + color: orangeC, + onPressed: () { + _generateWalletProvider.changePinCode(reload: true); + }, + ), + ], + ), + const SizedBox(height: 20), + ElevatedButton( + key: const Key('storeKeychain'), + style: ElevatedButton.styleFrom( + primary: yellowC, // background + onPrimary: Colors.black, // foreground + ), + onPressed: _generateWalletProvider.walletIsGenerated + ? () async { + _generateWalletProvider.nbrWord = + _generateWalletProvider.getRandomInt(); + _generateWalletProvider.actualWallet = await Dewif() + .generateDewif( + _generateWalletProvider.generatedMnemonic!, + _generateWalletProvider.pin.text, + lang: appLang); + await Navigator.push( context, MaterialPageRoute(builder: (context) { - return PrintWallet( - _generateWalletProvider.generatedMnemonic); + return ConfirmStoreWallet( + generatedMnemonic: + _generateWalletProvider.generatedMnemonic, + generatedWallet: + _generateWalletProvider.actualWallet); }), ); - }, - child: const Icon(Icons.print)) - ]), - ))); + } + : null, + child: const Text('Enregistrer ce trousseau', + style: TextStyle(fontSize: 20))), + const SizedBox(height: 20), + GestureDetector( + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return PrintWallet( + _generateWalletProvider.generatedMnemonic); + }), + ); + }, + child: const Icon(Icons.print)) + ]), + ), + ), + ), + ); } Widget toolTips(_key, _text, _message) { diff --git a/lib/screens/myWallets/import_cesium_wallet.dart b/lib/screens/myWallets/import_cesium_wallet.dart index ff707f1..bbac4cc 100644 --- a/lib/screens/myWallets/import_cesium_wallet.dart +++ b/lib/screens/myWallets/import_cesium_wallet.dart @@ -192,6 +192,7 @@ class ImportWalletScreen extends StatelessWidget { }), ModalRoute.withName('/'), ); + _generateWalletProvider.resetCesiumImportView(); } : null, child: const Text( diff --git a/pubspec.lock b/pubspec.lock index 7ca48ec..961fea6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -301,7 +301,7 @@ packages: name: durt url: "https://pub.dartlang.org" source: hosted - version: "0.1.5+2" + version: "0.1.5+7" fake_async: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 4518579..0911157 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -62,7 +62,7 @@ dependencies: pull_to_refresh: ^2.0.0 dio: ^4.0.4 desktop_window: ^0.4.0 - durt: ^0.1.5+2 + durt: ^0.1.5+7 package_info_plus: ^1.3.0 flutter_icons: