From 7831b421b1bf1a43320aec5b752f245d0cb79b65 Mon Sep 17 00:00:00 2001 From: cyan Date: Sun, 30 Mar 2025 04:09:35 +0200 Subject: [PATCH] set seed language if seed_language is in error message (#2135) --- cw_monero/lib/api/wallet.dart | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/cw_monero/lib/api/wallet.dart b/cw_monero/lib/api/wallet.dart index 755887652..033df53cf 100644 --- a/cw_monero/lib/api/wallet.dart +++ b/cw_monero/lib/api/wallet.dart @@ -75,22 +75,28 @@ String? getSeedLanguage(String? language) { String getSeedLegacy(String? language) { final cakepassphrase = getPassphrase(); - var legacy = monero.Wallet_seed(wptr!, seedOffset: cakepassphrase); language = getSeedLanguage(language); + var legacy = monero.Wallet_seed(wptr!, seedOffset: cakepassphrase); if (monero.Wallet_status(wptr!) != 0) { - if (language != null) { - monero.Wallet_setSeedLanguage(wptr!, language: language); - final status = monero.Wallet_status(wptr!); - if (status != 0) { - final err = monero.Wallet_errorString(wptr!); - if (legacy.isNotEmpty) { - return "$err\n\n$legacy"; - } - return err; + if (monero.Wallet_errorString(wptr!).contains("seed_language")) { + monero.Wallet_setSeedLanguage(wptr!, language: "English"); + legacy = monero.Wallet_seed(wptr!, seedOffset: cakepassphrase); + } + } + + if (language != null) { + monero.Wallet_setSeedLanguage(wptr!, language: language); + final status = monero.Wallet_status(wptr!); + if (status != 0) { + final err = monero.Wallet_errorString(wptr!); + if (legacy.isNotEmpty) { + return "$err\n\n$legacy"; } + return err; } legacy = monero.Wallet_seed(wptr!, seedOffset: cakepassphrase); } + if (monero.Wallet_status(wptr!) != 0) { final err = monero.Wallet_errorString(wptr!); if (legacy.isNotEmpty) {