Fix legacy seeds not being displayed when polyseed is not supported (#1608)

* Fix legacy seeds not being displayed when polyseed is not supported * fallback to english on Japanese, it errors with empty errorString - probably some kind of normalization issue

cyan committed Aug 17, 2024 at 04:30 UTC eef319658a1934c15768b335c7164b491de403f0
8 files changed +47 -14
cw_monero/lib/api/wallet.dart
+12 -1
@@ -45,12 +45,23 @@ String getSeed() {
45
46 String getSeedLegacy(String? language) {
47 var legacy = monero.Wallet_seed(wptr!, seedOffset: '');
48 + switch (language) {
49 + case "Chinese (Traditional)": language = "Chinese (simplified)"; break;
50 + case "Chinese (Simplified)": language = "Chinese (simplified)"; break;
51 + case "Korean": language = "English"; break;
52 + case "Czech": language = "English"; break;
53 + case "Japanese": language = "English"; break;
54 + }
55 if (monero.Wallet_status(wptr!) != 0) {
56 monero.Wallet_setSeedLanguage(wptr!, language: language ?? "English");
57 legacy = monero.Wallet_seed(wptr!, seedOffset: '');
58 }
59 if (monero.Wallet_status(wptr!) != 0) {
53 - return monero.Wallet_errorString(wptr!);
60 + final err = monero.Wallet_errorString(wptr!);
61 + if (legacy.isNotEmpty) {
62 + return "$err\n\n$legacy";
63 + }
64 + return err;
65 }
66 return legacy;
67 }
cw_monero/pubspec.lock
+5 -4
@@ -575,10 +575,11 @@ packages:
575 polyseed:
576 dependency: "direct main"
577 description:
578 - name: polyseed
579 - sha256: edf28042e7b0b28f97a0469aa98e6e4015937cef6b9340cd6ad2822139c95217
580 - url: "https://pub.dev"
581 - source: hosted
578 + path: "."
579 + ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
580 + resolved-ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
581 + url: "https://github.com/mrcyjanek/polyseed_dart"
582 + source: git
583 version: "0.0.5"
584 pool:
585 dependency: transitive
cw_monero/pubspec.yaml
+4 -1
@@ -19,7 +19,10 @@ dependencies:
19 flutter_mobx: ^2.0.6+1
20 intl: ^0.18.0
21 encrypt: ^5.0.1
22 - polyseed: ^0.0.5
22 + polyseed:
23 + git:
24 + url: https://github.com/mrcyjanek/polyseed_dart
25 + ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
26 cw_core:
27 path: ../cw_core
28 monero:
cw_wownero/lib/api/wallet.dart
+12 -1
@@ -47,12 +47,23 @@ String getSeed() {
47
48 String getSeedLegacy(String? language) {
49 var legacy = wownero.Wallet_seed(wptr!, seedOffset: '');
50 + switch (language) {
51 + case "Chinese (Traditional)": language = "Chinese (simplified)"; break;
52 + case "Chinese (Simplified)": language = "Chinese (simplified)"; break;
53 + case "Korean": language = "English"; break;
54 + case "Czech": language = "English"; break;
55 + case "Japanese": language = "English"; break;
56 + }
57 if (wownero.Wallet_status(wptr!) != 0) {
58 wownero.Wallet_setSeedLanguage(wptr!, language: language ?? "English");
59 legacy = wownero.Wallet_seed(wptr!, seedOffset: '');
60 }
61 if (wownero.Wallet_status(wptr!) != 0) {
55 - return wownero.Wallet_errorString(wptr!);
62 + final err = wownero.Wallet_errorString(wptr!);
63 + if (legacy.isNotEmpty) {
64 + return "$err\n\n$legacy";
65 + }
66 + return err;
67 }
68 return legacy;
69 }
cw_wownero/pubspec.lock
+5 -4
@@ -567,10 +567,11 @@ packages:
567 polyseed:
568 dependency: "direct main"
569 description:
570 - name: polyseed
571 - sha256: edf28042e7b0b28f97a0469aa98e6e4015937cef6b9340cd6ad2822139c95217
572 - url: "https://pub.dev"
573 - source: hosted
570 + path: "."
571 + ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
572 + resolved-ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
573 + url: "https://github.com/mrcyjanek/polyseed_dart"
574 + source: git
575 version: "0.0.5"
576 pool:
577 dependency: transitive
cw_wownero/pubspec.yaml
+4 -1
@@ -19,7 +19,10 @@ dependencies:
19 flutter_mobx: ^2.0.6+1
20 intl: ^0.18.0
21 encrypt: ^5.0.1
22 - polyseed: ^0.0.5
22 + polyseed:
23 + git:
24 + url: https://github.com/mrcyjanek/polyseed_dart
25 + ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
26 cw_core:
27 path: ../cw_core
28 monero:
lib/src/widgets/seed_language_picker.dart
+1 -1
@@ -17,7 +17,7 @@ class SeedLanguagePickerOption {
17 final List<SeedLanguagePickerOption> seedLanguages = [
18 SeedLanguagePickerOption('English', S.current.seed_language_english,
19 Image.asset('assets/images/flags/usa.png'), [SeedType.legacy, SeedType.polyseed]),
20 - SeedLanguagePickerOption('Chinese (simplified)', S.current.seed_language_chinese,
20 + SeedLanguagePickerOption('Chinese (Simplified)', S.current.seed_language_chinese,
21 Image.asset('assets/images/flags/chn.png'), [SeedType.legacy, SeedType.polyseed]),
22 SeedLanguagePickerOption('Chinese (Traditional)', S.current.seed_language_chinese_traditional,
23 Image.asset('assets/images/flags/chn.png'), [SeedType.polyseed]),
pubspec_base.yaml
+4 -1
@@ -94,7 +94,10 @@ dependencies:
94 # ref: main
95 socks5_proxy: ^1.0.4
96 flutter_svg: ^2.0.9
97 - polyseed: ^0.0.5
97 + polyseed:
98 + git:
99 + url: https://github.com/mrcyjanek/polyseed_dart
100 + ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
101 nostr_tools: ^1.0.9
102 solana: ^0.30.1
103 bitcoin_base: