Monero C++ Library
monero_wallet.h
1 
53 #pragma once
54 
55 #include "monero_wallet_model.h"
56 #include <vector>
57 #include <set>
58 
59 using namespace monero;
60 
64 namespace monero {
65 
66  // --------------------------------- LISTENERS ------------------------------
67 
72  public:
73 
83  virtual void on_sync_progress(uint64_t height, uint64_t start_height, uint64_t end_height, double percent_done, const std::string& message) {}
84 
90  virtual void on_new_block(uint64_t height) {};
91 
98  virtual void on_balances_changed(uint64_t new_balance, uint64_t new_unlocked_balance) {};
99 
105  virtual void on_output_received(const monero_output_wallet& output) {};
106 
112  virtual void on_output_spent(const monero_output_wallet& output) {};
113  };
114 
115  // forward declaration of internal wallet2 listener
116  struct wallet2_listener;
117 
118  // ----------------------------- WALLET METHODS -----------------------------
119 
124 
125  public:
126 
130  virtual ~monero_wallet() {}
131 
138  virtual bool is_view_only() const {
139  throw std::runtime_error("is_view_only() not supported");
140  }
141 
149  virtual void set_daemon_connection(const std::string& uri, const std::string& username = "", const std::string& password = "") {
150  throw std::runtime_error("set_daemon_connection() not supported");
151  }
152 
158  virtual void set_daemon_connection(const boost::optional<monero_rpc_connection>& connection) {
159  throw std::runtime_error("set_daemon_connection() not supported");
160  }
161 
167  virtual boost::optional<monero_rpc_connection> get_daemon_connection() const {
168  throw std::runtime_error("get_daemon_connection() not supported");
169  }
170 
176  virtual bool is_connected() const {
177  throw std::runtime_error("is_connected() not supported");
178  }
179 
185  virtual bool is_daemon_synced() const {
186  throw std::runtime_error("is_daemon_synced() not supported");
187  }
188 
194  virtual bool is_daemon_trusted() const {
195  throw std::runtime_error("is_daemon_trusted() not supported");
196  }
197 
203  virtual bool is_synced() const {
204  throw std::runtime_error("is_synced() not supported");
205  }
206 
212  virtual monero_version get_version() const {
213  throw std::runtime_error("get_version() not supported");
214  }
215 
221  virtual std::string get_path() const {
222  throw std::runtime_error("get_path() not supported");
223  }
224 
231  throw std::runtime_error("get_network_type() not supported");
232  }
233 
239  virtual std::string get_mnemonic() const {
240  throw std::runtime_error("get_mnemonic() not supported");
241  }
242 
248  virtual std::string get_mnemonic_language() const {
249  throw std::runtime_error("get_mnemonic_language() not supported");
250  }
251 
257  virtual std::string get_public_view_key() const {
258  throw std::runtime_error("get_public_view_key() not supported");
259  }
260 
266  virtual std::string get_private_view_key() const {
267  throw std::runtime_error("get_private_view_key() not supported");
268  }
269 
275  virtual std::string get_public_spend_key() const {
276  throw std::runtime_error("get_public_spend_key() not supported");
277  }
278 
284  virtual std::string get_private_spend_key() const {
285  throw std::runtime_error("get_private_spend_key() not supported");
286  }
287 
293  virtual std::string get_primary_address() const {
294  return get_address(0, 0);
295  }
296 
304  virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const {
305  throw std::runtime_error("get_address() not supported");
306  }
307 
315  virtual monero_subaddress get_address_index(const std::string& address) const {
316  throw std::runtime_error("get_address_index() not supported");
317  }
318 
326  virtual monero_integrated_address get_integrated_address(const std::string& standard_address = "", const std::string& payment_id = "") const {
327  throw std::runtime_error("get_integrated_address() not supported");
328  }
329 
336  virtual monero_integrated_address decode_integrated_address(const std::string& integrated_address) const {
337  throw std::runtime_error("decode_integrated_address() not supported");
338  }
339 
345  virtual uint64_t get_height() const {
346  throw std::runtime_error("get_height() not supported");
347  }
348 
354  virtual uint64_t get_sync_height() const {
355  throw std::runtime_error("get_sync_height() not supported");
356  }
357 
363  virtual void set_sync_height(uint64_t sync_height) {
364  throw std::runtime_error("set_sync_height() not supported");
365  }
366 
372  virtual uint64_t get_daemon_height() const {
373  throw std::runtime_error("get_daemon_height() not supported");
374  }
375 
381  virtual uint64_t get_daemon_max_peer_height() const {
382  throw std::runtime_error("get_daemon_max_peer_height() not supported");
383  }
384 
393  virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const {
394  throw std::runtime_error("get_height_by_date(year, month, day) not supported");
395  }
396 
402  virtual void add_listener(monero_wallet_listener& listener) {
403  throw std::runtime_error("add_listener() not supported");
404  }
405 
411  virtual void remove_listener(monero_wallet_listener& listener) {
412  throw std::runtime_error("remove_listener() not supported");
413  }
414 
418  virtual std::set<monero_wallet_listener*> get_listeners() {
419  throw std::runtime_error("get_listeners() not supported");
420  }
421 
428  throw std::runtime_error("sync() not supported");
429  }
430 
438  throw std::runtime_error("sync() not supported");
439  }
440 
447  virtual monero_sync_result sync(uint64_t start_height) {
448  throw std::runtime_error("sync() not supported");
449  }
450 
458  virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener& listener) {
459  throw std::runtime_error("sync() not supported");
460  }
461 
467  virtual void start_syncing(uint64_t sync_period_in_ms = 10000) {
468  throw std::runtime_error("start_syncing() not supported");
469  }
470 
474  virtual void stop_syncing() {
475  throw std::runtime_error("stop_syncing() not supported");
476  }
477 
487  virtual void rescan_spent() {
488  throw std::runtime_error("rescan_spent() not supported");
489  }
490 
498  virtual void rescan_blockchain() {
499  throw std::runtime_error("rescan_blockchain() not supported");
500  }
501 
507  virtual uint64_t get_balance() const {
508  throw std::runtime_error("get_balance() not supported");
509  }
510 
517  virtual uint64_t get_balance(uint32_t account_idx) const {
518  throw std::runtime_error("get_balance() not supported");
519  }
520 
528  virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
529  throw std::runtime_error("get_balance() not supported");
530  }
531 
537  virtual uint64_t get_unlocked_balance() const {
538  throw std::runtime_error("get_unlocked_balance() not supported");
539  }
540 
547  virtual uint64_t get_unlocked_balance(uint32_t account_idx) const {
548  throw std::runtime_error("get_unlocked_balance() not supported");
549  }
550 
558  virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
559  throw std::runtime_error("get_unlocked_balance() not supported");
560  }
561 
567  virtual std::vector<monero_account> get_accounts() const {
568  return get_accounts(false, std::string(""));
569  }
570 
577  virtual std::vector<monero_account> get_accounts(bool include_subaddresses) const {
578  return get_accounts(include_subaddresses, "");
579  }
580 
587  virtual std::vector<monero_account> get_accounts(const std::string& tag) const {
588  return get_accounts(false, tag);
589  }
590 
598  virtual std::vector<monero_account> get_accounts(bool include_subaddresses, const std::string& tag) const {
599  throw std::runtime_error("get_accounts() not supported");
600  }
601 
608  virtual monero_account get_account(uint32_t account_idx) const {
609  return get_account(account_idx, false);
610  }
611 
619  virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const {
620  throw std::runtime_error("get_account() not supported");
621  }
622 
629  virtual monero_account create_account(const std::string& label = "") {
630  throw std::runtime_error("create_account() not supported");
631  }
632 
639  virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx) const {
640  return get_subaddresses(account_idx, std::vector<uint32_t>());
641  }
642 
650  virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices) const {
651  throw std::runtime_error("get_subaddresses() not supported");
652  }
653 
661  virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const {
662  throw std::runtime_error("get_subaddress() not supported");
663  }
664 
672  virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string& label = "") {
673  throw std::runtime_error("create_subaddress() not supported");
674  }
675 
682  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs() const {
683  throw std::runtime_error("get_txs() not supported");
684  }
685 
698  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query) const {
699  throw std::runtime_error("get_txs(query) not supported");
700  }
701 
710  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query, std::vector<std::string>& missing_tx_hashes) const {
711  throw std::runtime_error("get_txs(query, missing_tx_hashes) not supported");
712  }
713 
730  virtual std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const {
731  throw std::runtime_error("get_transfers() not supported");
732  }
733 
746  virtual std::vector<std::shared_ptr<monero_output_wallet>> get_outputs(const monero_output_query& query) const {
747  throw std::runtime_error("get_outputs() not supported");
748  }
749 
755  virtual std::string get_outputs_hex() const {
756  throw std::runtime_error("get_outputs_hex() not supported");
757  }
758 
765  virtual int import_outputs_hex(const std::string& outputs_hex) {
766  throw std::runtime_error("import_outputs_hex() not supported");
767  }
768 
774  virtual std::vector<std::shared_ptr<monero_key_image>> get_key_images() const {
775  throw std::runtime_error("get_key_images() not supported");
776  }
777 
784  virtual std::shared_ptr<monero_key_image_import_result> import_key_images(const std::vector<std::shared_ptr<monero_key_image>>& key_images) {
785  throw std::runtime_error("import_key_images() not supported");
786  }
787 
794  virtual std::shared_ptr<monero_tx_wallet> create_tx(const monero_tx_config& config) {
795  if (config.m_can_split != boost::none && config.m_can_split.get()) throw std::runtime_error("Cannot split transactions with create_tx(); use create_txs() instead");
796  monero_tx_config config_copy = monero_tx_config(config);
797  config_copy.m_can_split = false;
798  return create_txs(config_copy)[0];
799  }
800 
807  virtual std::vector<std::shared_ptr<monero_tx_wallet>> create_txs(const monero_tx_config& config) {
808  throw std::runtime_error("create_txs() not supported");
809  }
810 
817  virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_unlocked(const monero_tx_config& config) {
818  throw std::runtime_error("sweep_unlocked() not supported");
819  }
820 
827  virtual std::shared_ptr<monero_tx_wallet> sweep_output(const monero_tx_config& config) {
828  throw std::runtime_error("sweep_output() not supported");
829  }
830 
837  virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_dust(bool relay = false) {
838  throw std::runtime_error("sweep_dust() not supported");
839  }
840 
847  virtual std::string relay_tx(const std::string& tx_metadata) {
848  std::vector<std::string> tx_metadatas;
849  tx_metadatas.push_back(tx_metadata);
850  return relay_txs(tx_metadatas)[0];
851  }
852 
859  virtual std::string relay_tx(const monero_tx_wallet& tx) {
860  return relay_tx(tx.m_metadata.get());
861  }
862 
869  virtual std::vector<std::string> relay_txs(const std::vector<std::shared_ptr<monero_tx_wallet>>& txs) {
870  std::vector<std::string> tx_hexes;
871  for (const std::shared_ptr<monero_tx_wallet>& tx : txs) tx_hexes.push_back(tx->m_metadata.get());
872  return relay_txs(tx_hexes);
873  }
874 
881  virtual std::vector<std::string> relay_txs(const std::vector<std::string>& tx_metadatas) {
882  throw std::runtime_error("relay_txs() not supported");
883  }
884 
891  virtual monero_tx_set parse_tx_set(const monero_tx_set& tx_set) {
892  throw std::runtime_error("parse_tx_set() not supported");
893  }
894 
901  virtual std::string sign_txs(const std::string& unsigned_tx_hex) {
902  throw std::runtime_error("sign_txs() not supported");
903  }
904 
911  virtual std::vector<std::string> submit_txs(const std::string& signed_tx_hex) {
912  throw std::runtime_error("submit_txs() not supported");
913  }
914 
924  virtual std::string sign_message(const std::string& msg, monero_message_signature_type signature_type, uint32_t account_idx = 0, uint32_t subaddress_idx = 0) const {
925  throw std::runtime_error("sign_message() not supported");
926  }
927 
936  virtual monero_message_signature_result verify_message(const std::string& msg, const std::string& address, const std::string& signature) const {
937  throw std::runtime_error("verify_message() not supported");
938  }
939 
946  virtual std::string get_tx_key(const std::string& tx_hash) const {
947  throw std::runtime_error("get_tx_key() not supported");
948  }
949 
958  virtual std::shared_ptr<monero_check_tx> check_tx_key(const std::string& tx_hash, const std::string& tx_key, const std::string& address) const {
959  throw std::runtime_error("check_tx_key() not supported");
960  }
961 
970  virtual std::string get_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message) const {
971  throw std::runtime_error("get_tx_proof() not supported");
972  }
973 
983  virtual 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 {
984  throw std::runtime_error("check_tx_proof() not supported");
985  }
986 
994  virtual std::string get_spend_proof(const std::string& tx_hash, const std::string& message) const {
995  throw std::runtime_error("get_spend_proof() not supported");
996  }
997 
1006  virtual bool check_spend_proof(const std::string& tx_hash, const std::string& message, const std::string& signature) const {
1007  throw std::runtime_error("check_spend_proof() not supported");
1008  }
1009 
1016  virtual std::string get_reserve_proof_wallet(const std::string& message) const {
1017  throw std::runtime_error("get_reserve_proof_wallet() not supported");
1018  }
1019 
1028  virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string& message) const {
1029  throw std::runtime_error("get_reserve_proof_account() not supported");
1030  }
1031 
1040  virtual std::shared_ptr<monero_check_reserve> check_reserve_proof(const std::string& address, const std::string& message, const std::string& signature) const {
1041  throw std::runtime_error("check_reserve_proof() not supported");
1042  }
1043 
1050  virtual std::string get_tx_note(const std::string& tx_hash) const {
1051  throw std::runtime_error("get_tx_note() not supported");
1052  }
1053 
1060  virtual std::vector<std::string> get_tx_notes(const std::vector<std::string>& tx_hashes) const {
1061  throw std::runtime_error("get_tx_notes() not supported");
1062  }
1063 
1070  virtual void set_tx_note(const std::string& tx_hash, const std::string& note) {
1071  throw std::runtime_error("set_tx_note() not supported");
1072  }
1073 
1080  virtual void set_tx_notes(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes) {
1081  throw std::runtime_error("set_tx_notes() not supported");
1082  }
1083 
1090  virtual std::vector<monero_address_book_entry> get_address_book_entries(const std::vector<uint64_t>& indices) const {
1091  throw std::runtime_error("get_address_book_entries() not supported");
1092  }
1093 
1101  virtual uint64_t add_address_book_entry(const std::string& address, const std::string& description) {
1102  throw std::runtime_error("add_address_book_entry() not supported");
1103  }
1104 
1114  virtual void edit_address_book_entry(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description) {
1115  throw std::runtime_error("edit_address_book_entry() not supported");
1116  }
1117 
1123  virtual void delete_address_book_entry(uint64_t index) {
1124  throw std::runtime_error("delete_address_book_entry() not supported");
1125  }
1126 
1133  virtual std::string create_payment_uri(const monero_tx_config& config) const {
1134  throw std::runtime_error("create_payment_uri() not supported");
1135  }
1136 
1143  virtual std::shared_ptr<monero_tx_config> parse_payment_uri(const std::string& uri) const {
1144  throw std::runtime_error("parse_payment_uri() not supported");
1145  }
1146 
1154  virtual bool get_attribute(const std::string& key, std::string& value) const {
1155  throw std::runtime_error("get_attribute() not supported");
1156  }
1157 
1164  virtual void set_attribute(const std::string& key, const std::string& val) {
1165  throw std::runtime_error("set_attribute() not supported");
1166  }
1167 
1175  virtual void start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery) {
1176  throw std::runtime_error("start_mining() not supported");
1177  }
1178 
1182  virtual void stop_mining() {
1183  throw std::runtime_error("stop_mining() not supported");
1184  }
1185 
1191  virtual uint64_t wait_for_next_block() {
1192  throw std::runtime_error("wait_for_next_block() not supported");
1193  }
1194 
1200  virtual bool is_multisig_import_needed() const {
1201  throw std::runtime_error("is_multisig_import_needed() not supported");
1202  }
1203 
1209  virtual bool is_multisig() const {
1210  return get_multisig_info().m_is_multisig;
1211  }
1212 
1219  throw std::runtime_error("get_multisig_info() not supported");
1220  }
1221 
1228  virtual std::string prepare_multisig() {
1229  throw std::runtime_error("prepare_multisig() not supported");
1230  }
1231 
1240  virtual monero_multisig_init_result make_multisig(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password) {
1241  throw std::runtime_error("make_multisig() not supported");
1242  }
1243 
1253  virtual monero_multisig_init_result exchange_multisig_keys(const std::vector<std::string>& mutisig_hexes, const std::string& password) {
1254  throw std::runtime_error("exchange_multisig_keys() not supported");
1255  }
1256 
1262  virtual std::string get_multisig_hex() {
1263  throw std::runtime_error("get_multisig_hex() not supported");
1264  }
1265 
1276  virtual int import_multisig_hex(const std::vector<std::string>& multisig_hexes) {
1277  throw std::runtime_error("import_multisig_hex() not supported");
1278  }
1279 
1286  virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string& multisig_tx_hex) {
1287  throw std::runtime_error("monero_multisig_sign_result() not supported");
1288  }
1289 
1296  virtual std::vector<std::string> submit_multisig_tx_hex(const std::string& signed_multisig_tx_hex) {
1297  throw std::runtime_error("submit_multisig_tx_hex() not supported");
1298  }
1299 
1303  virtual void save() {
1304  throw std::runtime_error("save() not supported");
1305  }
1306 
1313  virtual void move_to(std::string path, std::string password) {
1314  throw std::runtime_error("move_to() not supported");
1315  }
1316 
1322  virtual void close(bool save = false) {
1323  throw std::runtime_error("close() not supported");
1324  }
1325  };
1326 }
monero::monero_wallet::get_subaddresses
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx, const std::vector< uint32_t > &subaddress_indices) const
Definition: monero_wallet.h:650
monero::monero_wallet::get_tx_proof
virtual std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const
Definition: monero_wallet.h:970
monero::monero_wallet::exchange_multisig_keys
virtual monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &mutisig_hexes, const std::string &password)
Definition: monero_wallet.h:1253
monero::monero_wallet::import_key_images
virtual std::shared_ptr< monero_key_image_import_result > import_key_images(const std::vector< std::shared_ptr< monero_key_image >> &key_images)
Definition: monero_wallet.h:784
monero::monero_tx_set
Definition: monero_wallet_model.h:308
monero::monero_wallet::is_view_only
virtual bool is_view_only() const
Definition: monero_wallet.h:138
monero::monero_wallet::get_daemon_height
virtual uint64_t get_daemon_height() const
Definition: monero_wallet.h:372
monero::monero_wallet::get_network_type
virtual monero_network_type get_network_type() const
Definition: monero_wallet.h:230
monero::monero_wallet::get_balance
virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition: monero_wallet.h:528
monero::monero_wallet::create_txs
virtual std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config)
Definition: monero_wallet.h:807
monero
Definition: monero_daemon.cpp:58
monero::monero_wallet::import_multisig_hex
virtual int import_multisig_hex(const std::vector< std::string > &multisig_hexes)
Definition: monero_wallet.h:1276
monero::monero_wallet::sync
virtual monero_sync_result sync(uint64_t start_height)
Definition: monero_wallet.h:447
monero::monero_wallet::sweep_output
virtual std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config)
Definition: monero_wallet.h:827
monero::monero_wallet::check_reserve_proof
virtual std::shared_ptr< monero_check_reserve > check_reserve_proof(const std::string &address, const std::string &message, const std::string &signature) const
Definition: monero_wallet.h:1040
monero::monero_wallet::get_balance
virtual uint64_t get_balance(uint32_t account_idx) const
Definition: monero_wallet.h:517
monero::monero_wallet::get_sync_height
virtual uint64_t get_sync_height() const
Definition: monero_wallet.h:354
monero::monero_wallet::sync
virtual monero_sync_result sync()
Definition: monero_wallet.h:427
monero::monero_tx_query
Definition: monero_wallet_model.h:278
monero::monero_tx_wallet
Definition: monero_wallet_model.h:244
monero::monero_wallet::check_tx_key
virtual std::shared_ptr< monero_check_tx > check_tx_key(const std::string &tx_hash, const std::string &tx_key, const std::string &address) const
Definition: monero_wallet.h:958
monero::monero_wallet::create_subaddress
virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="")
Definition: monero_wallet.h:672
monero::monero_wallet::get_txs
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs(const monero_tx_query &query) const
Definition: monero_wallet.h:698
monero::monero_wallet::is_daemon_trusted
virtual bool is_daemon_trusted() const
Definition: monero_wallet.h:194
monero::monero_wallet::sweep_dust
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false)
Definition: monero_wallet.h:837
monero::monero_account
Definition: monero_wallet_model.h:96
monero::monero_multisig_info
Definition: monero_wallet_model.h:434
monero::monero_wallet::move_to
virtual void move_to(std::string path, std::string password)
Definition: monero_wallet.h:1313
monero::monero_wallet_listener
Definition: monero_wallet.h:71
monero::monero_message_signature_result
Definition: monero_wallet_model.h:392
monero::monero_wallet::get_account
virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const
Definition: monero_wallet.h:619
monero::monero_multisig_sign_result
Definition: monero_wallet_model.h:458
monero::monero_wallet::rescan_spent
virtual void rescan_spent()
Definition: monero_wallet.h:487
monero::monero_wallet::get_address
virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition: monero_wallet.h:304
monero::monero_wallet::is_multisig
virtual bool is_multisig() const
Definition: monero_wallet.h:1209
monero::monero_wallet::get_mnemonic_language
virtual std::string get_mnemonic_language() const
Definition: monero_wallet.h:248
monero::monero_wallet::get_height
virtual uint64_t get_height() const
Definition: monero_wallet.h:345
monero::monero_wallet::prepare_multisig
virtual std::string prepare_multisig()
Definition: monero_wallet.h:1228
monero::monero_wallet_listener::on_sync_progress
virtual void on_sync_progress(uint64_t height, uint64_t start_height, uint64_t end_height, double percent_done, const std::string &message)
Definition: monero_wallet.h:83
monero::monero_wallet::import_outputs_hex
virtual int import_outputs_hex(const std::string &outputs_hex)
Definition: monero_wallet.h:765
monero::monero_wallet::get_attribute
virtual bool get_attribute(const std::string &key, std::string &value) const
Definition: monero_wallet.h:1154
monero::monero_wallet::get_subaddress
virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition: monero_wallet.h:661
monero::monero_wallet::get_multisig_info
virtual monero_multisig_info get_multisig_info() const
Definition: monero_wallet.h:1218
monero::monero_wallet::is_multisig_import_needed
virtual bool is_multisig_import_needed() const
Definition: monero_wallet.h:1200
monero::monero_wallet::sign_txs
virtual std::string sign_txs(const std::string &unsigned_tx_hex)
Definition: monero_wallet.h:901
monero::monero_wallet::get_subaddresses
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx) const
Definition: monero_wallet.h:639
monero::monero_wallet::get_spend_proof
virtual std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const
Definition: monero_wallet.h:994
monero::monero_wallet::is_synced
virtual bool is_synced() const
Definition: monero_wallet.h:203
monero::monero_wallet::decode_integrated_address
virtual monero_integrated_address decode_integrated_address(const std::string &integrated_address) const
Definition: monero_wallet.h:336
monero::monero_wallet::get_outputs
virtual std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const
Definition: monero_wallet.h:746
monero::monero_wallet::get_outputs_hex
virtual std::string get_outputs_hex() const
Definition: monero_wallet.h:755
monero::monero_tx_config
Definition: monero_wallet_model.h:343
monero::monero_wallet_listener::on_output_received
virtual void on_output_received(const monero_output_wallet &output)
Definition: monero_wallet.h:105
monero::monero_wallet::sign_message
virtual std::string sign_message(const std::string &msg, monero_message_signature_type signature_type, uint32_t account_idx=0, uint32_t subaddress_idx=0) const
Definition: monero_wallet.h:924
monero::monero_wallet::get_private_spend_key
virtual std::string get_private_spend_key() const
Definition: monero_wallet.h:284
monero::monero_wallet::start_mining
virtual void start_mining(boost::optional< uint64_t > num_threads, boost::optional< bool > background_mining, boost::optional< bool > ignore_battery)
Definition: monero_wallet.h:1175
monero::monero_wallet::get_height_by_date
virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const
Definition: monero_wallet.h:393
monero::monero_wallet
Definition: monero_wallet.h:123
monero::monero_wallet::get_transfers
virtual std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const
Definition: monero_wallet.h:730
monero::monero_output_query
Definition: monero_wallet_model.h:225
monero::monero_subaddress
Definition: monero_wallet_model.h:79
monero::monero_wallet::get_accounts
virtual std::vector< monero_account > get_accounts(bool include_subaddresses, const std::string &tag) const
Definition: monero_wallet.h:598
monero::monero_wallet::set_tx_notes
virtual void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes)
Definition: monero_wallet.h:1080
monero::monero_network_type
monero_network_type
Definition: monero_daemon_model.h:90
monero::monero_wallet::stop_mining
virtual void stop_mining()
Definition: monero_wallet.h:1182
monero::monero_sync_result
Definition: monero_wallet_model.h:67
monero::monero_wallet::check_tx_proof
virtual 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
Definition: monero_wallet.h:983
monero::monero_wallet::relay_txs
virtual std::vector< std::string > relay_txs(const std::vector< std::shared_ptr< monero_tx_wallet >> &txs)
Definition: monero_wallet.h:869
monero::monero_wallet::get_tx_note
virtual std::string get_tx_note(const std::string &tx_hash) const
Definition: monero_wallet.h:1050
monero::monero_wallet::relay_tx
virtual std::string relay_tx(const monero_tx_wallet &tx)
Definition: monero_wallet.h:859
monero::monero_wallet::set_tx_note
virtual void set_tx_note(const std::string &tx_hash, const std::string &note)
Definition: monero_wallet.h:1070
monero::monero_wallet_listener::on_balances_changed
virtual void on_balances_changed(uint64_t new_balance, uint64_t new_unlocked_balance)
Definition: monero_wallet.h:98
monero::monero_wallet::get_unlocked_balance
virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition: monero_wallet.h:558
monero::monero_wallet::create_payment_uri
virtual std::string create_payment_uri(const monero_tx_config &config) const
Definition: monero_wallet.h:1133
monero::monero_wallet::sync
virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener &listener)
Definition: monero_wallet.h:458
monero::monero_wallet::sweep_unlocked
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config)
Definition: monero_wallet.h:817
monero::monero_wallet::set_attribute
virtual void set_attribute(const std::string &key, const std::string &val)
Definition: monero_wallet.h:1164
monero::monero_wallet::relay_tx
virtual std::string relay_tx(const std::string &tx_metadata)
Definition: monero_wallet.h:847
monero::monero_integrated_address
Definition: monero_wallet_model.h:322
monero::monero_wallet::submit_multisig_tx_hex
virtual std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex)
Definition: monero_wallet.h:1296
monero::monero_wallet_listener::on_output_spent
virtual void on_output_spent(const monero_output_wallet &output)
Definition: monero_wallet.h:112
monero::monero_wallet::get_tx_notes
virtual std::vector< std::string > get_tx_notes(const std::vector< std::string > &tx_hashes) const
Definition: monero_wallet.h:1060
monero::monero_wallet::get_version
virtual monero_version get_version() const
Definition: monero_wallet.h:212
monero::monero_wallet::get_private_view_key
virtual std::string get_private_view_key() const
Definition: monero_wallet.h:266
monero::monero_wallet::get_unlocked_balance
virtual uint64_t get_unlocked_balance(uint32_t account_idx) const
Definition: monero_wallet.h:547
monero::monero_wallet::make_multisig
virtual monero_multisig_init_result make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password)
Definition: monero_wallet.h:1240
monero::monero_wallet::get_primary_address
virtual std::string get_primary_address() const
Definition: monero_wallet.h:293
monero::monero_wallet::set_sync_height
virtual void set_sync_height(uint64_t sync_height)
Definition: monero_wallet.h:363
monero::monero_wallet::verify_message
virtual monero_message_signature_result verify_message(const std::string &msg, const std::string &address, const std::string &signature) const
Definition: monero_wallet.h:936
monero::monero_transfer_query
Definition: monero_wallet_model.h:183
monero::monero_wallet::get_accounts
virtual std::vector< monero_account > get_accounts(bool include_subaddresses) const
Definition: monero_wallet.h:577
monero::monero_wallet::delete_address_book_entry
virtual void delete_address_book_entry(uint64_t index)
Definition: monero_wallet.h:1123
monero::monero_wallet::get_address_book_entries
virtual std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const
Definition: monero_wallet.h:1090
monero::monero_wallet::stop_syncing
virtual void stop_syncing()
Definition: monero_wallet.h:474
monero::monero_wallet::parse_payment_uri
virtual std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const
Definition: monero_wallet.h:1143
monero::monero_wallet::get_unlocked_balance
virtual uint64_t get_unlocked_balance() const
Definition: monero_wallet.h:537
monero::monero_output_wallet
Definition: monero_wallet_model.h:205
monero::monero_wallet::get_path
virtual std::string get_path() const
Definition: monero_wallet.h:221
monero::monero_multisig_init_result
Definition: monero_wallet_model.h:448
monero::monero_wallet::get_multisig_hex
virtual std::string get_multisig_hex()
Definition: monero_wallet.h:1262
monero::monero_wallet::~monero_wallet
virtual ~monero_wallet()
Definition: monero_wallet.h:130
monero::monero_wallet::get_integrated_address
virtual monero_integrated_address get_integrated_address(const std::string &standard_address="", const std::string &payment_id="") const
Definition: monero_wallet.h:326
monero::monero_wallet::wait_for_next_block
virtual uint64_t wait_for_next_block()
Definition: monero_wallet.h:1191
monero::monero_wallet::get_txs
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs() const
Definition: monero_wallet.h:682
monero::monero_wallet::get_account
virtual monero_account get_account(uint32_t account_idx) const
Definition: monero_wallet.h:608
monero::monero_wallet::get_daemon_connection
virtual boost::optional< monero_rpc_connection > get_daemon_connection() const
Definition: monero_wallet.h:167
monero::monero_wallet::close
virtual void close(bool save=false)
Definition: monero_wallet.h:1322
monero::monero_wallet::get_accounts
virtual std::vector< monero_account > get_accounts() const
Definition: monero_wallet.h:567
monero::monero_wallet::edit_address_book_entry
virtual void edit_address_book_entry(uint64_t index, bool set_address, const std::string &address, bool set_description, const std::string &description)
Definition: monero_wallet.h:1114
monero::monero_wallet::set_daemon_connection
virtual void set_daemon_connection(const boost::optional< monero_rpc_connection > &connection)
Definition: monero_wallet.h:158
monero::monero_wallet::add_listener
virtual void add_listener(monero_wallet_listener &listener)
Definition: monero_wallet.h:402
monero::monero_wallet::get_address_index
virtual monero_subaddress get_address_index(const std::string &address) const
Definition: monero_wallet.h:315
monero::monero_wallet::check_spend_proof
virtual bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const
Definition: monero_wallet.h:1006
monero::monero_wallet::get_tx_key
virtual std::string get_tx_key(const std::string &tx_hash) const
Definition: monero_wallet.h:946
monero::monero_wallet::parse_tx_set
virtual monero_tx_set parse_tx_set(const monero_tx_set &tx_set)
Definition: monero_wallet.h:891
monero::monero_wallet::get_listeners
virtual std::set< monero_wallet_listener * > get_listeners()
Definition: monero_wallet.h:418
monero::monero_message_signature_type
monero_message_signature_type
Definition: monero_wallet_model.h:384
monero::monero_wallet::set_daemon_connection
virtual void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="")
Definition: monero_wallet.h:149
monero::monero_wallet::sync
virtual monero_sync_result sync(monero_wallet_listener &listener)
Definition: monero_wallet.h:437
monero::monero_wallet::get_reserve_proof_account
virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string &message) const
Definition: monero_wallet.h:1028
monero::monero_wallet::get_reserve_proof_wallet
virtual std::string get_reserve_proof_wallet(const std::string &message) const
Definition: monero_wallet.h:1016
monero::wallet2_listener
Definition: monero_wallet_full.cpp:674
monero::monero_wallet::save
virtual void save()
Definition: monero_wallet.h:1303
monero::monero_wallet::get_public_view_key
virtual std::string get_public_view_key() const
Definition: monero_wallet.h:257
monero::monero_wallet::get_mnemonic
virtual std::string get_mnemonic() const
Definition: monero_wallet.h:239
monero::monero_wallet::rescan_blockchain
virtual void rescan_blockchain()
Definition: monero_wallet.h:498
monero::monero_wallet::get_txs
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs(const monero_tx_query &query, std::vector< std::string > &missing_tx_hashes) const
Definition: monero_wallet.h:710
monero::monero_wallet::get_accounts
virtual std::vector< monero_account > get_accounts(const std::string &tag) const
Definition: monero_wallet.h:587
monero::monero_wallet::get_public_spend_key
virtual std::string get_public_spend_key() const
Definition: monero_wallet.h:275
monero::monero_wallet::is_daemon_synced
virtual bool is_daemon_synced() const
Definition: monero_wallet.h:185
monero::monero_wallet::sign_multisig_tx_hex
virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex)
Definition: monero_wallet.h:1286
monero::monero_wallet_listener::on_new_block
virtual void on_new_block(uint64_t height)
Definition: monero_wallet.h:90
monero::monero_wallet::get_daemon_max_peer_height
virtual uint64_t get_daemon_max_peer_height() const
Definition: monero_wallet.h:381
monero::monero_wallet::add_address_book_entry
virtual uint64_t add_address_book_entry(const std::string &address, const std::string &description)
Definition: monero_wallet.h:1101
monero::monero_wallet::is_connected
virtual bool is_connected() const
Definition: monero_wallet.h:176
monero::monero_wallet::get_balance
virtual uint64_t get_balance() const
Definition: monero_wallet.h:507
monero::monero_version
Definition: monero_daemon_model.h:99
monero::monero_wallet::submit_txs
virtual std::vector< std::string > submit_txs(const std::string &signed_tx_hex)
Definition: monero_wallet.h:911
monero::monero_wallet::start_syncing
virtual void start_syncing(uint64_t sync_period_in_ms=10000)
Definition: monero_wallet.h:467
monero::monero_wallet::create_tx
virtual std::shared_ptr< monero_tx_wallet > create_tx(const monero_tx_config &config)
Definition: monero_wallet.h:794
monero::monero_wallet::get_key_images
virtual std::vector< std::shared_ptr< monero_key_image > > get_key_images() const
Definition: monero_wallet.h:774
monero::monero_wallet::remove_listener
virtual void remove_listener(monero_wallet_listener &listener)
Definition: monero_wallet.h:411
monero::monero_wallet::create_account
virtual monero_account create_account(const std::string &label="")
Definition: monero_wallet.h:629
monero::monero_wallet::relay_txs
virtual std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas)
Definition: monero_wallet.h:881