update patches

update readme
This commit is contained in:
Czarek Nakamoto
2024-04-12 11:13:43 +02:00
parent b003970d7f
commit 125e64f11f
18 changed files with 1232 additions and 862 deletions

View File

@@ -1,7 +1,7 @@
From edd49593044dc861b5fb4b9bae56a7636199aeaf Mon Sep 17 00:00:00 2001
From bf347a3c80f0e0647176752867a54ae9ecedb580 Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Tue, 12 Mar 2024 09:42:37 +0100
Subject: [PATCH] PATCH: polyseed
Subject: [PATCH 1/8] polyseed
---
.github/workflows/build.yml | 4 +-
@@ -1185,41 +1185,42 @@ index f34b10988..e4e02c782 100644
// testnet and stagenet got some huge rollbacks, so the estimation is way off
static const uint64_t approximate_rolled_back_blocks = m_nettype == TESTNET ? 342100 : 30000;
if ((m_nettype == TESTNET || m_nettype == STAGENET) && approx_blockchain_height > approximate_rolled_back_blocks)
@@ -14862,6 +14927,21 @@ bool wallet2::parse_uri(const std::string &uri, std::string &address, std::strin
@@ -14862,15 +14927,6 @@ bool wallet2::parse_uri(const std::string &uri, std::string &address, std::strin
//----------------------------------------------------------------------------------------------------
uint64_t wallet2::get_blockchain_height_by_date(uint16_t year, uint8_t month, uint8_t day)
{
+ std::tm date = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ date.tm_year = year - 1900;
+ date.tm_mon = month - 1;
+ date.tm_mday = day;
+ if (date.tm_mon < 0 || 11 < date.tm_mon || date.tm_mday < 1 || 31 < date.tm_mday)
+ {
+ throw std::runtime_error("month or day out of range");
+ }
- uint32_t version;
- if (!check_connection(&version))
- {
- throw std::runtime_error("failed to connect to daemon: " + get_daemon_address());
- }
- if (version < MAKE_CORE_RPC_VERSION(1, 6))
- {
- throw std::runtime_error("this function requires RPC version 1.6 or higher");
- }
std::tm date = { 0, 0, 0, 0, 0, 0, 0, 0 };
date.tm_year = year - 1900;
date.tm_mon = month - 1;
@@ -14879,7 +14935,23 @@ uint64_t wallet2::get_blockchain_height_by_date(uint16_t year, uint8_t month, ui
{
throw std::runtime_error("month or day out of range");
}
+
+ uint64_t timestamp_target = std::mktime(&date);
uint64_t timestamp_target = std::mktime(&date);
+
+ return get_blockchain_height_by_timestamp(timestamp_target);
+}
+
+uint64_t wallet2::get_blockchain_height_by_timestamp(uint64_t timestamp_target) {
uint32_t version;
if (!check_connection(&version))
{
@@ -14871,15 +14951,7 @@ uint64_t wallet2::get_blockchain_height_by_date(uint16_t year, uint8_t month, ui
{
throw std::runtime_error("this function requires RPC version 1.6 or higher");
}
- std::tm date = { 0, 0, 0, 0, 0, 0, 0, 0 };
- date.tm_year = year - 1900;
- date.tm_mon = month - 1;
- date.tm_mday = day;
- if (date.tm_mon < 0 || 11 < date.tm_mon || date.tm_mday < 1 || 31 < date.tm_mday)
- {
- throw std::runtime_error("month or day out of range");
- }
- uint64_t timestamp_target = std::mktime(&date);
+ uint32_t version;
+ if (!check_connection(&version))
+ {
+ throw std::runtime_error("failed to connect to daemon: " + get_daemon_address());
+ }
+ if (version < MAKE_CORE_RPC_VERSION(1, 6))
+ {
+ throw std::runtime_error("this function requires RPC version 1.6 or higher");
+ }
+
std::string err;
uint64_t height_min = 0;
@@ -1300,3 +1301,6 @@ index 3144a8fd3..b540eff6b 100644
bool m_multisig; /*!< if > 1 spend secret key will not match spend public key */
uint32_t m_multisig_threshold;
std::vector<crypto::public_key> m_multisig_signers;
--
2.44.0

View File

@@ -1,7 +1,7 @@
From 559780d053549f01e9153bf43bad24c80255117d Mon Sep 17 00:00:00 2001
From c325add45cf950a42fc4cc16f99bb7385c53a634 Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Tue, 12 Mar 2024 10:09:50 +0100
Subject: [PATCH] PATCH: airgap
Subject: [PATCH 3/8] airgap
---
src/wallet/api/wallet.cpp | 23 ++++++++++++++++++++++
@@ -94,10 +94,10 @@ index 4268b656e..4edaefefd 100644
* \brief exportKeyImages - exports key images to file
* \param filename
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index 618c43cee..3477e084f 100644
index c7cbdbbe6..700816da6 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -947,6 +947,16 @@ uint32_t get_subaddress_clamped_sum(uint32_t idx, uint32_t extra)
@@ -949,6 +949,16 @@ uint32_t get_subaddress_clamped_sum(uint32_t idx, uint32_t extra)
return idx + extra;
}
@@ -114,7 +114,7 @@ index 618c43cee..3477e084f 100644
static void setup_shim(hw::wallet_shim * shim, tools::wallet2 * wallet)
{
shim->get_tx_pub_key_from_received_outs = std::bind(&tools::wallet2::get_tx_pub_key_from_received_outs, wallet, std::placeholders::_1);
@@ -7045,6 +7055,25 @@ uint64_t wallet2::unlocked_balance(uint32_t index_major, bool strict, uint64_t *
@@ -7037,6 +7047,25 @@ uint64_t wallet2::unlocked_balance(uint32_t index_major, bool strict, uint64_t *
return amount;
}
//----------------------------------------------------------------------------------------------------
@@ -140,7 +140,7 @@ index 618c43cee..3477e084f 100644
std::map<uint32_t, uint64_t> wallet2::balance_per_subaddress(uint32_t index_major, bool strict) const
{
std::map<uint32_t, uint64_t> amount_per_subaddr;
@@ -7895,9 +7924,7 @@ bool wallet2::sign_tx(unsigned_tx_set &exported_txs, std::vector<wallet2::pendin
@@ -7887,9 +7916,7 @@ bool wallet2::sign_tx(unsigned_tx_set &exported_txs, std::vector<wallet2::pendin
crypto::key_derivation derivation;
std::vector<crypto::key_derivation> additional_derivations;
@@ -151,7 +151,7 @@ index 618c43cee..3477e084f 100644
std::vector<crypto::public_key> additional_tx_pub_keys;
for (const crypto::secret_key &skey: txs[n].additional_tx_keys)
{
@@ -11295,7 +11322,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
@@ -11287,7 +11314,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
MDEBUG("Ignoring output " << i << " of amount " << print_money(td.amount()) << " which is below fractional threshold " << print_money(fractional_threshold));
continue;
}
@@ -160,7 +160,7 @@ index 618c43cee..3477e084f 100644
{
if (td.amount() > m_ignore_outputs_above || td.amount() < m_ignore_outputs_below)
{
@@ -11345,8 +11372,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
@@ -11337,8 +11364,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
LOG_PRINT_L2("Starting with " << num_nondust_outputs << " non-dust outputs and " << num_dust_outputs << " dust outputs");
@@ -171,7 +171,7 @@ index 618c43cee..3477e084f 100644
// if empty, put dummy entry so that the front can be referenced later in the loop
if (unused_dust_indices_per_subaddr.empty())
diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h
index bfe3a4f19..406acac2b 100644
index d37332dd1..fc69b3d36 100644
--- a/src/wallet/wallet2.h
+++ b/src/wallet/wallet2.h
@@ -1172,6 +1172,7 @@ private:
@@ -182,3 +182,6 @@ index bfe3a4f19..406acac2b 100644
// locked & unlocked balance per subaddress of given or current subaddress account
std::map<uint32_t, uint64_t> balance_per_subaddress(uint32_t subaddr_index_major, bool strict) const;
std::map<uint32_t, std::pair<uint64_t, std::pair<uint64_t, uint64_t>>> unlocked_balance_per_subaddress(uint32_t subaddr_index_major, bool strict);
--
2.44.0

View File

@@ -1,7 +1,7 @@
From a95f52274d4a6a467e06bff60121850adba387ad Mon Sep 17 00:00:00 2001
From fb9cd4ff500a56a1f29f323fe05de4633dd560de Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Tue, 12 Mar 2024 11:07:57 +0100
Subject: [PATCH] PATCH: coin control
Subject: [PATCH 4/8] coin control
---
src/wallet/api/CMakeLists.txt | 8 +-
@@ -717,10 +717,10 @@ index 4edaefefd..8a5c4135e 100644
virtual SubaddressAccount * subaddressAccount() = 0;
virtual void setListener(WalletListener *) = 0;
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index 3477e084f..c3376f7e0 100644
index 700816da6..5331f90fc 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -2081,12 +2081,21 @@ bool wallet2::frozen(const multisig_tx_set& txs) const
@@ -2083,12 +2083,21 @@ bool wallet2::frozen(const multisig_tx_set& txs) const
return false;
}
@@ -742,7 +742,7 @@ index 3477e084f..c3376f7e0 100644
void wallet2::thaw(const crypto::key_image &ki)
{
thaw(get_transfer_details(ki));
@@ -2097,6 +2106,18 @@ bool wallet2::frozen(const crypto::key_image &ki) const
@@ -2099,6 +2108,18 @@ bool wallet2::frozen(const crypto::key_image &ki) const
return frozen(get_transfer_details(ki));
}
//----------------------------------------------------------------------------------------------------
@@ -761,7 +761,7 @@ index 3477e084f..c3376f7e0 100644
size_t wallet2::get_transfer_details(const crypto::key_image &ki) const
{
for (size_t idx = 0; idx < m_transfers.size(); ++idx)
@@ -2500,6 +2521,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
@@ -2510,6 +2531,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
uint64_t amount = tx.vout[o].amount ? tx.vout[o].amount : tx_scan_info[o].amount;
if (!pool)
{
@@ -769,7 +769,7 @@ index 3477e084f..c3376f7e0 100644
m_transfers.push_back(transfer_details{});
transfer_details& td = m_transfers.back();
td.m_block_height = height;
@@ -2603,6 +2625,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
@@ -2613,6 +2635,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
uint64_t extra_amount = amount - burnt;
if (!pool)
{
@@ -777,7 +777,7 @@ index 3477e084f..c3376f7e0 100644
transfer_details &td = m_transfers[kit->second];
td.m_block_height = height;
td.m_internal_output_index = o;
@@ -10495,7 +10518,7 @@ void wallet2::transfer_selected_rct(std::vector<cryptonote::tx_destination_entry
@@ -10487,7 +10510,7 @@ void wallet2::transfer_selected_rct(std::vector<cryptonote::tx_destination_entry
LOG_PRINT_L2("transfer_selected_rct done");
}
@@ -786,7 +786,7 @@ index 3477e084f..c3376f7e0 100644
{
std::vector<size_t> picks;
float current_output_relatdness = 1.0f;
@@ -10506,6 +10529,9 @@ std::vector<size_t> wallet2::pick_preferred_rct_inputs(uint64_t needed_money, ui
@@ -10498,6 +10521,9 @@ std::vector<size_t> wallet2::pick_preferred_rct_inputs(uint64_t needed_money, ui
for (size_t i = 0; i < m_transfers.size(); ++i)
{
const transfer_details& td = m_transfers[i];
@@ -796,7 +796,7 @@ index 3477e084f..c3376f7e0 100644
if (!is_spent(td, false) && !td.m_frozen && td.is_rct() && td.amount() >= needed_money && is_transfer_unlocked(td) && td.m_subaddr_index.major == subaddr_account && subaddr_indices.count(td.m_subaddr_index.minor) == 1)
{
if (td.amount() > m_ignore_outputs_above || td.amount() < m_ignore_outputs_below)
@@ -10526,6 +10552,9 @@ std::vector<size_t> wallet2::pick_preferred_rct_inputs(uint64_t needed_money, ui
@@ -10518,6 +10544,9 @@ std::vector<size_t> wallet2::pick_preferred_rct_inputs(uint64_t needed_money, ui
for (size_t i = 0; i < m_transfers.size(); ++i)
{
const transfer_details& td = m_transfers[i];
@@ -806,7 +806,7 @@ index 3477e084f..c3376f7e0 100644
if (!is_spent(td, false) && !td.m_frozen && !td.m_key_image_partial && td.is_rct() && is_transfer_unlocked(td) && td.m_subaddr_index.major == subaddr_account && subaddr_indices.count(td.m_subaddr_index.minor) == 1)
{
if (td.amount() > m_ignore_outputs_above || td.amount() < m_ignore_outputs_below)
@@ -10537,6 +10566,9 @@ std::vector<size_t> wallet2::pick_preferred_rct_inputs(uint64_t needed_money, ui
@@ -10529,6 +10558,9 @@ std::vector<size_t> wallet2::pick_preferred_rct_inputs(uint64_t needed_money, ui
for (size_t j = i + 1; j < m_transfers.size(); ++j)
{
const transfer_details& td2 = m_transfers[j];
@@ -816,7 +816,7 @@ index 3477e084f..c3376f7e0 100644
if (td2.amount() > m_ignore_outputs_above || td2.amount() < m_ignore_outputs_below)
{
MDEBUG("Ignoring output " << j << " of amount " << print_money(td2.amount()) << " which is outside prescribed range [" << print_money(m_ignore_outputs_below) << ", " << print_money(m_ignore_outputs_above) << "]");
@@ -11109,7 +11141,7 @@ bool wallet2::light_wallet_key_image_is_ours(const crypto::key_image& key_image,
@@ -11101,7 +11133,7 @@ bool wallet2::light_wallet_key_image_is_ours(const crypto::key_image& key_image,
// This system allows for sending (almost) the entire balance, since it does
// not generate spurious change in all txes, thus decreasing the instantaneous
// usable balance.
@@ -825,7 +825,7 @@ index 3477e084f..c3376f7e0 100644
{
//ensure device is let in NONE mode in any case
hw::device &hwdev = m_account.get_device();
@@ -11317,6 +11349,9 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
@@ -11309,6 +11341,9 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
for (size_t i = 0; i < m_transfers.size(); ++i)
{
const transfer_details& td = m_transfers[i];
@@ -835,7 +835,7 @@ index 3477e084f..c3376f7e0 100644
if (m_ignore_fractional_outputs && td.amount() < fractional_threshold)
{
MDEBUG("Ignoring output " << i << " of amount " << print_money(td.amount()) << " which is below fractional threshold " << print_money(fractional_threshold));
@@ -11401,7 +11436,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
@@ -11393,7 +11428,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
// will get us a known fee.
uint64_t estimated_fee = estimate_fee(use_per_byte_fee, use_rct, 2, fake_outs_count, 2, extra.size(), bulletproof, clsag, bulletproof_plus, use_view_tags, base_fee, fee_quantization_mask);
total_needed_money = needed_money + (subtract_fee_from_outputs.size() ? 0 : estimated_fee);
@@ -844,7 +844,7 @@ index 3477e084f..c3376f7e0 100644
if (!preferred_inputs.empty())
{
string s;
@@ -11882,7 +11917,7 @@ bool wallet2::sanity_check(const std::vector<wallet2::pending_tx> &ptx_vector, c
@@ -11874,7 +11909,7 @@ bool wallet2::sanity_check(const std::vector<wallet2::pending_tx> &ptx_vector, c
return true;
}
@@ -853,7 +853,7 @@ index 3477e084f..c3376f7e0 100644
{
std::vector<size_t> unused_transfers_indices;
std::vector<size_t> unused_dust_indices;
@@ -11911,6 +11946,9 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_all(uint64_t below
@@ -11903,6 +11938,9 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_all(uint64_t below
for (size_t i = 0; i < m_transfers.size(); ++i)
{
const transfer_details& td = m_transfers[i];
@@ -864,7 +864,7 @@ index 3477e084f..c3376f7e0 100644
{
MDEBUG("Ignoring output " << i << " of amount " << print_money(td.amount()) << " which is below threshold " << print_money(fractional_threshold));
diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h
index 406acac2b..5eae908ad 100644
index fc69b3d36..52886fb85 100644
--- a/src/wallet/wallet2.h
+++ b/src/wallet/wallet2.h
@@ -1207,8 +1207,8 @@ private:
@@ -878,7 +878,7 @@ index 406acac2b..5eae908ad 100644
std::vector<wallet2::pending_tx> create_transactions_single(const crypto::key_image &ki, const cryptonote::account_public_address &address, bool is_subaddress, const size_t outputs, const size_t fake_outs_count, const uint64_t unlock_time, uint32_t priority, const std::vector<uint8_t>& extra);
std::vector<wallet2::pending_tx> create_transactions_from(const cryptonote::account_public_address &address, bool is_subaddress, const size_t outputs, std::vector<size_t> unused_transfers_indices, std::vector<size_t> unused_dust_indices, const size_t fake_outs_count, const uint64_t unlock_time, uint32_t priority, const std::vector<uint8_t>& extra);
bool sanity_check(const std::vector<wallet2::pending_tx> &ptx_vector, const std::vector<cryptonote::tx_destination_entry>& dsts, const unique_index_container& subtract_fee_from_outputs = {}) const;
@@ -1559,6 +1559,7 @@ private:
@@ -1560,6 +1560,7 @@ private:
uint64_t get_num_rct_outputs();
size_t get_num_transfer_details() const { return m_transfers.size(); }
const transfer_details &get_transfer_details(size_t idx) const;
@@ -886,7 +886,7 @@ index 406acac2b..5eae908ad 100644
uint8_t get_current_hard_fork();
void get_hard_fork_info(uint8_t version, uint64_t &earliest_height);
@@ -1788,7 +1789,9 @@ private:
@@ -1789,7 +1790,9 @@ private:
void freeze(size_t idx);
void thaw(size_t idx);
bool frozen(size_t idx) const;
@@ -896,7 +896,7 @@ index 406acac2b..5eae908ad 100644
void thaw(const crypto::key_image &ki);
bool frozen(const crypto::key_image &ki) const;
bool frozen(const transfer_details &td) const;
@@ -1829,6 +1832,8 @@ private:
@@ -1830,6 +1833,8 @@ private:
static std::string get_default_daemon_address() { CRITICAL_REGION_LOCAL(default_daemon_address_lock); return default_daemon_address; }
@@ -905,7 +905,7 @@ index 406acac2b..5eae908ad 100644
private:
/*!
* \brief Stores wallet information to wallet file.
@@ -1892,7 +1897,7 @@ private:
@@ -1901,7 +1906,7 @@ private:
std::vector<uint64_t> get_unspent_amounts_vector(bool strict);
uint64_t get_dynamic_base_fee_estimate();
float get_output_relatedness(const transfer_details &td0, const transfer_details &td1) const;
@@ -914,3 +914,6 @@ index 406acac2b..5eae908ad 100644
void set_spent(size_t idx, uint64_t height);
void set_unspent(size_t idx);
bool is_spent(const transfer_details &td, bool strict = true) const;
--
2.44.0

View File

@@ -1,7 +1,7 @@
From 1a05393366d94819c83b5e6983cb44938ac06c67 Mon Sep 17 00:00:00 2001
From 6bd41f6e334fe979e2a5e874e404657ff0ef6c4f Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Tue, 12 Mar 2024 17:59:13 +0100
Subject: [PATCH] PATCH: fix build issues
Subject: [PATCH 5/8] fix build issues
---
contrib/depends/hosts/linux.mk | 8 +++----
@@ -63,7 +63,7 @@ index d2d1eca85..8783d4955 100644
ifneq ($(GITIAN),1)
diff --git a/contrib/depends/packages/polyseed.mk b/contrib/depends/packages/polyseed.mk
new file mode 100644
index 000000000..47a532907
index 000000000..2ddeac621
--- /dev/null
+++ b/contrib/depends/packages/polyseed.mk
@@ -0,0 +1,23 @@
@@ -132,3 +132,6 @@ index 000000000..f05cb2b6a
+ #define POLYSEED_PRIVATE
+ #else
+ #ifdef POLYSEED_SHARED
--
2.44.0

View File

@@ -1,7 +1,7 @@
From b1b150b3de4dd3197c373be39b790c31bb7ddab3 Mon Sep 17 00:00:00 2001
From c8dfb421082c895c45c6e4fd1437fee4b554b612 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: Thu, 28 Mar 2024 02:03:08 +0100
Subject: [PATCH] macos build fix
Subject: [PATCH 6/8] macos build fix
---
contrib/depends/hosts/darwin.mk | 2 +
@@ -111,5 +111,5 @@ index 000000000..a261636e8
+2.39.2
+
--
2.39.2
2.44.0

View File

@@ -1,7 +1,7 @@
From c1af99f391626d567fec83210a945f6f60bea700 Mon Sep 17 00:00:00 2001
From d0d86d333ea4788cc27c4c87c5ec2ec3bc1668b7 Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Tue, 2 Apr 2024 01:13:12 +0200
Subject: [PATCH] fix `make debug-test` target
Subject: [PATCH 7/8] fix `make debug-test` target
---
src/simplewallet/simplewallet.cpp | 4 ++--

View File

@@ -1,7 +1,7 @@
From 34ca1a796e55dcff448c882189a45dcb29d77566 Mon Sep 17 00:00:00 2001
From b154719d3fe7ae407de91f5c5a245998efd05997 Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Tue, 2 Apr 2024 16:51:56 +0200
Subject: [PATCH] fix missing ___clear_cache when targetting iOS
Subject: [PATCH 8/8] fix missing ___clear_cache when targetting iOS
---
.gitmodules | 2 +-
@@ -29,5 +29,5 @@ index 102f8acf9..ce72c9bb9 160000
-Subproject commit 102f8acf90a7649ada410de5499a7ec62e49e1da
+Subproject commit ce72c9bb9cb799e0d9171094b9abb009e04c5bfc
--
2.39.2
2.44.0

View File

@@ -1,35 +1,43 @@
> 0000 to 0003 were created most likely by feather dev, anonero monero repository got nuked and now says that I made the changes, so I am unable to credit the original authors, http://git.anonero5wmhraxqsvzq2ncgptq6gq45qoto6fnkfwughfl4gbt44swad.onion/ANONERO/monero/commits/branch/v0.18.3.3-anonero
> 0001 to 0004 were created most likely by feather dev, anonero monero repository got nuked and now says that I made the changes, so I am unable to credit the original authors, http://git.anonero5wmhraxqsvzq2ncgptq6gq45qoto6fnkfwughfl4gbt44swad.onion/ANONERO/monero/commits/branch/v0.18.3.3-anonero
# 0000-polyseed
# 0001-polyseed
Polyseed support for wallets [planned in long distant future as a part of walet3 - not getting upstream, no PR available]
Polyseed support for wallets [planned in long distant future as a part of walet3 - not getting upstream, no PR available].
# 0001-background-sync
Note, only English support is available due to issues with normalization libraries.
https://github.com/monero-project/monero/pull/8619
> tobtoht: You may also want to reconsider supporting languages other than English: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#wordlists (this is about BIP39, but because unicode normalization is such a PITA it will become true for Polyseed wallets as well)
# 0002-airgap
Considering the fact that even Feather Wallet doesn't support non-english seeds, it makes sense to go that way.
At least until (if ever) feather wallet supports multi-language polyseed seeds I don't think it is a good idea to support them, especially because of possible issues when targetting different platforms.
# 0002-background-sync
Sourced from: https://github.com/monero-project/monero/pull/8617, no changes except for merge conflicts.
# 0003-airgap
Cool functions for offline transactions
# 0003-coin-control
# 0004-coin-control
Coin control patch, I was able to trace it's orgins back to wownero/monerujo.
# 0004-fix-build
# 0005-fix-build
Fix cross compilation for linux
# 0005-macos-build-fix
# 0006-macos-build-fix
Fixes cross compilation for MacOS targets
# 0006-fix-make-debug-test-target
# 0007-fix-make-debug-test-target
I had some debugging to do, I don't remember actually why I decided to run the tests, but since it is a fix I've decided to leave it in here just in case.
# 0007-fix-missing-___clear_cache-when-targetting-iOS
# 0008-fix-missing-___clear_cache-when-targetting-iOS
https://github.com/tevador/RandomX/pull/294