From 9342a67ddeb2e5718dec1e66c4387e8de2ca41e2 Mon Sep 17 00:00:00 2001 From: woodser Date: Thu, 28 May 2020 14:05:15 -0400 Subject: [PATCH] update to monero core v0.16.0.0 nitrogen nebula remove is_rct on submit tx result only incoming transfers have num_suggested_confirmations update docs add to readme: git checkout tags/v0.16.0.0 for monero-core --- README.md | 3 +- docs/monero__wallet_8h_source.html | 2 +- docs/monero__wallet__core_8h_source.html | 202 +++++++++--------- docs/monero__wallet__model_8h_source.html | 34 +-- docs/namespacemonero.html | 6 +- ...1monero__address__book__entry-members.html | 7 +- ...onero_1_1monero__address__book__entry.html | 3 + ...1_1monero__incoming__transfer-members.html | 2 +- ...tmonero_1_1monero__incoming__transfer.html | 6 +- ...1_1monero__outgoing__transfer-members.html | 13 +- ...tmonero_1_1monero__outgoing__transfer.html | 3 - ...uctmonero_1_1monero__transfer-members.html | 9 +- docs/structmonero_1_1monero__transfer.html | 3 - ...ro_1_1monero__transfer__query-members.html | 17 +- ...ructmonero_1_1monero__transfer__query.html | 3 - ...ctmonero_1_1wallet2__listener-members.html | 8 +- docs/structmonero_1_1wallet2__listener.html | 24 +-- src/daemon/monero_daemon_model.cpp | 4 +- src/wallet/monero_wallet_core.cpp | 67 +++--- src/wallet/monero_wallet_model.cpp | 11 +- src/wallet/monero_wallet_model.h | 3 +- 21 files changed, 209 insertions(+), 221 deletions(-) diff --git a/README.md b/README.md index b65ebbc..be8cbfe 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ## Overview -This project is a C++ library for using Monero wallets with native bindings to [Monero Core v0.15.0.5 Carbon Chameleon](https://web.getmonero.org/downloads/). +This project is a C++ library for using Monero wallets with native bindings to [Monero Core v0.16.0.0 'Nitrogen Nebula'](https://web.getmonero.org/downloads/). In addition, this project conforms to an [API specification](http://moneroecosystem.org/monero-java/monero-spec.pdf) intended to be intuitive, robust, and for long-term use in the Monero project. @@ -189,6 +189,7 @@ The following dependencies must be set up before running this project. 5. Set up Monero Core 1. Initialize submodules: `git submodule update --init --recursive` 2. cd ./external/monero-core + 3. git checkout tags/v0.16.0.0 3. Modify CMakeLists.txt: `option(BUILD_GUI_DEPS "Build GUI dependencies." ON)`. 4. Build twice to create libwallet_merged.a in addition to other .a libraries: `make release-static -j8`. 6. Build this project as a shared library in `./build/`: `./bin/build_libmonero_cpp.sh`. diff --git a/docs/monero__wallet_8h_source.html b/docs/monero__wallet_8h_source.html index f368d8f..3c26df9 100644 --- a/docs/monero__wallet_8h_source.html +++ b/docs/monero__wallet_8h_source.html @@ -205,7 +205,7 @@ $(function() {
virtual std::set< monero_wallet_listener * > get_listeners()
Definition: monero_wallet.h:398
Definition: monero_wallet_model.h:343
virtual std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config)
Definition: monero_wallet.h:785
-
Definition: monero_wallet_core.cpp:688
+
Definition: monero_wallet_core.cpp:679
virtual bool verify_message(const std::string &msg, const std::string &address, const std::string &signature) const
Definition: monero_wallet.h:911
virtual monero_account get_account(uint32_t account_idx) const
Definition: monero_wallet.h:586
diff --git a/docs/monero__wallet__core_8h_source.html b/docs/monero__wallet__core_8h_source.html index b269ea9..b9eb5b8 100644 --- a/docs/monero__wallet__core_8h_source.html +++ b/docs/monero__wallet__core_8h_source.html @@ -71,126 +71,126 @@ $(function() {
1 
53 #pragma once
54 
55 #include "monero_wallet.h"
56 #include "wallet/wallet2.h"
57 
58 #include <boost/thread/mutex.hpp>
59 #include <boost/thread/thread.hpp>
60 #include <boost/thread/condition_variable.hpp>
61 
65 namespace monero {
66 
67  // -------------------------------- LISTENERS -------------------------------
68 
69  // forward declaration of internal wallet2 listener
70  struct wallet2_listener;
71 
72  // --------------------------- STATIC WALLET UTILS --------------------------
73 
78 
79  public:
80 
87  static bool wallet_exists(const std::string& path);
88 
97  static monero_wallet_core* open_wallet(const std::string& path, const std::string& password, const monero_network_type network_type);
98 
110  static monero_wallet_core* open_wallet_data(const std::string& password, const monero_network_type, const std::string& keys_data, const std::string& cache_data, const monero_rpc_connection& daemon_connection = monero_rpc_connection(), std::unique_ptr<epee::net_utils::http::http_client_factory> http_client_factory = nullptr);
111 
123  static monero_wallet_core* create_wallet_random(const std::string& path, const std::string& password, const monero_network_type network_type, const monero_rpc_connection& daemon_connection = monero_rpc_connection(), const std::string& language = "English", std::unique_ptr<epee::net_utils::http::http_client_factory> http_client_factory = nullptr);
124 
137  static monero_wallet_core* create_wallet_from_mnemonic(const std::string& path, const std::string& password, const monero_network_type network_type, const std::string& mnemonic, const monero_rpc_connection& daemon_connection = monero_rpc_connection(), uint64_t restore_height = 0, const std::string& seed_offset = "", std::unique_ptr<epee::net_utils::http::http_client_factory> http_client_factory = nullptr);
138 
154  static monero_wallet_core* create_wallet_from_keys(const std::string& path, const std::string& password, const monero_network_type network_type, const std::string& address, const std::string& view_key, const std::string& spend_key, const monero_rpc_connection& daemon_connection = monero_rpc_connection(), uint64_t restore_height = 0, const std::string& language = "English", std::unique_ptr<epee::net_utils::http::http_client_factory> http_client_factory = nullptr);
155 
161  static std::vector<std::string> get_mnemonic_languages();
162 
163  // ----------------------------- WALLET METHODS -----------------------------
164 
169 
173  bool is_view_only() const override { return m_w2->watch_only(); }
174  void set_daemon_connection(const std::string& uri, const std::string& username = "", const std::string& password = "") override;
175  void set_daemon_connection(const boost::optional<monero_rpc_connection>& connection) override;
176  boost::optional<monero_rpc_connection> get_daemon_connection() const override;
177  bool is_connected() const override;
178  bool is_daemon_synced() const override;
179  bool is_daemon_trusted() const override;
180  bool is_synced() const override;
181  monero_version get_version() const override;
182  std::string get_path() const override;
183  monero_network_type get_network_type() const override;
184  std::string get_mnemonic() const override;
185  std::string get_mnemonic_language() const override;
186  std::string get_public_view_key() const override;
187  std::string get_private_view_key() const override;
188  std::string get_public_spend_key() const override;
189  std::string get_private_spend_key() const override;
190  std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const override;
191  monero_subaddress get_address_index(const std::string& address) const override;
192  monero_integrated_address get_integrated_address(const std::string& standard_address = "", const std::string& payment_id = "") const override;
193  monero_integrated_address decode_integrated_address(const std::string& integrated_address) const override;
194  uint64_t get_height() const override;
195  uint64_t get_sync_height() const override;
196  void set_sync_height(uint64_t sync_height) override;
197  uint64_t get_daemon_height() const override;
198  uint64_t get_daemon_max_peer_height() const override;
199  void add_listener(monero_wallet_listener& listener) override;
200  void remove_listener(monero_wallet_listener& listener) override;
201  std::set<monero_wallet_listener*> get_listeners() override;
202  monero_sync_result sync() override;
203  monero_sync_result sync(monero_wallet_listener& listener) override;
204  monero_sync_result sync(uint64_t start_height) override;
205  monero_sync_result sync(uint64_t start_height, monero_wallet_listener& listener) override;
206  void start_syncing() override;
207  void stop_syncing() override;
208  void rescan_spent() override;
209  void rescan_blockchain() override;
210  uint64_t get_balance() const override;
211  uint64_t get_balance(uint32_t account_idx) const override;
212  uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const override;
213  uint64_t get_unlocked_balance() const override;
214  uint64_t get_unlocked_balance(uint32_t account_idx) const override;
215  uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const override;
216  std::vector<monero_account> get_accounts(bool include_subaddresses, const std::string& tag) const override;
217  monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const override;
218  monero_account create_account(const std::string& label = "") override;
219  std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices) const override;
220  monero_subaddress create_subaddress(uint32_t account_idx, const std::string& label = "") override;
221  std::vector<std::shared_ptr<monero_tx_wallet>> get_txs() const override;
222  std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query) const override;
223  std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query, std::vector<std::string>& missing_tx_hashes) const override;
224  std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const override;
225  std::vector<std::shared_ptr<monero_output_wallet>> get_outputs(const monero_output_query& query) const override;
226  std::string get_outputs_hex() const override;
227  int import_outputs_hex(const std::string& outputs_hex) override;
228  std::vector<std::shared_ptr<monero_key_image>> get_key_images() const override;
229  std::shared_ptr<monero_key_image_import_result> import_key_images(const std::vector<std::shared_ptr<monero_key_image>>& key_images) override;
230  std::vector<std::shared_ptr<monero_tx_wallet>> create_txs(const monero_tx_config& config) override;
231  std::vector<std::shared_ptr<monero_tx_wallet>> sweep_unlocked(const monero_tx_config& config) override;
232  std::shared_ptr<monero_tx_wallet> sweep_output(const monero_tx_config& config) override;
233  std::vector<std::shared_ptr<monero_tx_wallet>> sweep_dust(bool relay = false) override;
234  std::vector<std::string> relay_txs(const std::vector<std::string>& tx_metadatas) override;
235  monero_tx_set parse_tx_set(const monero_tx_set& tx_set) override;
236  std::string sign_txs(const std::string& unsigned_tx_hex) override;
237  std::vector<std::string> submit_txs(const std::string& signed_tx_hex) override;
238  std::string sign_message(const std::string& msg) const override;
239  bool verify_message(const std::string& msg, const std::string& address, const std::string& signature) const override;
240  std::string get_tx_key(const std::string& tx_hash) const override;
241  std::shared_ptr<monero_check_tx> check_tx_key(const std::string& tx_hash, const std::string& txKey, const std::string& address) const override;
242  std::string get_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message) const override;
243  std::shared_ptr<monero_check_tx> check_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message, const std::string& signature) const override;
244  std::string get_spend_proof(const std::string& tx_hash, const std::string& message) const override;
245  bool check_spend_proof(const std::string& tx_hash, const std::string& message, const std::string& signature) const override;
246  std::string get_reserve_proof_wallet(const std::string& message) const override;
247  std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string& message) const override;
248  std::shared_ptr<monero_check_reserve> check_reserve_proof(const std::string& address, const std::string& message, const std::string& signature) const override;
249  std::string get_tx_note(const std::string& tx_hash) const override;
250  std::vector<std::string> get_tx_notes(const std::vector<std::string>& tx_hashes) const override;
251  void set_tx_note(const std::string& tx_hash, const std::string& note) override;
252  void set_tx_notes(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes) override;
253  std::vector<monero_address_book_entry> get_address_book_entries(const std::vector<uint64_t>& indices) const override;
254  uint64_t add_address_book_entry(const std::string& address, const std::string& description) override;
255  void edit_address_book_entry(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description) override;
256  void delete_address_book_entry(uint64_t index) override;
257  std::string create_payment_uri(const monero_tx_config& config) const override;
258  std::shared_ptr<monero_tx_config> parse_payment_uri(const std::string& uri) const override;
259  bool get_attribute(const std::string& key, std::string& value) const override;
260  void set_attribute(const std::string& key, const std::string& val) override;
261  void start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery) override;
262  void stop_mining() override;
263  uint64_t wait_for_next_block() override;
264  bool is_multisig_import_needed() const override;
266  std::string prepare_multisig() override;
267  monero_multisig_init_result make_multisig(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password) override;
268  monero_multisig_init_result exchange_multisig_keys(const std::vector<std::string>& mutisig_hexes, const std::string& password) override;
269  std::string get_multisig_hex() override;
270  int import_multisig_hex(const std::vector<std::string>& multisig_hexes) override;
271  monero_multisig_sign_result sign_multisig_tx_hex(const std::string& multisig_tx_hex) override;
272  std::vector<std::string> submit_multisig_tx_hex(const std::string& signed_multisig_tx_hex) override;
273  void save() override;
274  void move_to(std::string path, std::string password) override;
275  void close(bool save = false) override;
276 
280  std::string get_keys_file_buffer(const epee::wipeable_string& password, bool view_only) const;
281  std::string get_cache_file_buffer(const epee::wipeable_string& password) const;
282 
283  // --------------------------------- PRIVATE --------------------------------
284 
285  private:
286  friend struct wallet2_listener;
287  std::unique_ptr<tools::wallet2> m_w2; // internal wallet implementation
288  std::unique_ptr<wallet2_listener> m_w2_listener; // internal wallet implementation listener
289  std::set<monero_wallet_listener*> m_listeners; // external wallet listeners
290 
291  void init_common();
292  std::vector<monero_subaddress> get_subaddresses_aux(uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices, const std::vector<tools::wallet2::transfer_details>& transfers) const;
293  std::vector<std::shared_ptr<monero_transfer>> get_transfers_aux(const monero_transfer_query& query) const;
294  std::vector<std::shared_ptr<monero_output_wallet>> get_outputs_aux(const monero_output_query& query) const;
295  std::vector<std::shared_ptr<monero_tx_wallet>> sweep_account(const monero_tx_config& config); // sweeps unlocked funds within an account; private helper to sweep_unlocked()
296 
297  // blockchain sync management
298  mutable std::atomic<bool> m_is_synced; // whether or not wallet is synced
299  mutable std::atomic<bool> m_is_connected; // cache connection status to avoid unecessary RPC calls
300  boost::condition_variable m_sync_cv; // to make sync threads woke
301  boost::mutex m_sync_mutex; // synchronize sync() and syncAsync() requests
302  std::atomic<bool> m_rescan_on_sync; // whether or not to rescan on sync
303  std::atomic<bool> m_syncing_enabled; // whether or not auto sync is enabled
304  std::atomic<bool> m_sync_loop_running; // whether or not the syncing thread is shut down
305  std::atomic<int> m_syncing_interval; // auto sync loop interval in milliseconds
306  boost::thread m_syncing_thread; // thread for auto sync loop
307  boost::mutex m_syncing_mutex; // synchronize auto sync loop
308  void run_sync_loop(); // run the sync loop in a thread
309  monero_sync_result lock_and_sync(boost::optional<uint64_t> start_height = boost::none); // internal function to synchronize request to sync and rescan
310  monero_sync_result sync_aux(boost::optional<uint64_t> start_height = boost::none); // internal function to immediately block, sync, and report progress
311  };
312 }
Definition: monero_wallet_model.h:414
Definition: monero_daemon.cpp:58
-
bool is_synced() const override
Definition: monero_wallet_core.cpp:1046
-
void set_sync_height(uint64_t sync_height) override
Definition: monero_wallet_core.cpp:1178
-
std::string get_public_view_key() const override
Definition: monero_wallet_core.cpp:1077
+
bool is_synced() const override
Definition: monero_wallet_core.cpp:1025
+
void set_sync_height(uint64_t sync_height) override
Definition: monero_wallet_core.cpp:1157
+
std::string get_public_view_key() const override
Definition: monero_wallet_core.cpp:1056
Definition: monero_wallet.h:115
-
std::vector< std::string > get_tx_notes(const std::vector< std::string > &tx_hashes) const override
Definition: monero_wallet_core.cpp:2589
-
~monero_wallet_core()
Definition: monero_wallet_core.cpp:981
-
void add_listener(monero_wallet_listener &listener) override
Definition: monero_wallet_core.cpp:1199
-
std::shared_ptr< monero_check_reserve > check_reserve_proof(const std::string &address, const std::string &message, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2559
+
std::vector< std::string > get_tx_notes(const std::vector< std::string > &tx_hashes) const override
Definition: monero_wallet_core.cpp:2580
+
~monero_wallet_core()
Definition: monero_wallet_core.cpp:960
+
void add_listener(monero_wallet_listener &listener) override
Definition: monero_wallet_core.cpp:1178
+
std::shared_ptr< monero_check_reserve > check_reserve_proof(const std::string &address, const std::string &message, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2550
Definition: monero_wallet_model.h:322
-
std::string get_keys_file_buffer(const epee::wipeable_string &password, bool view_only) const
Definition: monero_wallet_core.cpp:3004
-
void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="") override
Definition: monero_wallet_core.cpp:986
-
std::string get_tx_note(const std::string &tx_hash) const override
Definition: monero_wallet_core.cpp:2579
-
std::shared_ptr< monero_check_tx > check_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2490
-
static monero_wallet_core * create_wallet_random(const std::string &path, const std::string &password, const monero_network_type network_type, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), const std::string &language="English", std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:875
+
std::string get_keys_file_buffer(const epee::wipeable_string &password, bool view_only) const
Definition: monero_wallet_core.cpp:3001
+
void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="") override
Definition: monero_wallet_core.cpp:965
+
std::string get_tx_note(const std::string &tx_hash) const override
Definition: monero_wallet_core.cpp:2570
+
std::shared_ptr< monero_check_tx > check_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2481
+
static monero_wallet_core * create_wallet_random(const std::string &path, const std::string &password, const monero_network_type network_type, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), const std::string &language="English", std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:854
Definition: monero_wallet.h:71
-
static monero_wallet_core * create_wallet_from_keys(const std::string &path, const std::string &password, const monero_network_type network_type, const std::string &address, const std::string &view_key, const std::string &spend_key, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), uint64_t restore_height=0, const std::string &language="English", std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:914
-
std::string sign_txs(const std::string &unsigned_tx_hex) override
Definition: monero_wallet_core.cpp:2321
-
void close(bool save=false) override
Definition: monero_wallet_core.cpp:3018
-
void set_tx_note(const std::string &tx_hash, const std::string &note) override
Definition: monero_wallet_core.cpp:2596
-
monero_version get_version() const override
Definition: monero_wallet_core.cpp:1050
-
monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const override
Definition: monero_wallet_core.cpp:1347
-
std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex) override
Definition: monero_wallet_core.cpp:2953
-
std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const override
Definition: monero_wallet_core.cpp:1099
-
std::string create_payment_uri(const monero_tx_config &config) const override
Definition: monero_wallet_core.cpp:2696
-
void start_mining(boost::optional< uint64_t > num_threads, boost::optional< bool > background_mining, boost::optional< bool > ignore_battery) override
Definition: monero_wallet_core.cpp:2755
-
int import_outputs_hex(const std::string &outputs_hex) override
Definition: monero_wallet_core.cpp:1561
-
uint64_t get_daemon_height() const override
Definition: monero_wallet_core.cpp:1182
+
static monero_wallet_core * create_wallet_from_keys(const std::string &path, const std::string &password, const monero_network_type network_type, const std::string &address, const std::string &view_key, const std::string &spend_key, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), uint64_t restore_height=0, const std::string &language="English", std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:893
+
std::string sign_txs(const std::string &unsigned_tx_hex) override
Definition: monero_wallet_core.cpp:2312
+
void close(bool save=false) override
Definition: monero_wallet_core.cpp:3015
+
void set_tx_note(const std::string &tx_hash, const std::string &note) override
Definition: monero_wallet_core.cpp:2587
+
monero_version get_version() const override
Definition: monero_wallet_core.cpp:1029
+
monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const override
Definition: monero_wallet_core.cpp:1326
+
std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex) override
Definition: monero_wallet_core.cpp:2950
+
std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const override
Definition: monero_wallet_core.cpp:1078
+
std::string create_payment_uri(const monero_tx_config &config) const override
Definition: monero_wallet_core.cpp:2693
+
void start_mining(boost::optional< uint64_t > num_threads, boost::optional< bool > background_mining, boost::optional< bool > ignore_battery) override
Definition: monero_wallet_core.cpp:2752
+
int import_outputs_hex(const std::string &outputs_hex) override
Definition: monero_wallet_core.cpp:1540
+
uint64_t get_daemon_height() const override
Definition: monero_wallet_core.cpp:1161
virtual std::vector< monero_account > get_accounts() const
Definition: monero_wallet.h:545
Definition: monero_wallet_model.h:428
-
std::string get_private_spend_key() const override
Definition: monero_wallet_core.cpp:1092
-
std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config) override
Definition: monero_wallet_core.cpp:1615
-
uint64_t get_sync_height() const override
Definition: monero_wallet_core.cpp:1174
-
bool is_connected() const override
Definition: monero_wallet_core.cpp:1027
+
std::string get_private_spend_key() const override
Definition: monero_wallet_core.cpp:1071
+
std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config) override
Definition: monero_wallet_core.cpp:1594
+
uint64_t get_sync_height() const override
Definition: monero_wallet_core.cpp:1153
+
bool is_connected() const override
Definition: monero_wallet_core.cpp:1006
Definition: monero_wallet_model.h:278
-
void edit_address_book_entry(uint64_t index, bool set_address, const std::string &address, bool set_description, const std::string &description) override
Definition: monero_wallet_core.cpp:2657
-
std::string get_tx_key(const std::string &tx_hash) const override
Definition: monero_wallet_core.cpp:2397
-
std::string get_path() const override
Definition: monero_wallet_core.cpp:1057
-
uint64_t get_daemon_max_peer_height() const override
Definition: monero_wallet_core.cpp:1190
+
void edit_address_book_entry(uint64_t index, bool set_address, const std::string &address, bool set_description, const std::string &description) override
Definition: monero_wallet_core.cpp:2654
+
std::string get_tx_key(const std::string &tx_hash) const override
Definition: monero_wallet_core.cpp:2388
+
std::string get_path() const override
Definition: monero_wallet_core.cpp:1036
+
uint64_t get_daemon_max_peer_height() const override
Definition: monero_wallet_core.cpp:1169
Definition: monero_wallet_model.h:438
-
monero_account create_account(const std::string &label="") override
Definition: monero_wallet_core.cpp:1364
+
monero_account create_account(const std::string &label="") override
Definition: monero_wallet_core.cpp:1343
bool is_view_only() const override
Definition: monero_wallet_core.h:173
-
monero_integrated_address get_integrated_address(const std::string &standard_address="", const std::string &payment_id="") const override
Definition: monero_wallet_core.cpp:1124
-
static monero_wallet_core * open_wallet(const std::string &path, const std::string &password, const monero_network_type network_type)
Definition: monero_wallet_core.cpp:853
-
bool is_daemon_synced() const override
Definition: monero_wallet_core.cpp:1035
+
monero_integrated_address get_integrated_address(const std::string &standard_address="", const std::string &payment_id="") const override
Definition: monero_wallet_core.cpp:1103
+
static monero_wallet_core * open_wallet(const std::string &path, const std::string &password, const monero_network_type network_type)
Definition: monero_wallet_core.cpp:832
+
bool is_daemon_synced() const override
Definition: monero_wallet_core.cpp:1014
Definition: monero_daemon_model.h:99
-
std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config) override
Definition: monero_wallet_core.cpp:1735
-
monero_network_type get_network_type() const override
Definition: monero_wallet_core.cpp:1061
-
static monero_wallet_core * open_wallet_data(const std::string &password, const monero_network_type, const std::string &keys_data, const std::string &cache_data, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:863
-
std::shared_ptr< monero_key_image_import_result > import_key_images(const std::vector< std::shared_ptr< monero_key_image >> &key_images) override
Definition: monero_wallet_core.cpp:1588
-
monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="") override
Definition: monero_wallet_core.cpp:1388
-
void move_to(std::string path, std::string password) override
Definition: monero_wallet_core.cpp:2999
-
std::string get_multisig_hex() override
Definition: monero_wallet_core.cpp:2875
-
uint64_t get_unlocked_balance() const override
Definition: monero_wallet_core.cpp:1311
-
bool verify_message(const std::string &msg, const std::string &address, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2372
-
std::shared_ptr< monero_check_tx > check_tx_key(const std::string &tx_hash, const std::string &txKey, const std::string &address) const override
Definition: monero_wallet_core.cpp:2422
-
std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const override
Definition: monero_wallet_core.cpp:2614
-
std::vector< std::shared_ptr< monero_key_image > > get_key_images() const override
Definition: monero_wallet_core.cpp:1573
-
std::set< monero_wallet_listener * > get_listeners() override
Definition: monero_wallet_core.cpp:1211
-
std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const override
Definition: monero_wallet_core.cpp:1515
-
int import_multisig_hex(const std::vector< std::string > &multisig_hexes) override
Definition: monero_wallet_core.cpp:2882
-
bool get_attribute(const std::string &key, std::string &value) const override
Definition: monero_wallet_core.cpp:2747
-
std::string get_private_view_key() const override
Definition: monero_wallet_core.cpp:1082
+
std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config) override
Definition: monero_wallet_core.cpp:1717
+
monero_network_type get_network_type() const override
Definition: monero_wallet_core.cpp:1040
+
static monero_wallet_core * open_wallet_data(const std::string &password, const monero_network_type, const std::string &keys_data, const std::string &cache_data, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:842
+
std::shared_ptr< monero_key_image_import_result > import_key_images(const std::vector< std::shared_ptr< monero_key_image >> &key_images) override
Definition: monero_wallet_core.cpp:1567
+
monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="") override
Definition: monero_wallet_core.cpp:1367
+
void move_to(std::string path, std::string password) override
Definition: monero_wallet_core.cpp:2996
+
std::string get_multisig_hex() override
Definition: monero_wallet_core.cpp:2872
+
uint64_t get_unlocked_balance() const override
Definition: monero_wallet_core.cpp:1290
+
bool verify_message(const std::string &msg, const std::string &address, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2363
+
std::shared_ptr< monero_check_tx > check_tx_key(const std::string &tx_hash, const std::string &txKey, const std::string &address) const override
Definition: monero_wallet_core.cpp:2413
+
std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const override
Definition: monero_wallet_core.cpp:2605
+
std::vector< std::shared_ptr< monero_key_image > > get_key_images() const override
Definition: monero_wallet_core.cpp:1552
+
std::set< monero_wallet_listener * > get_listeners() override
Definition: monero_wallet_core.cpp:1190
+
std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const override
Definition: monero_wallet_core.cpp:1494
+
int import_multisig_hex(const std::vector< std::string > &multisig_hexes) override
Definition: monero_wallet_core.cpp:2879
+
bool get_attribute(const std::string &key, std::string &value) const override
Definition: monero_wallet_core.cpp:2744
+
std::string get_private_view_key() const override
Definition: monero_wallet_core.cpp:1061
Definition: monero_wallet_model.h:67
-
std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false) override
Definition: monero_wallet_core.cpp:2041
+
std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false) override
Definition: monero_wallet_core.cpp:2029
Definition: monero_wallet_model.h:308
-
void delete_address_book_entry(uint64_t index) override
Definition: monero_wallet_core.cpp:2690
-
monero_integrated_address decode_integrated_address(const std::string &integrated_address) const override
Definition: monero_wallet_core.cpp:1154
-
std::string get_mnemonic() const override
Definition: monero_wallet_core.cpp:1065
-
bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2532
-
std::string prepare_multisig() override
Definition: monero_wallet_core.cpp:2837
-
monero_subaddress get_address_index(const std::string &address) const override
Definition: monero_wallet_core.cpp:1103
-
bool is_multisig_import_needed() const override
Definition: monero_wallet_core.cpp:2827
-
monero_sync_result sync() override
Definition: monero_wallet_core.cpp:1216
-
monero_multisig_init_result make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password) override
Definition: monero_wallet_core.cpp:2843
-
std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const override
Definition: monero_wallet_core.cpp:2719
-
std::string get_outputs_hex() const override
Definition: monero_wallet_core.cpp:1557
-
uint64_t wait_for_next_block() override
Definition: monero_wallet_core.cpp:2795
-
std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas) override
Definition: monero_wallet_core.cpp:2124
-
monero_multisig_info get_multisig_info() override
Definition: monero_wallet_core.cpp:2831
+
void delete_address_book_entry(uint64_t index) override
Definition: monero_wallet_core.cpp:2687
+
monero_integrated_address decode_integrated_address(const std::string &integrated_address) const override
Definition: monero_wallet_core.cpp:1133
+
std::string get_mnemonic() const override
Definition: monero_wallet_core.cpp:1044
+
bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const override
Definition: monero_wallet_core.cpp:2523
+
std::string prepare_multisig() override
Definition: monero_wallet_core.cpp:2834
+
monero_subaddress get_address_index(const std::string &address) const override
Definition: monero_wallet_core.cpp:1082
+
bool is_multisig_import_needed() const override
Definition: monero_wallet_core.cpp:2824
+
monero_sync_result sync() override
Definition: monero_wallet_core.cpp:1195
+
monero_multisig_init_result make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password) override
Definition: monero_wallet_core.cpp:2840
+
std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const override
Definition: monero_wallet_core.cpp:2716
+
std::string get_outputs_hex() const override
Definition: monero_wallet_core.cpp:1536
+
uint64_t wait_for_next_block() override
Definition: monero_wallet_core.cpp:2792
+
std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas) override
Definition: monero_wallet_core.cpp:2115
+
monero_multisig_info get_multisig_info() override
Definition: monero_wallet_core.cpp:2828
Definition: monero_wallet_model.h:225
-
std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string &message) const override
Definition: monero_wallet_core.cpp:2551
+
std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string &message) const override
Definition: monero_wallet_core.cpp:2542
Definition: monero_wallet_model.h:96
-
void rescan_blockchain() override
Definition: monero_wallet_core.cpp:1288
+
void rescan_blockchain() override
Definition: monero_wallet_core.cpp:1267
Definition: monero_daemon_model.h:109
-
static bool wallet_exists(const std::string &path)
Definition: monero_wallet_core.cpp:845
+
static bool wallet_exists(const std::string &path)
Definition: monero_wallet_core.cpp:824
Definition: monero_wallet_model.h:79
-
uint64_t get_height() const override
Definition: monero_wallet_core.cpp:1170
-
std::vector< std::shared_ptr< monero_tx_wallet > > get_txs() const override
Definition: monero_wallet_core.cpp:1408
-
static std::vector< std::string > get_mnemonic_languages()
Definition: monero_wallet_core.cpp:973
-
void stop_mining() override
Definition: monero_wallet_core.cpp:2785
-
void set_attribute(const std::string &key, const std::string &val) override
Definition: monero_wallet_core.cpp:2751
-
std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config) override
Definition: monero_wallet_core.cpp:1918
-
static monero_wallet_core * create_wallet_from_mnemonic(const std::string &path, const std::string &password, const monero_network_type network_type, const std::string &mnemonic, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), uint64_t restore_height=0, const std::string &seed_offset="", std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:889
-
std::string sign_message(const std::string &msg) const override
Definition: monero_wallet_core.cpp:2368
-
void stop_syncing() override
Definition: monero_wallet_core.cpp:1276
-
std::string get_public_spend_key() const override
Definition: monero_wallet_core.cpp:1087
-
void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes) override
Definition: monero_wallet_core.cpp:2606
-
uint64_t get_balance() const override
Definition: monero_wallet_core.cpp:1297
-
boost::optional< monero_rpc_connection > get_daemon_connection() const override
Definition: monero_wallet_core.cpp:1012
+
uint64_t get_height() const override
Definition: monero_wallet_core.cpp:1149
+
std::vector< std::shared_ptr< monero_tx_wallet > > get_txs() const override
Definition: monero_wallet_core.cpp:1387
+
static std::vector< std::string > get_mnemonic_languages()
Definition: monero_wallet_core.cpp:952
+
void stop_mining() override
Definition: monero_wallet_core.cpp:2782
+
void set_attribute(const std::string &key, const std::string &val) override
Definition: monero_wallet_core.cpp:2748
+
std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config) override
Definition: monero_wallet_core.cpp:1903
+
static monero_wallet_core * create_wallet_from_mnemonic(const std::string &path, const std::string &password, const monero_network_type network_type, const std::string &mnemonic, const monero_rpc_connection &daemon_connection=monero_rpc_connection(), uint64_t restore_height=0, const std::string &seed_offset="", std::unique_ptr< epee::net_utils::http::http_client_factory > http_client_factory=nullptr)
Definition: monero_wallet_core.cpp:868
+
std::string sign_message(const std::string &msg) const override
Definition: monero_wallet_core.cpp:2359
+
void stop_syncing() override
Definition: monero_wallet_core.cpp:1255
+
std::string get_public_spend_key() const override
Definition: monero_wallet_core.cpp:1066
+
void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes) override
Definition: monero_wallet_core.cpp:2597
+
uint64_t get_balance() const override
Definition: monero_wallet_core.cpp:1276
+
boost::optional< monero_rpc_connection > get_daemon_connection() const override
Definition: monero_wallet_core.cpp:991
Definition: monero_wallet_model.h:183
monero_network_type
Definition: monero_daemon_model.h:90
-
std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const override
Definition: monero_wallet_core.cpp:1536
-
std::string get_reserve_proof_wallet(const std::string &message) const override
Definition: monero_wallet_core.cpp:2545
-
std::string get_mnemonic_language() const override
Definition: monero_wallet_core.cpp:1072
-
void save() override
Definition: monero_wallet_core.cpp:2994
+
std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const override
Definition: monero_wallet_core.cpp:1515
+
std::string get_reserve_proof_wallet(const std::string &message) const override
Definition: monero_wallet_core.cpp:2536
+
std::string get_mnemonic_language() const override
Definition: monero_wallet_core.cpp:1051
+
void save() override
Definition: monero_wallet_core.cpp:2991
Definition: monero_wallet_core.h:77
-
monero_tx_set parse_tx_set(const monero_tx_set &tx_set) override
Definition: monero_wallet_core.cpp:2162
-
monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex) override
Definition: monero_wallet_core.cpp:2910
-
std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const override
Definition: monero_wallet_core.cpp:2472
-
std::vector< std::string > submit_txs(const std::string &signed_tx_hex) override
Definition: monero_wallet_core.cpp:2343
-
std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const override
Definition: monero_wallet_core.cpp:2519
-
monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &mutisig_hexes, const std::string &password) override
Definition: monero_wallet_core.cpp:2853
-
void rescan_spent() override
Definition: monero_wallet_core.cpp:1280
-
void remove_listener(monero_wallet_listener &listener) override
Definition: monero_wallet_core.cpp:1205
-
void start_syncing() override
Definition: monero_wallet_core.cpp:1265
+
monero_tx_set parse_tx_set(const monero_tx_set &tx_set) override
Definition: monero_wallet_core.cpp:2153
+
monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex) override
Definition: monero_wallet_core.cpp:2907
+
std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const override
Definition: monero_wallet_core.cpp:2463
+
std::vector< std::string > submit_txs(const std::string &signed_tx_hex) override
Definition: monero_wallet_core.cpp:2334
+
std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const override
Definition: monero_wallet_core.cpp:2510
+
monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &mutisig_hexes, const std::string &password) override
Definition: monero_wallet_core.cpp:2850
+
void rescan_spent() override
Definition: monero_wallet_core.cpp:1259
+
void remove_listener(monero_wallet_listener &listener) override
Definition: monero_wallet_core.cpp:1184
+
void start_syncing() override
Definition: monero_wallet_core.cpp:1244
Definition: monero_wallet_model.h:343
-
uint64_t add_address_book_entry(const std::string &address, const std::string &description) override
Definition: monero_wallet_core.cpp:2640
-
bool is_daemon_trusted() const override
Definition: monero_wallet_core.cpp:1041
-
Definition: monero_wallet_core.cpp:688
-
std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx, const std::vector< uint32_t > &subaddress_indices) const override
Definition: monero_wallet_core.cpp:1379
+
uint64_t add_address_book_entry(const std::string &address, const std::string &description) override
Definition: monero_wallet_core.cpp:2637
+
bool is_daemon_trusted() const override
Definition: monero_wallet_core.cpp:1020
+
Definition: monero_wallet_core.cpp:679
+
std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx, const std::vector< uint32_t > &subaddress_indices) const override
Definition: monero_wallet_core.cpp:1358