From 1b58a960da7040d17fce1e374d05ffc14947afec Mon Sep 17 00:00:00 2001 From: Czarek Nakamoto Date: Mon, 15 Apr 2024 16:14:38 +0200 Subject: polyseed fix tobtoht: Since only the composed languages are broken, it could also be that canonical composition is producing weird output. Try dumping whatever seed string is being fed to polyseed_decode to hex and we should be able to tell. Or try removing UTF8PROC_LUMP from utf8_nfc --- monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp | 6 ++++-- monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'monero_libwallet2_api_c/src/main') diff --git a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp index 0160b8c..a39182c 100644 --- a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp +++ b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp @@ -1135,10 +1135,12 @@ const char* MONERO_Wallet_getPolyseed(void* wallet_ptr, const char* passphrase) return buffer; } // static bool createPolyseed(std::string &seed_words, std::string &err, const std::string &language = "English"); -const char* MONERO_Wallet_createPolyseed() { +const char* MONERO_Wallet_createPolyseed(const char* language) { std::string seed_words = ""; std::string err; - Monero::Wallet::createPolyseed(seed_words, err); + Monero::Wallet::createPolyseed(seed_words, err, std::string(language)); + std::cout << "MONERO_Wallet_createPolyseed(language: " << language << "):" << std::endl; + std::cout << " err: " << err << std::endl; std::string str = seed_words; const std::string::size_type size = str.size(); char *buffer = new char[size + 1]; //we need extra char for NUL diff --git a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h index c995b24..afa2a71 100644 --- a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h +++ b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h @@ -645,7 +645,7 @@ extern ADDAPI void MONERO_Wallet_init3(void* wallet_ptr, const char* argv0, cons // virtual bool getPolyseed(std::string &seed, std::string &passphrase) const = 0; extern ADDAPI const char* MONERO_Wallet_getPolyseed(void* wallet_ptr, const char* passphrase); // static bool createPolyseed(std::string &seed_words, std::string &err, const std::string &language = "English"); -extern ADDAPI const char* MONERO_Wallet_createPolyseed(); +extern ADDAPI const char* MONERO_Wallet_createPolyseed(const char* language); extern ADDAPI void MONERO_Wallet_startRefresh(void* wallet_ptr); // virtual void pauseRefresh() = 0; extern ADDAPI void MONERO_Wallet_pauseRefresh(void* wallet_ptr); -- cgit v1.2.3