From 4389f65ee067266d721749631f79b6138ba22804 Mon Sep 17 00:00:00 2001 From: poka Date: Wed, 2 Mar 2022 21:33:50 +0100 Subject: [PATCH] Decompose seed getting --- lib/models/chest_data.dart | 4 + lib/models/chest_data.g.dart | 5 +- lib/providers/substrate_sdk.dart | 21 +++-- lib/screens/substrate_sandbox.dart | 4 +- pubspec.lock | 145 +++++++++++++++-------------- pubspec.yaml | 1 + 6 files changed, 100 insertions(+), 80 deletions(-) diff --git a/lib/models/chest_data.dart b/lib/models/chest_data.dart index 48f5579..950dfdd 100644 --- a/lib/models/chest_data.dart +++ b/lib/models/chest_data.dart @@ -9,6 +9,9 @@ class ChestData extends HiveObject { @HiveField(0) String? dewif; + @HiveField(1) + String? rootAddress; + @HiveField(2) String? name; @@ -26,6 +29,7 @@ class ChestData extends HiveObject { ChestData({ this.dewif, + this.rootAddress, this.name, this.defaultWallet, this.imageName, diff --git a/lib/models/chest_data.g.dart b/lib/models/chest_data.g.dart index 33cbaf3..52665b8 100644 --- a/lib/models/chest_data.g.dart +++ b/lib/models/chest_data.g.dart @@ -18,6 +18,7 @@ class ChestDataAdapter extends TypeAdapter { }; return ChestData( dewif: fields[0] as String?, + rootAddress: fields[1] as String?, name: fields[2] as String?, defaultWallet: fields[3] as int?, imageName: fields[4] as String?, @@ -29,9 +30,11 @@ class ChestDataAdapter extends TypeAdapter { @override void write(BinaryWriter writer, ChestData obj) { writer - ..writeByte(6) + ..writeByte(7) ..writeByte(0) ..write(obj.dewif) + ..writeByte(1) + ..write(obj.rootAddress) ..writeByte(2) ..write(obj.name) ..writeByte(3) diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index c4cdd7c..a4739e1 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -1,6 +1,5 @@ // ignore_for_file: avoid_print -import 'dart:convert'; import 'package:crypto/crypto.dart'; import 'package:fast_base58/fast_base58.dart'; import 'package:flutter/material.dart'; @@ -10,13 +9,10 @@ import 'package:polkawallet_sdk/api/types/networkParams.dart'; import 'package:polkawallet_sdk/api/types/txInfoData.dart'; import 'package:polkawallet_sdk/polkawallet_sdk.dart'; import 'package:polkawallet_sdk/storage/keyring.dart'; -import 'package:polkawallet_sdk/storage/localStorage.dart'; -import 'package:polkawallet_sdk/utils/localStorage.dart'; import 'package:truncate/truncate.dart'; -import 'package:get_storage/get_storage.dart'; class SubstrateSdk with ChangeNotifier { - final List subNode = ['127.0.0.1:9944', '192.168.1.45:9944']; + final List subNode = ['127.0.0.1:9944', '192.168.1.72:9944']; final bool isSsl = false; final int ss58 = 42; @@ -97,7 +93,8 @@ class SubstrateSdk with ChangeNotifier { key: keyToImport, name: 'testKey', password: keystorePassword.text, - derivePath: derivePath) + derivePath: derivePath, + cryptoType: CryptoType.sr25519) .catchError((e) { importIsLoading = false; notifyListeners(); @@ -178,7 +175,7 @@ class SubstrateSdk with ChangeNotifier { onStatusChange: (status) { print('status: ' + status); if (status == 'Ready') { - snack(context, 'Paiement effectué avec succès !'); + snack(context, 'Transaction terminé'); } }, ); @@ -196,7 +193,15 @@ class SubstrateSdk with ChangeNotifier { final seedMap = await keyring.store.getDecryptedSeed(keypair.pubKey, password); print(seedMap); - generatedMnemonic = seedMap!['seed']; + if (seedMap!['type'] != 'mnemonic') return; + final List seedList = seedMap['seed'].split('/'); + generatedMnemonic = seedList[0]; + int sourceDerivation = -1; // To get derivation number of this account + if (seedList.length > 1) { + sourceDerivation = int.parse(seedMap['seed'].split('/')[1]); + } + print(generatedMnemonic); + print(sourceDerivation); importAccount(fromMnemonic: true, derivePath: '/$number'); } diff --git a/lib/screens/substrate_sandbox.dart b/lib/screens/substrate_sandbox.dart index 8a320f7..04036ca 100644 --- a/lib/screens/substrate_sandbox.dart +++ b/lib/screens/substrate_sandbox.dart @@ -94,7 +94,7 @@ class SubstrateSandBox extends StatelessWidget { child: const Text("Dériver"), ) ]) - ]); + ]); }), const SizedBox(height: 20), const Text('Mot de passe du trousseau:'), @@ -141,7 +141,7 @@ class SubstrateSandBox extends StatelessWidget { onPrimary: Colors.black, // foreground ), onPressed: () async { - final res = await _sub.generateMnemonic(); + await _sub.generateMnemonic(); _sub.importIsLoading = false; _sub.reload(); snack(context, 'Le mnemonic a été copié'); diff --git a/pubspec.lock b/pubspec.lock index 37ddc2b..336a827 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "30.0.0" + version: "31.0.0" aes_ecb_pkcs5_flutter: dependency: transitive description: @@ -21,7 +21,7 @@ packages: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "2.7.0" + version: "2.8.0" archive: dependency: transitive description: @@ -42,7 +42,7 @@ packages: name: assorted_layout_widgets url: "https://pub.dartlang.org" source: hosted - version: "5.2.1" + version: "5.5.0" async: dependency: transitive description: @@ -98,7 +98,7 @@ packages: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.2.1" build_config: dependency: transitive description: @@ -119,21 +119,21 @@ packages: name: build_resolvers url: "https://pub.dartlang.org" source: hosted - version: "2.0.4" + version: "2.0.6" build_runner: dependency: "direct dev" description: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.1.4" + version: "2.1.7" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted - version: "7.2.2" + version: "7.2.3" built_collection: dependency: transitive description: @@ -147,7 +147,7 @@ packages: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.1.3" + version: "8.1.4" carousel_slider: dependency: "direct main" description: @@ -210,21 +210,21 @@ packages: name: confirm_dialog url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.0.1" connectivity_plus: dependency: transitive description: name: connectivity_plus url: "https://pub.dartlang.org" source: hosted - version: "1.4.0" + version: "2.2.1" connectivity_plus_linux: dependency: transitive description: name: connectivity_plus_linux url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.3.0" connectivity_plus_macos: dependency: transitive description: @@ -238,14 +238,14 @@ packages: name: connectivity_plus_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" connectivity_plus_web: dependency: transitive description: name: connectivity_plus_web url: "https://pub.dartlang.org" source: hosted - version: "1.1.0+1" + version: "1.2.0" connectivity_plus_windows: dependency: transitive description: @@ -287,14 +287,14 @@ packages: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "2.2.0" + version: "2.2.1" dbus: dependency: transitive description: name: dbus url: "https://pub.dartlang.org" source: hosted - version: "0.5.6" + version: "0.7.1" desktop_window: dependency: "direct main" description: @@ -388,14 +388,14 @@ packages: name: flutter_logs url: "https://pub.dartlang.org" source: hosted - version: "2.1.4" + version: "2.1.5" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle url: "https://pub.dartlang.org" source: hosted - version: "2.0.4" + version: "2.0.5" flutter_svg: dependency: "direct main" description: @@ -501,14 +501,14 @@ packages: name: graphql url: "https://pub.dartlang.org" source: hosted - version: "5.0.0" + version: "5.0.1" graphql_flutter: dependency: "direct main" description: name: graphql_flutter url: "https://pub.dartlang.org" source: hosted - version: "5.0.0" + version: "5.0.1" graphs: dependency: transitive description: @@ -529,7 +529,7 @@ packages: name: hive url: "https://pub.dartlang.org" source: hosted - version: "2.0.4" + version: "2.0.6" hive_flutter: dependency: "direct main" description: @@ -543,7 +543,7 @@ packages: name: hive_generator url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.1.2" http: dependency: "direct main" description: @@ -557,7 +557,7 @@ packages: name: http_multi_server url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.2.0" http_parser: dependency: transitive description: @@ -578,7 +578,7 @@ packages: name: image url: "https://pub.dartlang.org" source: hosted - version: "3.0.8" + version: "3.1.3" image_gallery_saver: dependency: "direct main" description: @@ -592,21 +592,21 @@ packages: name: image_picker url: "https://pub.dartlang.org" source: hosted - version: "0.8.4+4" + version: "0.8.4+10" image_picker_for_web: dependency: transitive description: name: image_picker_for_web url: "https://pub.dartlang.org" source: hosted - version: "2.1.4" + version: "2.1.6" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.4.1" + version: "2.4.4" infinite_scroll_pagination: dependency: "direct main" description: @@ -674,7 +674,7 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.3.0" + version: "4.4.0" lints: dependency: transitive description: @@ -751,7 +751,7 @@ packages: name: nm url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.5.0" node_preamble: dependency: transitive description: @@ -765,7 +765,7 @@ packages: name: normalize url: "https://pub.dartlang.org" source: hosted - version: "0.5.5" + version: "0.6.0" package_config: dependency: transitive description: @@ -779,7 +779,7 @@ packages: name: package_info_plus url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.4.0" package_info_plus_linux: dependency: transitive description: @@ -849,42 +849,42 @@ packages: name: path_provider_android url: "https://pub.dartlang.org" source: hosted - version: "2.0.11" + version: "2.0.12" path_provider_ios: dependency: transitive description: name: path_provider_ios url: "https://pub.dartlang.org" source: hosted - version: "2.0.7" + version: "2.0.8" path_provider_linux: dependency: transitive description: name: path_provider_linux url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.5" path_provider_macos: dependency: transitive description: name: path_provider_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.5" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.3" path_provider_windows: dependency: transitive description: name: path_provider_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.3" + version: "2.0.5" path_tree: dependency: transitive description: @@ -899,13 +899,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.7.1" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.11.1" permission_handler: dependency: "direct main" description: @@ -954,23 +947,23 @@ packages: name: plugin_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.2" pointycastle: dependency: transitive description: name: pointycastle url: "https://pub.dartlang.org" source: hosted - version: "3.4.0" + version: "3.5.1" polkawallet_sdk: dependency: "direct main" description: path: "." ref: fixAndroidActivityVersion - resolved-ref: bcb33239d99605258361951f447ab097ff03208a + resolved-ref: "05d80150def4d5b3cac02ba4db96a39550719c9b" url: "git://github.com/poka-IT/sdk.git" source: git - version: "0.4.1" + version: "0.4.2" pool: dependency: transitive description: @@ -998,7 +991,7 @@ packages: name: provider url: "https://pub.dartlang.org" source: hosted - version: "6.0.1" + version: "6.0.2" pub_semver: dependency: transitive description: @@ -1012,7 +1005,7 @@ packages: name: pubspec_parse url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" pull_to_refresh: dependency: "direct main" description: @@ -1051,56 +1044,70 @@ packages: name: responsive_builder url: "https://pub.dartlang.org" source: hosted - version: "0.4.1" + version: "0.4.2" responsive_framework: dependency: "direct main" description: name: responsive_framework url: "https://pub.dartlang.org" source: hosted - version: "0.1.5" + version: "0.1.7" rxdart: dependency: transitive description: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.26.0" + version: "0.27.3" sentry: dependency: "direct main" description: name: sentry url: "https://pub.dartlang.org" source: hosted - version: "6.1.0" + version: "6.3.0" sentry_flutter: dependency: "direct main" description: name: sentry_flutter url: "https://pub.dartlang.org" source: hosted - version: "6.1.0" + version: "6.3.0" shared_preferences: dependency: "direct main" description: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "2.0.8" + version: "2.0.13" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.11" + shared_preferences_ios: + dependency: transitive + description: + name: shared_preferences_ios + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" shared_preferences_macos: dependency: transitive description: name: shared_preferences_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.3" shared_preferences_platform_interface: dependency: transitive description: @@ -1114,14 +1121,14 @@ packages: name: shared_preferences_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.3" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" shelf: dependency: transitive description: @@ -1168,14 +1175,14 @@ packages: name: source_gen url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.2.1" source_helper: dependency: transitive description: name: source_helper url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" source_map_stack_trace: dependency: transitive description: @@ -1301,7 +1308,7 @@ packages: name: uuid url: "https://pub.dartlang.org" source: hosted - version: "3.0.5" + version: "3.0.6" vector_math: dependency: transitive description: @@ -1350,7 +1357,7 @@ packages: name: webview_flutter url: "https://pub.dartlang.org" source: hosted - version: "2.8.0" + version: "3.0.1" webview_flutter_android: dependency: transitive description: @@ -1364,7 +1371,7 @@ packages: name: webview_flutter_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" webview_flutter_wkwebview: dependency: transitive description: @@ -1378,13 +1385,13 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.2.10" + version: "2.4.1" window_size: dependency: "direct main" description: path: "plugins/window_size" ref: HEAD - resolved-ref: "03d957e8b5c99fc83cd4a781031b154ab3de8753" + resolved-ref: a738913c8ce2c9f47515382d40827e794a334274 url: "git://github.com/google/flutter-desktop-embedding.git" source: git version: "0.1.0" @@ -1394,7 +1401,7 @@ packages: name: xdg_directories url: "https://pub.dartlang.org" source: hosted - version: "0.2.0" + version: "0.2.0+1" xml: dependency: "direct main" description: @@ -1410,5 +1417,5 @@ packages: source: hosted version: "3.1.0" sdks: - dart: ">=2.14.4 <3.0.0" - flutter: ">=2.5.0" + dart: ">=2.15.0 <3.0.0" + flutter: ">=2.8.0" diff --git a/pubspec.yaml b/pubspec.yaml index 688cbdd..afc1b57 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -73,6 +73,7 @@ dependencies: durt: ^0.1.6 package_info_plus: ^1.3.0 polkawallet_sdk: #^0.4.1 ## Wait for merging PR: https://github.com/polkawallet-io/sdk/pull/19 + # path: ../substrate-sdk git: url: git://github.com/poka-IT/sdk.git ref: fixAndroidActivityVersion