mirror of
https://github.com/wownero/wownero-cpp.git
synced 2026-10-18 23:58:59 +02:00
validating mnemonioc in keys wallet
This commit is contained in:
@@ -71,11 +71,6 @@ namespace monero {
|
||||
|
||||
// ---------------------------- WALLET MANAGEMENT ---------------------------
|
||||
|
||||
monero_wallet_keys* monero_wallet_keys::create_wallet_random() {
|
||||
cout << "monero_wallet_keys::create_wallet_random()" << endl;
|
||||
throw runtime_error("create_wallet_random() not implemented");
|
||||
}
|
||||
|
||||
monero_wallet_keys* monero_wallet_keys::create_wallet_random(const monero_network_type network_type, const string& language) {
|
||||
cout << "monero_wallet_keys::create_wallet_random(...)" << endl;
|
||||
throw runtime_error("create_wallet_random(...) not implemented");
|
||||
@@ -83,12 +78,17 @@ namespace monero {
|
||||
|
||||
monero_wallet_keys* monero_wallet_keys::create_wallet_from_mnemonic(const monero_network_type network_type, const string& mnemonic) {
|
||||
cout << "monero_wallet_keys::create_wallet_from_mnemonic()" << endl;
|
||||
throw runtime_error("create_wallet_from_mnemonic() not implemented");
|
||||
}
|
||||
|
||||
monero_wallet_keys* monero_wallet_keys::create_wallet_from_keys(const monero_network_type network_type, const string& address, const string& view_key, const string& spend_key) {
|
||||
cout << "monero_wallet_keys::create_wallet_from_keys()" << endl;
|
||||
throw runtime_error("create_wallet_from_keys() not implemented");
|
||||
// validate mnemonic and get recovery key and language
|
||||
crypto::secret_key recoveryKey;
|
||||
string language;
|
||||
bool is_valid = crypto::ElectrumWords::words_to_bytes(mnemonic, recoveryKey, language);
|
||||
if (!is_valid) throw runtime_error("Invalid mnemonic");
|
||||
if (language == crypto::ElectrumWords::old_language_name) language = Language::English().get_language_name();
|
||||
|
||||
cout << "MNEMONIC VALIDATED" << endl;
|
||||
|
||||
throw runtime_error("create_wallet_from_mnemonic() not implemented");
|
||||
}
|
||||
|
||||
monero_wallet_keys* monero_wallet_keys::create_wallet_from_keys(const monero_network_type network_type, const string& address, const string& view_key, const string& spend_key, const string& language) {
|
||||
|
||||
@@ -75,7 +75,6 @@ namespace monero {
|
||||
* @param network_type is the wallet's network type (default = monero_network_type.MAINNET)
|
||||
* @param language is the wallet and mnemonic's language (default = "English")
|
||||
*/
|
||||
static monero_wallet_keys* create_wallet_random();
|
||||
static monero_wallet_keys* create_wallet_random(const monero_network_type network_type, const string& language);
|
||||
|
||||
/**
|
||||
@@ -95,8 +94,7 @@ namespace monero {
|
||||
* @param spend_key is the spend key of the wallet to construct
|
||||
* @param language is the wallet and mnemonic's language (default = "English")
|
||||
*/
|
||||
static monero_wallet_keys* create_wallet_from_keys(const monero_network_type network_type, const string& address, const string& view_key, const string& spend_key);
|
||||
static monero_wallet_keys* create_wallet_from_keys(const monero_network_type network_type, const string& address, const string& view_key, const string& spend_key, const string& language);
|
||||
static monero_wallet_keys* create_wallet_from_keys(const monero_network_type network_type, const string& address, const string& view_key, const string& spend_key, const string& language = "English");
|
||||
|
||||
/**
|
||||
* Destruct the wallet.
|
||||
@@ -132,6 +130,13 @@ namespace monero {
|
||||
// --------------------------------- PRIVATE --------------------------------
|
||||
|
||||
private:
|
||||
|
||||
string seed;
|
||||
string mnemonic;
|
||||
string language;
|
||||
string pub_view_key;
|
||||
string prv_view_key;
|
||||
string pub_spend_key;
|
||||
string prv_spend_key;
|
||||
string primary_address;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -838,7 +838,7 @@ namespace monero {
|
||||
|
||||
// validate mnemonic and get recovery key and language
|
||||
crypto::secret_key recoveryKey;
|
||||
std::string language;
|
||||
string language;
|
||||
bool is_valid = crypto::ElectrumWords::words_to_bytes(mnemonic, recoveryKey, language);
|
||||
if (!is_valid) throw runtime_error("Invalid mnemonic");
|
||||
if (language == crypto::ElectrumWords::old_language_name) language = Language::English().get_language_name();
|
||||
|
||||
Reference in New Issue
Block a user