fix(gui): update the wallet library to Wownero 0.11.5.0

Apply the prepared GUI security port on the current public gui branch. The complete Git tree equals candidate 9e9bb026d3d33a29a1607a1bce449e2583b1223f, built during private preparation, and includes the public v0.11.5.0 source.
This commit is contained in:
2026-10-17 06:02:42 -04:00
parent 8b05051b57
commit 630d2f94e5
145 changed files with 5133 additions and 1193 deletions
+14 -15
View File
@@ -39,6 +39,7 @@ using namespace epee;
#include "misc_language.h"
#include "common/base58.h"
#include "crypto/hash.h"
#include "ringct/rctOps.h"
#include "int-util.h"
#include "common/dns_utils.h"
@@ -172,17 +173,15 @@ namespace cryptonote {
return tools::base58::encode_addr(integrated_address_prefix, t_serializable_object_to_blob(iadr));
}
//-----------------------------------------------------------------------
bool is_coinbase(const transaction& tx)
bool check_address(const account_public_address& adr)
{
if(tx.vin.size() != 1)
return false;
if(tx.vin[0].type() != typeid(txin_gen))
return false;
return true;
const auto valid_key = [](const crypto::public_key& key) {
const rct::key point = rct::pk2rct(key);
return !(point == rct::identity()) && rct::isInMainSubgroup(point);
};
return valid_key(adr.m_spend_public_key) && valid_key(adr.m_view_public_key);
}
//-----------------------------------------------------------------------
bool get_account_address_from_str(
address_parse_info& info
, network_type nettype
@@ -244,12 +243,6 @@ namespace cryptonote {
return false;
}
}
if (!crypto::check_key(info.address.m_spend_public_key) || !crypto::check_key(info.address.m_view_public_key))
{
LOG_PRINT_L1("Failed to validate address keys");
return false;
}
}
else
{
@@ -285,6 +278,12 @@ namespace cryptonote {
info.has_payment_id = false;
}
if (!check_address(info.address))
{
LOG_PRINT_L1("Failed to validate address keys");
return false;
}
return true;
}
//--------------------------------------------------------------------------------