From cd71b0eb3d61964752b1c34a691c1179aae9677e Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 24 Dec 2021 15:27:38 +0100 Subject: [PATCH] Fix pubkey derivations and few things --- assets/avatars/trunc/0.png | Bin 9453 -> 0 bytes assets/avatars/trunc/1.png | Bin 11941 -> 0 bytes assets/avatars/trunc/2.png | Bin 11431 -> 0 bytes lib/globals.dart | 1 + lib/providers/cesium_plus.dart | 5 +- lib/providers/generate_wallets.dart | 8 +-- lib/providers/wallet_options.dart | 20 ++++--- lib/screens/history.dart | 7 +-- lib/screens/home.dart | 30 ++++++----- lib/screens/myWallets/generate_wallets.dart | 2 +- lib/screens/myWallets/unlocking_wallet.dart | 9 +++- lib/screens/myWallets/wallet_options.dart | 40 +++++--------- lib/screens/myWallets/wallets_home.dart | 11 +++- lib/screens/onBoarding/12.dart | 9 ++-- .../onBoarding/13_congratulations.dart | 49 ++++++++++-------- lib/screens/wallet_view.dart | 2 +- pubspec.lock | 2 +- pubspec.yaml | 4 +- 18 files changed, 109 insertions(+), 90 deletions(-) delete mode 100755 assets/avatars/trunc/0.png delete mode 100755 assets/avatars/trunc/1.png delete mode 100755 assets/avatars/trunc/2.png diff --git a/assets/avatars/trunc/0.png b/assets/avatars/trunc/0.png deleted file mode 100755 index c37955248205d6f9b1894967077db08d71913fe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9453 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 diff --git a/assets/avatars/trunc/1.png b/assets/avatars/trunc/1.png deleted file mode 100755 index 49023c9fb7e7ae97ab4dd5b1afe3da6a2d385202..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11941 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 walletBox; late Box chestBox; diff --git a/lib/providers/cesium_plus.dart b/lib/providers/cesium_plus.dart index f52e811..72c35cc 100644 --- a/lib/providers/cesium_plus.dart +++ b/lib/providers/cesium_plus.dart @@ -60,11 +60,11 @@ class CesiumPlusProvider with ChangeNotifier { return [podRequest, queryGetAvatar, headers]; } - Future getName(String? _pubkey) async { + Future getName(String? _pubkey) async { String? _name; if (g1WalletsBox.get(_pubkey)!.csName != null) { - return g1WalletsBox.get(_pubkey)!.csName; + return g1WalletsBox.get(_pubkey)!.csName!; } List queryOptions = await _buildQuery(_pubkey); @@ -97,6 +97,7 @@ class CesiumPlusProvider with ChangeNotifier { } _name = response.data['hits']['hits'][0]['_source']['title']; + _name ??= ''; g1WalletsBox.get(_pubkey)!.csName = _name; return _name; diff --git a/lib/providers/generate_wallets.dart b/lib/providers/generate_wallets.dart index 91cdf8b..43a389a 100644 --- a/lib/providers/generate_wallets.dart +++ b/lib/providers/generate_wallets.dart @@ -157,7 +157,7 @@ class GenerateWalletsProvider with ChangeNotifier { try { actualWallet = await Dewif().generateDewif( generatedMnemonic, randomSecretCode(pinLength), - lang: 'french'); + lang: appLang); } catch (e) { log.e(e); } @@ -294,7 +294,7 @@ class GenerateWalletsProvider with ChangeNotifier { } List generateWordList() { - generatedMnemonic = generateMnemonic(lang: 'french'); + generatedMnemonic = generateMnemonic(lang: appLang); List _wordsList = []; String word; int _nbr = 1; @@ -333,8 +333,8 @@ class GenerateWalletsProvider with ChangeNotifier { cellController0.text = cellController1.text = cellController2.text = cellController3.text = cellController4.text = cellController5.text = cellController6.text = cellController7.text = cellController8.text = - cellController9.text = - cellController10.text = cellController11.text = ''; + cellController9.text = cellController10.text = + cellController11.text = ''; isFirstTimeSentenceComplete = true; notifyListeners(); } diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart index c18f062..1056d7c 100644 --- a/lib/providers/wallet_options.dart +++ b/lib/providers/wallet_options.dart @@ -39,7 +39,7 @@ class WalletOptionsProvider with ChangeNotifier { } if (derivation != -1) { try { - final _wallet = HdWallet.fromDewif(_dewif!, _pin); + final _wallet = HdWallet.fromDewif(_dewif!, _pin, lang: appLang); pubkey.text = _wallet.getPubkey(derivation!); log.d(pubkey.text); notifyListeners(); @@ -66,15 +66,23 @@ class WalletOptionsProvider with ChangeNotifier { } String? readLocalWallet( - context, WalletData _wallet, String _pin, int _pinLenght) { + context, WalletData _wallet, String _pin, int _pinLenght, + {String? mnemonic}) { isWalletUnlock = false; + final String _localPubkey; + try { String? _localDewif = chestBox.get(_wallet.chest)!.dewif; - String _localPubkey; - if ((_localPubkey = _getPubkeyFromDewif( - _localDewif, _pin, _pinLenght, _wallet.derivation)) != - 'false') { + if (mnemonic == null) { + _localPubkey = _getPubkeyFromDewif( + _localDewif, _pin.toUpperCase(), _pinLenght, _wallet.derivation); + } else { + final _hdwallet = HdWallet.fromMnemonic(mnemonic); + _localPubkey = _hdwallet.getPubkey(_wallet.derivation!); + } + + if (_localPubkey != 'false') { pubkey.text = _localPubkey; isWalletUnlock = true; log.d(pubkey.text); diff --git a/lib/screens/history.dart b/lib/screens/history.dart index 315e733..9f95551 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -295,11 +295,11 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { ]); } if (_avatar.hasData) { - g1WalletsBox.get(repository[2])!.avatar = + g1WalletsBox.get(repository[2])?.avatar = _avatar.data; return ClipOval(child: _avatar.data); } else { - g1WalletsBox.get(repository[2])!.avatar = + g1WalletsBox.get(repository[2])?.avatar = _cesiumPlusProvider .defaultAvatar(repository[2]); return _cesiumPlusProvider @@ -308,7 +308,8 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { }) : ClipOval( child: Image( - image: g1WalletsBox.get(repository[2])!.avatar!.image, + image: + g1WalletsBox.get(repository[2])!.avatar!.image, height: _avatarSize, ), ), diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 7f25c5a..3e84f6b 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -411,19 +411,21 @@ Widget welcomeHome(context) { ]), ), Expanded( - flex: 1, - child: Container( - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [ - Colors.transparent, - Colors.black.withOpacity(0.9), - ], - ), + flex: 1, + child: Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Colors.transparent, + Colors.black.withOpacity(0.9), + ], ), - child: Center( + ), + child: Center( + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 480), child: Column(children: [ const Spacer(), Row(children: [ @@ -505,7 +507,9 @@ Widget welcomeHome(context) { SizedBox(height: isTall ? 100 : 50) ]), ), - )) + ), + ), + ) ]), ); } diff --git a/lib/screens/myWallets/generate_wallets.dart b/lib/screens/myWallets/generate_wallets.dart index 17204d6..dde9a07 100644 --- a/lib/screens/myWallets/generate_wallets.dart +++ b/lib/screens/myWallets/generate_wallets.dart @@ -120,7 +120,7 @@ class GenerateFastChestScreen extends StatelessWidget { _generateWalletProvider .generatedMnemonic!, _generateWalletProvider.pin.text, - lang: 'french'); + lang: appLang); await Navigator.push( context, MaterialPageRoute(builder: (context) { diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index ba9b355..a5fb762 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -8,6 +8,7 @@ import 'package:gecko/providers/wallet_options.dart'; import 'package:flutter/material.dart'; import 'package:gecko/screens/myWallets/cesium_wallet_options.dart'; import 'package:gecko/screens/myWallets/choose_chest.dart'; +import 'package:gecko/screens/myWallets/wallets_home.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; import 'package:provider/provider.dart'; import 'package:gecko/globals.dart'; @@ -223,8 +224,12 @@ class UnlockingWallet extends StatelessWidget { cesiumWallet: currentChest); }), ) - : Navigator.pushNamed( - formKey.currentContext!, '/mywallets'); + : Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return const WalletsHome(); + }), + ); } else if (action == "pay") { resultPay = await _historyProvider.pay(context, _pin.toUpperCase()); diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index c7da2fb..e900297 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -27,8 +27,6 @@ class WalletOptions extends StatelessWidget { MyWalletsProvider _myWalletProvider = Provider.of(context); - - _walletOptions.pubkey.text = log.d(_walletOptions.pubkey.text); final int _currentChest = _myWalletProvider.getCurrentChest()!; @@ -39,10 +37,7 @@ class WalletOptions extends StatelessWidget { onWillPop: () { _walletOptions.isEditing = false; _walletOptions.isBalanceBlur = true; - Navigator.popUntil( - context, - ModalRoute.withName('/mywallets'), - ); + Navigator.pop(context); return Future.value(true); }, child: Scaffold( @@ -55,10 +50,7 @@ class WalletOptions extends StatelessWidget { onPressed: () { _walletOptions.isEditing = false; _walletOptions.isBalanceBlur = true; - Navigator.popUntil( - context, - ModalRoute.withName('/mywallets'), - ); + Navigator.pop(context); }), title: SizedBox( height: 22, @@ -88,6 +80,7 @@ class WalletOptions extends StatelessWidget { ], )), child: Row( + crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ const Spacer(), @@ -138,8 +131,7 @@ class WalletOptions extends StatelessWidget { children: [ InkWell( onTap: () async { - File newAvatar = - await (walletProvider.changeAvatar()); + File newAvatar = await (walletProvider.changeAvatar()); wallet.imageFile = newAvatar; walletProvider.reloadBuild(); }, @@ -155,10 +147,10 @@ class WalletOptions extends StatelessWidget { ), Positioned( right: 0, + top: 0, child: InkWell( onTap: () async { - File newAvatar = - await (walletProvider.changeAvatar()); + File newAvatar = await (walletProvider.changeAvatar()); wallet.imageFile = newAvatar; walletProvider.reloadBuild(); }, @@ -174,13 +166,6 @@ class WalletOptions extends StatelessWidget { Widget walletName(WalletOptionsProvider walletProvider, WalletOptionsProvider _walletOptions) { - int _nbrLinesName = 1; - _walletOptions.nameController.text.length >= 15 - ? _nbrLinesName = 2 - : _nbrLinesName = 1; - if (_walletOptions.nameController.text.length >= 26 && isTall) { - _nbrLinesName = 3; - } bool _isNewNameValid = false; if (_isNewNameValid == false) { _walletOptions.nameController.text = wallet.name!; @@ -197,7 +182,8 @@ class WalletOptions extends StatelessWidget { focusNode: walletProvider.walletNameFocus, enabled: walletProvider.isEditing, controller: walletProvider.nameController, - maxLines: _nbrLinesName, + minLines: 1, + maxLines: 3, textAlign: TextAlign.center, decoration: const InputDecoration( border: InputBorder.none, @@ -207,10 +193,10 @@ class WalletOptions extends StatelessWidget { contentPadding: EdgeInsets.all(15.0), ), style: TextStyle( - fontSize: isTall ? 27 : 23, - color: Colors.black, - fontWeight: FontWeight.w400, - fontFamily: 'Monospace'), + fontSize: isTall ? 27 : 23, + color: Colors.black, + fontWeight: FontWeight.w400, + ), ), Positioned( right: 0, @@ -253,7 +239,7 @@ class WalletOptions extends StatelessWidget { sigmaX: walletProvider.isBalanceBlur ? 6 : 0, sigmaY: walletProvider.isBalanceBlur ? 5 : 0), child: Text( - _balance.data.toString() + ' DU', + _balance.data.toString() + ' Ğ1', style: TextStyle( fontSize: isTall ? 20 : 18, ), diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index 6fbcad9..ede8c94 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -5,6 +5,7 @@ import 'package:gecko/providers/my_wallets.dart'; import 'package:gecko/models/queries.dart'; import 'package:gecko/models/wallet_data.dart'; import 'package:flutter/material.dart'; +import 'package:gecko/providers/wallet_options.dart'; import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/myWallets/chest_options.dart'; import 'package:gecko/screens/myWallets/choose_chest.dart'; @@ -131,7 +132,8 @@ class WalletsHome extends StatelessWidget { Widget myWalletsTiles(BuildContext context) { MyWalletsProvider _myWalletProvider = Provider.of(context); - + WalletOptionsProvider _walletOptions = + Provider.of(context, listen: false); final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); if (!isWalletsExists) { @@ -175,6 +177,8 @@ class WalletsHome extends StatelessWidget { padding: const EdgeInsets.all(16), child: GestureDetector( onTap: () { + _walletOptions.readLocalWallet(context, _repository, + _myWalletProvider.pinCode, pinLength); Navigator.push( context, SmoothTransition( @@ -260,6 +264,11 @@ class WalletsHome extends StatelessWidget { ), // dense: true, onTap: () { + _walletOptions.readLocalWallet( + context, + _repository, + _myWalletProvider.pinCode, + pinLength); Navigator.push( context, SmoothTransition( diff --git a/lib/screens/onBoarding/12.dart b/lib/screens/onBoarding/12.dart index 0bedd13..3832702 100644 --- a/lib/screens/onBoarding/12.dart +++ b/lib/screens/onBoarding/12.dart @@ -120,16 +120,15 @@ class OnboardingStepFourteen extends StatelessWidget { NewWallet generatedWallet = await Dewif().generateDewif( _generateWalletProvider.generatedMnemonic!, _generateWalletProvider.pin.text, - lang: 'french'); + lang: appLang); await _generateWalletProvider.storeHDWChest( generatedWallet, 'Mon portefeuille courant', context); _myWalletProvider.readAllWallets(_currentChest); // scheduleMicrotask(() { - _walletOptions.reloadBuild(); - // _myWalletProvider.rebuildWidget(); + // _walletOptions.reloadBuild(); + _myWalletProvider.rebuildWidget(); // }); - _generateWalletProvider.generatedMnemonic = - _generateWalletProvider.pin.text = ''; + _generateWalletProvider.generatedMnemonic = ''; Navigator.push( context, FaderTransition( diff --git a/lib/screens/onBoarding/13_congratulations.dart b/lib/screens/onBoarding/13_congratulations.dart index 4428bdd..f7189c7 100644 --- a/lib/screens/onBoarding/13_congratulations.dart +++ b/lib/screens/onBoarding/13_congratulations.dart @@ -4,6 +4,7 @@ import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/screens/common_elements.dart'; +import 'package:gecko/screens/myWallets/wallets_home.dart'; // ignore: must_be_immutable class OnboardingStepFiveteen extends StatelessWidget { @@ -33,28 +34,32 @@ class OnboardingStepFiveteen extends StatelessWidget { height: isTall ? 400 : 300, ), Expanded( - child: Align( - alignment: Alignment.bottomCenter, - child: SizedBox( - width: 400, - height: 62, - child: ElevatedButton( - key: const Key('goWalletHome'), - style: ElevatedButton.styleFrom( - elevation: 5, - primary: orangeC, - onPrimary: Colors.white, // foreground - ), - onPressed: () { - Navigator.pushNamedAndRemoveUntil( - context, - '/mywallets', - ModalRoute.withName('/'), - ); - }, - child: const Text("Accéder à mes portefeuilles", - style: TextStyle(fontSize: 20))), - ))), + child: Align( + alignment: Alignment.bottomCenter, + child: SizedBox( + width: 400, + height: 62, + child: ElevatedButton( + key: const Key('goWalletHome'), + style: ElevatedButton.styleFrom( + elevation: 5, + primary: orangeC, + onPrimary: Colors.white, // foreground + ), + onPressed: () { + Navigator.pushAndRemoveUntil( + context, + MaterialPageRoute(builder: (context) { + return const WalletsHome(); + }), + ModalRoute.withName('/'), + ); + }, + child: const Text("Accéder à mes portefeuilles", + style: TextStyle(fontSize: 20))), + ), + ), + ), const SizedBox(height: 80), ]), )); diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart index f9db775..c6d25ec 100644 --- a/lib/screens/wallet_view.dart +++ b/lib/screens/wallet_view.dart @@ -248,7 +248,7 @@ class WalletViewScreen extends StatelessWidget { // onChanged: (v) => _searchProvider.rebuildWidget(), decoration: InputDecoration( hintText: '0.00', - suffix: const Text('DU/Ğ1'), + suffix: const Text('Ğ1'), filled: true, fillColor: Colors.transparent, // border: OutlineInputBorder( diff --git a/pubspec.lock b/pubspec.lock index b5a2db7..7ca48ec 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" + version: "0.1.5+2" fake_async: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c6b55fb..4518579 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.4+5 +version: 0.0.4+6 environment: sdk: '>=2.12.0 <3.0.0' @@ -62,7 +62,7 @@ dependencies: pull_to_refresh: ^2.0.0 dio: ^4.0.4 desktop_window: ^0.4.0 - durt: ^0.1.5 + durt: ^0.1.5+2 package_info_plus: ^1.3.0 flutter_icons: