wip: try to import existing wallets

This commit is contained in:
poka 2022-06-07 01:10:40 +02:00
parent a1767d289f
commit d7fcf0636f
6 changed files with 43 additions and 14 deletions

View File

@ -10,6 +10,7 @@ import 'package:gecko/models/wallet_data.dart';
import 'package:gecko/providers/substrate_sdk.dart'; import 'package:gecko/providers/substrate_sdk.dart';
import 'package:pdf/pdf.dart'; import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw; import 'package:pdf/widgets.dart' as pw;
import 'package:polkawallet_sdk/api/apiKeyring.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import "package:unorm_dart/unorm_dart.dart" as unorm; import "package:unorm_dart/unorm_dart.dart" as unorm;
@ -361,4 +362,26 @@ class GenerateWalletsProvider with ChangeNotifier {
void reloadBuild() { void reloadBuild() {
notifyListeners(); notifyListeners();
} }
Future scanDerivations(BuildContext context, {int number = 10}) async {
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
final ss58 = _sub.ss58;
// for ()
// final addressData = await _sub.sdk.api.keyring.addressFromMnemonic(ss58,
// cryptoType: CryptoType.sr25519,
// mnemonic: generatedMnemonic!,
// derivePath: '//4');
// final balance = await _sub.getBalance(addressData.address!);
// log.d(balance);
// if (balance != 0) {
// await _sub.importAccount(
// mnemonic: '',
// fromMnemonic: true,
// derivePath: '//4',
// password: pin.text);
// }
}
} }

View File

@ -102,8 +102,8 @@ class RestoreChest extends StatelessWidget {
context, context,
FaderTransition( FaderTransition(
page: skipIntro page: skipIntro
? const OnboardingStepNine() ? const OnboardingStepNine(scanDerivation: true)
: const OnboardingStepSeven(), : const OnboardingStepSeven(scanDerivation: true),
isFast: true), isFast: true),
); );
} else { } else {

View File

@ -15,10 +15,10 @@ import 'package:provider/provider.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class OnboardingStepTen extends StatelessWidget { class OnboardingStepTen extends StatelessWidget {
OnboardingStepTen({ OnboardingStepTen({Key? validationKey, this.scanDerivation = false})
Key? validationKey, : super(key: validationKey);
}) : super(key: validationKey);
final bool scanDerivation;
final formKey = GlobalKey<FormState>(); final formKey = GlobalKey<FormState>();
Color? pinColor = const Color(0xFFA4B600); Color? pinColor = const Color(0xFFA4B600);
bool hasError = false; bool hasError = false;
@ -161,10 +161,11 @@ class OnboardingStepTen extends StatelessWidget {
await _generateWalletProvider.storeHDWChest( await _generateWalletProvider.storeHDWChest(
address, 'Mon portefeuille courant', context); address, 'Mon portefeuille courant', context);
_myWalletProvider.readAllWallets(_currentChest); _myWalletProvider.readAllWallets(_currentChest);
// scheduleMicrotask(() {
// _walletOptions.reloadBuild();
_myWalletProvider.rebuildWidget(); _myWalletProvider.rebuildWidget();
// });
await _generateWalletProvider.scanDerivations(context,
number: 20);
_generateWalletProvider.generatedMnemonic = ''; _generateWalletProvider.generatedMnemonic = '';
_myWalletProvider.resetPinCode(); _myWalletProvider.resetPinCode();
Navigator.push( Navigator.push(

View File

@ -6,7 +6,8 @@ import 'package:gecko/screens/common_elements.dart';
import 'package:gecko/screens/onBoarding/8.dart'; import 'package:gecko/screens/onBoarding/8.dart';
class OnboardingStepSeven extends StatelessWidget { class OnboardingStepSeven extends StatelessWidget {
const OnboardingStepSeven({Key? key}) : super(key: key); const OnboardingStepSeven({Key? key, this.scanDerivation = false}) : super(key: key);
final bool scanDerivation;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -35,7 +36,7 @@ class OnboardingStepSeven extends StatelessWidget {
], ],
'coffre-fort-code-secret-dans-telephone.png', 'coffre-fort-code-secret-dans-telephone.png',
'>', '>',
const OnboardingStepEight(), OnboardingStepEight(scanDerivation: scanDerivation),
6, 6,
boxHeight: 400), boxHeight: 400),
), ),

View File

@ -6,7 +6,9 @@ import 'package:gecko/screens/common_elements.dart';
import 'package:gecko/screens/onBoarding/9.dart'; import 'package:gecko/screens/onBoarding/9.dart';
class OnboardingStepEight extends StatelessWidget { class OnboardingStepEight extends StatelessWidget {
const OnboardingStepEight({Key? key}) : super(key: key); const OnboardingStepEight({Key? key, this.scanDerivation = false})
: super(key: key);
final bool scanDerivation;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -41,7 +43,7 @@ class OnboardingStepEight extends StatelessWidget {
], ],
'coffre-fort-protege-les-portefeuilles.png', 'coffre-fort-protege-les-portefeuilles.png',
'>', '>',
const OnboardingStepNine(), OnboardingStepNine(scanDerivation: scanDerivation),
7), 7),
), ),
); );

View File

@ -9,7 +9,9 @@ import 'package:provider/provider.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class OnboardingStepNine extends StatelessWidget { class OnboardingStepNine extends StatelessWidget {
const OnboardingStepNine({Key? key}) : super(key: key); const OnboardingStepNine({Key? key, this.scanDerivation = false})
: super(key: key);
final bool scanDerivation;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -103,7 +105,7 @@ class OnboardingStepNine extends StatelessWidget {
))), ))),
SizedBox(height: 22 * ratio), SizedBox(height: 22 * ratio),
common.nextButton(context, "J'ai noté mon code secret", common.nextButton(context, "J'ai noté mon code secret",
OnboardingStepTen(), false), OnboardingStepTen(scanDerivation: scanDerivation), false),
SizedBox(height: 35 * ratio), SizedBox(height: 35 * ratio),
]), ]),
)); ));