Fix legacy seeds not being displayed when polyseed is not supported (#1608)
Some checks are pending
Cache Dependencies / test (push) Waiting to run

* 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
This commit is contained in:
cyan 2024-08-17 04:30:48 +02:00 committed by GitHub
parent ec8c404086
commit eef319658a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 47 additions and 14 deletions

View file

@ -45,12 +45,23 @@ String getSeed() {
String getSeedLegacy(String? language) { String getSeedLegacy(String? language) {
var legacy = monero.Wallet_seed(wptr!, seedOffset: ''); var legacy = monero.Wallet_seed(wptr!, seedOffset: '');
switch (language) {
case "Chinese (Traditional)": language = "Chinese (simplified)"; break;
case "Chinese (Simplified)": language = "Chinese (simplified)"; break;
case "Korean": language = "English"; break;
case "Czech": language = "English"; break;
case "Japanese": language = "English"; break;
}
if (monero.Wallet_status(wptr!) != 0) { if (monero.Wallet_status(wptr!) != 0) {
monero.Wallet_setSeedLanguage(wptr!, language: language ?? "English"); monero.Wallet_setSeedLanguage(wptr!, language: language ?? "English");
legacy = monero.Wallet_seed(wptr!, seedOffset: ''); legacy = monero.Wallet_seed(wptr!, seedOffset: '');
} }
if (monero.Wallet_status(wptr!) != 0) { if (monero.Wallet_status(wptr!) != 0) {
return monero.Wallet_errorString(wptr!); final err = monero.Wallet_errorString(wptr!);
if (legacy.isNotEmpty) {
return "$err\n\n$legacy";
}
return err;
} }
return legacy; return legacy;
} }

View file

@ -575,10 +575,11 @@ packages:
polyseed: polyseed:
dependency: "direct main" dependency: "direct main"
description: description:
name: polyseed path: "."
sha256: edf28042e7b0b28f97a0469aa98e6e4015937cef6b9340cd6ad2822139c95217 ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
url: "https://pub.dev" resolved-ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
source: hosted url: "https://github.com/mrcyjanek/polyseed_dart"
source: git
version: "0.0.5" version: "0.0.5"
pool: pool:
dependency: transitive dependency: transitive

View file

@ -19,7 +19,10 @@ dependencies:
flutter_mobx: ^2.0.6+1 flutter_mobx: ^2.0.6+1
intl: ^0.18.0 intl: ^0.18.0
encrypt: ^5.0.1 encrypt: ^5.0.1
polyseed: ^0.0.5 polyseed:
git:
url: https://github.com/mrcyjanek/polyseed_dart
ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
cw_core: cw_core:
path: ../cw_core path: ../cw_core
monero: monero:

View file

@ -47,12 +47,23 @@ String getSeed() {
String getSeedLegacy(String? language) { String getSeedLegacy(String? language) {
var legacy = wownero.Wallet_seed(wptr!, seedOffset: ''); var legacy = wownero.Wallet_seed(wptr!, seedOffset: '');
switch (language) {
case "Chinese (Traditional)": language = "Chinese (simplified)"; break;
case "Chinese (Simplified)": language = "Chinese (simplified)"; break;
case "Korean": language = "English"; break;
case "Czech": language = "English"; break;
case "Japanese": language = "English"; break;
}
if (wownero.Wallet_status(wptr!) != 0) { if (wownero.Wallet_status(wptr!) != 0) {
wownero.Wallet_setSeedLanguage(wptr!, language: language ?? "English"); wownero.Wallet_setSeedLanguage(wptr!, language: language ?? "English");
legacy = wownero.Wallet_seed(wptr!, seedOffset: ''); legacy = wownero.Wallet_seed(wptr!, seedOffset: '');
} }
if (wownero.Wallet_status(wptr!) != 0) { if (wownero.Wallet_status(wptr!) != 0) {
return wownero.Wallet_errorString(wptr!); final err = wownero.Wallet_errorString(wptr!);
if (legacy.isNotEmpty) {
return "$err\n\n$legacy";
}
return err;
} }
return legacy; return legacy;
} }

View file

@ -567,10 +567,11 @@ packages:
polyseed: polyseed:
dependency: "direct main" dependency: "direct main"
description: description:
name: polyseed path: "."
sha256: edf28042e7b0b28f97a0469aa98e6e4015937cef6b9340cd6ad2822139c95217 ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
url: "https://pub.dev" resolved-ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
source: hosted url: "https://github.com/mrcyjanek/polyseed_dart"
source: git
version: "0.0.5" version: "0.0.5"
pool: pool:
dependency: transitive dependency: transitive

View file

@ -19,7 +19,10 @@ dependencies:
flutter_mobx: ^2.0.6+1 flutter_mobx: ^2.0.6+1
intl: ^0.18.0 intl: ^0.18.0
encrypt: ^5.0.1 encrypt: ^5.0.1
polyseed: ^0.0.5 polyseed:
git:
url: https://github.com/mrcyjanek/polyseed_dart
ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
cw_core: cw_core:
path: ../cw_core path: ../cw_core
monero: monero:

View file

@ -17,7 +17,7 @@ class SeedLanguagePickerOption {
final List<SeedLanguagePickerOption> seedLanguages = [ final List<SeedLanguagePickerOption> seedLanguages = [
SeedLanguagePickerOption('English', S.current.seed_language_english, SeedLanguagePickerOption('English', S.current.seed_language_english,
Image.asset('assets/images/flags/usa.png'), [SeedType.legacy, SeedType.polyseed]), Image.asset('assets/images/flags/usa.png'), [SeedType.legacy, SeedType.polyseed]),
SeedLanguagePickerOption('Chinese (simplified)', S.current.seed_language_chinese, SeedLanguagePickerOption('Chinese (Simplified)', S.current.seed_language_chinese,
Image.asset('assets/images/flags/chn.png'), [SeedType.legacy, SeedType.polyseed]), Image.asset('assets/images/flags/chn.png'), [SeedType.legacy, SeedType.polyseed]),
SeedLanguagePickerOption('Chinese (Traditional)', S.current.seed_language_chinese_traditional, SeedLanguagePickerOption('Chinese (Traditional)', S.current.seed_language_chinese_traditional,
Image.asset('assets/images/flags/chn.png'), [SeedType.polyseed]), Image.asset('assets/images/flags/chn.png'), [SeedType.polyseed]),

View file

@ -94,7 +94,10 @@ dependencies:
# ref: main # ref: main
socks5_proxy: ^1.0.4 socks5_proxy: ^1.0.4
flutter_svg: ^2.0.9 flutter_svg: ^2.0.9
polyseed: ^0.0.5 polyseed:
git:
url: https://github.com/mrcyjanek/polyseed_dart
ref: f9adc68dbf879fefadeae8e86d1c2983f5a2cc3f
nostr_tools: ^1.0.9 nostr_tools: ^1.0.9
solana: ^0.30.1 solana: ^0.30.1
bitcoin_base: bitcoin_base: