From 6a967bf6184e111c9773338963d761ecb7906ee1 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Sun, 14 Jun 2020 19:46:06 +0200 Subject: [PATCH] configured mobile native library for using deffered loading of global outputs indicies --- src/wallet/plain_wallet_api.cpp | 2 ++ src/wallet/wallet2.cpp | 2 +- src/wallet/wallets_manager.cpp | 6 +++++- src/wallet/wallets_manager.h | 4 +++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/wallet/plain_wallet_api.cpp b/src/wallet/plain_wallet_api.cpp index 1073919a..f8d0fdbe 100644 --- a/src/wallet/plain_wallet_api.cpp +++ b/src/wallet/plain_wallet_api.cpp @@ -207,6 +207,8 @@ namespace plain_wallet return GENERAL_INTERNAL_ERRROR_INIT; } + ptr->gwm.set_use_deffered_global_outputs(true); + if(!ptr->gwm.start()) { LOG_ERROR("Failed to start wallets_manager"); diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index a2efb6cc..e2eed54c 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -49,7 +49,7 @@ namespace tools m_minimum_height(WALLET_MINIMUM_HEIGHT_UNSET_CONST), m_pos_mint_packing_size(WALLET_DEFAULT_POS_MINT_PACKING_SIZE), m_current_wallet_file_size(0), - m_use_deffered_global_outputs(true) + m_use_deffered_global_outputs(false) { m_core_runtime_config = currency::get_default_core_runtime_config(); } diff --git a/src/wallet/wallets_manager.cpp b/src/wallet/wallets_manager.cpp index 39a3398c..f900f1ce 100644 --- a/src/wallet/wallets_manager.cpp +++ b/src/wallet/wallets_manager.cpp @@ -63,7 +63,8 @@ wallets_manager::wallets_manager():m_pview(&m_view_stub), m_remote_node_mode(false), m_is_pos_allowed(false), m_qt_logs_enbaled(false), - m_dont_save_wallet_at_stop(false) + m_dont_save_wallet_at_stop(false), + m_use_deffered_global_outputs(false) { #ifndef MOBILE_WALLET_BUILD m_offers_service.set_disabled(true); @@ -814,6 +815,7 @@ std::string wallets_manager::open_wallet(const std::wstring& path, const std::st std::shared_ptr w(new tools::wallet2()); + w->set_use_deffered_global_outputs(m_use_deffered_global_outputs); owr.wallet_id = m_wallet_id_counter++; w->callback(std::shared_ptr(new i_wallet_to_i_backend_adapter(this, owr.wallet_id))); @@ -927,6 +929,7 @@ std::string wallets_manager::get_recent_transfers(size_t wallet_id, uint64_t off std::string wallets_manager::generate_wallet(const std::wstring& path, const std::string& password, view::open_wallet_response& owr) { std::shared_ptr w(new tools::wallet2()); + w->set_use_deffered_global_outputs(m_use_deffered_global_outputs); owr.wallet_id = m_wallet_id_counter++; w->callback(std::shared_ptr(new i_wallet_to_i_backend_adapter(this, owr.wallet_id))); if (m_remote_node_mode) @@ -1012,6 +1015,7 @@ void wallets_manager::get_gui_options(view::gui_options& opt) std::string wallets_manager::restore_wallet(const std::wstring& path, const std::string& password, const std::string& restore_key, bool auditable_watch_only, view::open_wallet_response& owr) { std::shared_ptr w(new tools::wallet2()); + w->set_use_deffered_global_outputs(m_use_deffered_global_outputs); owr.wallet_id = m_wallet_id_counter++; w->callback(std::shared_ptr(new i_wallet_to_i_backend_adapter(this, owr.wallet_id))); if (m_remote_node_mode) diff --git a/src/wallet/wallets_manager.h b/src/wallet/wallets_manager.h index af037621..d2b93d73 100644 --- a/src/wallet/wallets_manager.h +++ b/src/wallet/wallets_manager.h @@ -63,6 +63,7 @@ public: std::atomic stop_for_refresh; //use separate var for passing to "refresh" member function, //because it can be changed there due to internal interruption logis + std::atomic break_mining_loop; std::atomic wallet_state; std::atomic last_wallet_synch_height; @@ -154,7 +155,7 @@ public: void get_gui_options(view::gui_options& opt); std::string get_wallet_log_prefix(size_t wallet_id) const; bool is_qt_logs_enabled() const { return m_qt_logs_enbaled; } - + void set_use_deffered_global_outputs(bool use) { m_use_deffered_global_outputs = use; } private: void main_worker(const po::variables_map& vm); bool init_local_daemon(); @@ -186,6 +187,7 @@ private: std::shared_ptr m_rpc_proxy; po::variables_map m_vm; + bool m_use_deffered_global_outputs; std::atomic m_last_daemon_height; std::atomic m_last_daemon_network_state; std::atomic m_last_daemon_is_disconnected;