diff --git a/patches/salvium/0007-polyseed.patch b/patches/salvium/0007-polyseed.patch index 71cb0f0..d4dc0f5 100644 --- a/patches/salvium/0007-polyseed.patch +++ b/patches/salvium/0007-polyseed.patch @@ -175,7 +175,7 @@ diff --git a/src/cryptonote_basic/account.cpp b/src/cryptonote_basic/account.cpp index 4e87d4477..2d556f285 100644 --- a/src/cryptonote_basic/account.cpp +++ b/src/cryptonote_basic/account.cpp -@@ -87,12 +87,16 @@ DISABLE_VS_WARNINGS(4244 4345) +@@ -89,12 +89,16 @@ DISABLE_VS_WARNINGS(4244 4345) void account_keys::xor_with_key_stream(const crypto::chacha_key &key) { // encrypt a large enough byte stream with chacha20 @@ -193,16 +193,16 @@ index 4e87d4477..2d556f285 100644 for (crypto::secret_key &k: m_multisig_keys) { for (size_t i = 0; i < sizeof(crypto::secret_key); ++i) -@@ -150,6 +154,8 @@ DISABLE_VS_WARNINGS(4244 4345) - { - m_keys.m_spend_secret_key = crypto::secret_key(); +@@ -153,6 +158,8 @@ DISABLE_VS_WARNINGS(4244 4345) + m_keys.s_master = m_keys.m_spend_secret_key; + m_keys.k_prove_spend = m_keys.m_spend_secret_key; m_keys.m_multisig_keys.clear(); + m_keys.m_polyseed = crypto::secret_key(); + m_keys.m_passphrase.wipe(); } //----------------------------------------------------------------- void account_base::set_spend_key(const crypto::secret_key& spend_secret_key) -@@ -255,6 +261,21 @@ DISABLE_VS_WARNINGS(4244 4345) +@@ -260,6 +267,21 @@ DISABLE_VS_WARNINGS(4244 4345) create_from_keys(address, fake, viewkey); } //----------------------------------------------------------------- @@ -1020,7 +1020,7 @@ index 765cefb32..806de969a 100644 +#include "polyseed/include/polyseed.h" #include "carrot_impl/format_utils.h" #include "tx_builder.h" - + #include "scanning_tools.h" @@ -1273,7 +1274,8 @@ wallet2::wallet2(network_type nettype, uint64_t kdf_rounds, bool unattended, std m_send_change_back_to_subaddress(false), m_pool_info_query_time(0), diff --git a/patches/salvium/0008-coin-control.patch b/patches/salvium/0008-coin-control.patch index abd8597..f937486 100644 --- a/patches/salvium/0008-coin-control.patch +++ b/patches/salvium/0008-coin-control.patch @@ -974,8 +974,8 @@ index 806de969a..8720e18b1 100644 size_t wallet2::get_transfer_details(const crypto::key_image &ki) const { for (size_t idx = 0; idx < m_transfers.size(); ++idx) -@@ -3037,6 +3059,7 @@ void wallet2::process_new_scanned_transaction(const crypto::hash &txid, const cryp - expand_subaddresses(subaddr_index_cn); +@@ -2621,6 +2643,7 @@ void wallet2::process_new_scanned_transaction(const crypto::hash &txid, const cryp + continue; // update m_transfers view-incoming scan info, and default values + boost::unique_lock lock(m_transfers_mutex); @@ -1073,7 +1073,7 @@ diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index a619bdd15..4f324c238 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h -@@ -1256,8 +1256,8 @@ private: +@@ -1286,8 +1286,8 @@ private: bool parse_unsigned_tx_from_str(const std::string &unsigned_tx_st, unsigned_tx_set &exported_txs) const; bool load_tx(const std::string &signed_filename, std::vector &ptx, std::function accept_func = NULL); bool parse_tx_from_str(const std::string &signed_tx_st, std::vector &ptx, std::function accept_func); @@ -1081,7 +1081,7 @@ index a619bdd15..4f324c238 100644 - std::vector create_transactions_all(uint64_t below, cryptonote::transaction_type tx_type, const std::string& asset_type, 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& extra, uint32_t subaddr_account, std::set subaddr_indices); + std::vector create_transactions_2(std::vector dsts, const std::string& source_asset, const std::string& dest_asset, const cryptonote::transaction_type tx_type, const size_t fake_outs_count, const uint64_t unlock_time, uint32_t priority, const std::vector& extra, uint32_t subaddr_account, std::set subaddr_indices, const std::vector& preferred_input_list = {}, const unique_index_container& subtract_fee_from_outputs = {}); // pass subaddr_indices by value on purpose + std::vector create_transactions_all(uint64_t below, cryptonote::transaction_type tx_type, const std::string& asset_type, 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& extra, uint32_t subaddr_account, std::set subaddr_indices, const std::vector& preferred_input_list = {}); - std::vector 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& extra); + std::vector create_transactions_single(const crypto::key_image &ki, const cryptonote::account_public_address &address, const cryptonote::transaction_type tx_type, bool is_subaddress, const size_t outputs, const size_t fake_outs_count, const uint64_t unlock_time, uint32_t priority, const std::vector& extra); std::vector create_transactions_return(std::vector transfers_indices); std::vector create_transactions_from(const cryptonote::account_public_address &address, const cryptonote::transaction_type tx_type, const std::string& asset_type, bool is_subaddress, const size_t outputs, std::vector unused_transfers_indices, std::vector unused_dust_indices, const size_t fake_outs_count, const uint64_t unlock_time, uint32_t priority, const std::vector& extra); @@ -1622,6 +1622,7 @@ private: