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 
390  virtual void add_listener(monero_wallet_listener& listener) {
391  throw std::runtime_error("add_listener() not supported");
392  }
393 
399  virtual void remove_listener(monero_wallet_listener& listener) {
400  throw std::runtime_error("remove_listener() not supported");
401  }
402 
406  virtual std::set<monero_wallet_listener*> get_listeners() {
407  throw std::runtime_error("get_listeners() not supported");
408  }
409 
416  throw std::runtime_error("sync() not supported");
417  }
418 
426  throw std::runtime_error("sync() not supported");
427  }
428 
435  virtual monero_sync_result sync(uint64_t start_height) {
436  throw std::runtime_error("sync() not supported");
437  }
438 
446  virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener& listener) {
447  throw std::runtime_error("sync() not supported");
448  }
449 
453  virtual void start_syncing() {
454  throw std::runtime_error("start_syncing() not supported");
455  }
456 
460  virtual void stop_syncing() {
461  throw std::runtime_error("stop_syncing() not supported");
462  }
463 
473  virtual void rescan_spent() {
474  throw std::runtime_error("rescan_spent() not supported");
475  }
476 
484  virtual void rescan_blockchain() {
485  throw std::runtime_error("rescan_blockchain() not supported");
486  }
487 
493  virtual uint64_t get_balance() const {
494  throw std::runtime_error("get_balance() not supported");
495  }
496 
503  virtual uint64_t get_balance(uint32_t account_idx) const {
504  throw std::runtime_error("get_balance() not supported");
505  }
506 
514  virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
515  throw std::runtime_error("get_balance() not supported");
516  }
517 
523  virtual uint64_t get_unlocked_balance() const {
524  throw std::runtime_error("get_unlocked_balance() not supported");
525  }
526 
533  virtual uint64_t get_unlocked_balance(uint32_t account_idx) const {
534  throw std::runtime_error("get_unlocked_balance() not supported");
535  }
536 
544  virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
545  throw std::runtime_error("get_unlocked_balance() not supported");
546  }
547 
553  virtual std::vector<monero_account> get_accounts() const {
554  return get_accounts(false, std::string(""));
555  }
556 
563  virtual std::vector<monero_account> get_accounts(bool include_subaddresses) const {
564  return get_accounts(include_subaddresses, "");
565  }
566 
573  virtual std::vector<monero_account> get_accounts(const std::string& tag) const {
574  return get_accounts(false, tag);
575  }
576 
584  virtual std::vector<monero_account> get_accounts(bool include_subaddresses, const std::string& tag) const {
585  throw std::runtime_error("get_accounts() not supported");
586  }
587 
594  virtual monero_account get_account(uint32_t account_idx) const {
595  return get_account(account_idx, false);
596  }
597 
605  virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const {
606  throw std::runtime_error("get_account() not supported");
607  }
608 
615  virtual monero_account create_account(const std::string& label = "") {
616  throw std::runtime_error("create_account() not supported");
617  }
618 
625  virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx) const {
626  return get_subaddresses(account_idx, std::vector<uint32_t>());
627  }
628 
636  virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices) const {
637  throw std::runtime_error("get_subaddresses() not supported");
638  }
639 
647  virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const {
648  throw std::runtime_error("get_subaddress() not supported");
649  }
650 
658  virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string& label = "") {
659  throw std::runtime_error("create_subaddress() not supported");
660  }
661 
668  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs() const {
669  throw std::runtime_error("get_txs() not supported");
670  }
671 
684  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query) const {
685  throw std::runtime_error("get_txs(query) not supported");
686  }
687 
696  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query, std::vector<std::string>& missing_tx_hashes) const {
697  throw std::runtime_error("get_txs(query, missing_tx_hashes) not supported");
698  }
699 
716  virtual std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const {
717  throw std::runtime_error("get_transfers() not supported");
718  }
719 
732  virtual std::vector<std::shared_ptr<monero_output_wallet>> get_outputs(const monero_output_query& query) const {
733  throw std::runtime_error("get_outputs() not supported");
734  }
735 
741  virtual std::string get_outputs_hex() const {
742  throw std::runtime_error("get_outputs_hex() not supported");
743  }
744 
751  virtual int import_outputs_hex(const std::string& outputs_hex) {
752  throw std::runtime_error("import_outputs_hex() not supported");
753  }
754 
760  virtual std::vector<std::shared_ptr<monero_key_image>> get_key_images() const {
761  throw std::runtime_error("get_key_images() not supported");
762  }
763 
770  virtual std::shared_ptr<monero_key_image_import_result> import_key_images(const std::vector<std::shared_ptr<monero_key_image>>& key_images) {
771  throw std::runtime_error("import_key_images() not supported");
772  }
773 
780  virtual std::shared_ptr<monero_tx_wallet> create_tx(const monero_tx_config& config) {
781  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");
782  monero_tx_config config_copy = monero_tx_config(config);
783  config_copy.m_can_split = false;
784  return create_txs(config_copy)[0];
785  }
786 
793  virtual std::vector<std::shared_ptr<monero_tx_wallet>> create_txs(const monero_tx_config& config) {
794  throw std::runtime_error("create_txs() not supported");
795  }
796 
803  virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_unlocked(const monero_tx_config& config) {
804  throw std::runtime_error("sweep_unlocked() not supported");
805  }
806 
813  virtual std::shared_ptr<monero_tx_wallet> sweep_output(const monero_tx_config& config) {
814  throw std::runtime_error("sweep_output() not supported");
815  }
816 
823  virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_dust(bool relay = false) {
824  throw std::runtime_error("sweep_dust() not supported");
825  }
826 
833  virtual std::string relay_tx(const std::string& tx_metadata) {
834  std::vector<std::string> tx_metadatas;
835  tx_metadatas.push_back(tx_metadata);
836  return relay_txs(tx_metadatas)[0];
837  }
838 
845  virtual std::string relay_tx(const monero_tx_wallet& tx) {
846  return relay_tx(tx.m_metadata.get());
847  }
848 
855  virtual std::vector<std::string> relay_txs(const std::vector<std::shared_ptr<monero_tx_wallet>>& txs) {
856  std::vector<std::string> tx_hexes;
857  for (const std::shared_ptr<monero_tx_wallet>& tx : txs) tx_hexes.push_back(tx->m_metadata.get());
858  return relay_txs(tx_hexes);
859  }
860 
867  virtual std::vector<std::string> relay_txs(const std::vector<std::string>& tx_metadatas) {
868  throw std::runtime_error("relay_txs() not supported");
869  }
870 
877  virtual monero_tx_set parse_tx_set(const monero_tx_set& tx_set) {
878  throw std::runtime_error("parse_tx_set() not supported");
879  }
880 
887  virtual std::string sign_txs(const std::string& unsigned_tx_hex) {
888  throw std::runtime_error("sign_txs() not supported");
889  }
890 
897  virtual std::vector<std::string> submit_txs(const std::string& signed_tx_hex) {
898  throw std::runtime_error("submit_txs() not supported");
899  }
900 
907  virtual std::string sign_message(const std::string& msg) const {
908  throw std::runtime_error("sign_message() not supported");
909  }
910 
919  virtual bool verify_message(const std::string& msg, const std::string& address, const std::string& signature) const {
920  throw std::runtime_error("verify_message() not supported");
921  }
922 
929  virtual std::string get_tx_key(const std::string& tx_hash) const {
930  throw std::runtime_error("get_tx_key() not supported");
931  }
932 
941  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 {
942  throw std::runtime_error("check_tx_key() not supported");
943  }
944 
953  virtual std::string get_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message) const {
954  throw std::runtime_error("get_tx_proof() not supported");
955  }
956 
966  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 {
967  throw std::runtime_error("check_tx_proof() not supported");
968  }
969 
977  virtual std::string get_spend_proof(const std::string& tx_hash, const std::string& message) const {
978  throw std::runtime_error("get_spend_proof() not supported");
979  }
980 
989  virtual bool check_spend_proof(const std::string& tx_hash, const std::string& message, const std::string& signature) const {
990  throw std::runtime_error("check_spend_proof() not supported");
991  }
992 
999  virtual std::string get_reserve_proof_wallet(const std::string& message) const {
1000  throw std::runtime_error("get_reserve_proof_wallet() not supported");
1001  }
1002 
1011  virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string& message) const {
1012  throw std::runtime_error("get_reserve_proof_account() not supported");
1013  }
1014 
1023  virtual std::shared_ptr<monero_check_reserve> check_reserve_proof(const std::string& address, const std::string& message, const std::string& signature) const {
1024  throw std::runtime_error("check_reserve_proof() not supported");
1025  }
1026 
1033  virtual std::string get_tx_note(const std::string& tx_hash) const {
1034  throw std::runtime_error("get_tx_note() not supported");
1035  }
1036 
1043  virtual std::vector<std::string> get_tx_notes(const std::vector<std::string>& tx_hashes) const {
1044  throw std::runtime_error("get_tx_notes() not supported");
1045  }
1046 
1053  virtual void set_tx_note(const std::string& tx_hash, const std::string& note) {
1054  throw std::runtime_error("set_tx_note() not supported");
1055  }
1056 
1063  virtual void set_tx_notes(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes) {
1064  throw std::runtime_error("set_tx_notes() not supported");
1065  }
1066 
1073  virtual std::vector<monero_address_book_entry> get_address_book_entries(const std::vector<uint64_t>& indices) const {
1074  throw std::runtime_error("get_address_book_entries() not supported");
1075  }
1076 
1084  virtual uint64_t add_address_book_entry(const std::string& address, const std::string& description) {
1085  throw std::runtime_error("add_address_book_entry() not supported");
1086  }
1087 
1097  virtual void edit_address_book_entry(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description) {
1098  throw std::runtime_error("edit_address_book_entry() not supported");
1099  }
1100 
1106  virtual void delete_address_book_entry(uint64_t index) {
1107  throw std::runtime_error("delete_address_book_entry() not supported");
1108  }
1109 
1116  virtual std::string create_payment_uri(const monero_tx_config& config) const {
1117  throw std::runtime_error("create_payment_uri() not supported");
1118  }
1119 
1126  virtual std::shared_ptr<monero_tx_config> parse_payment_uri(const std::string& uri) const {
1127  throw std::runtime_error("parse_payment_uri() not supported");
1128  }
1129 
1137  virtual bool get_attribute(const std::string& key, std::string& value) const {
1138  throw std::runtime_error("get_attribute() not supported");
1139  }
1140 
1147  virtual void set_attribute(const std::string& key, const std::string& val) {
1148  throw std::runtime_error("set_attribute() not supported");
1149  }
1150 
1158  virtual void start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery) {
1159  throw std::runtime_error("start_mining() not supported");
1160  }
1161 
1165  virtual void stop_mining() {
1166  throw std::runtime_error("stop_mining() not supported");
1167  }
1168 
1174  virtual uint64_t wait_for_next_block() {
1175  throw std::runtime_error("wait_for_next_block() not supported");
1176  }
1177 
1183  virtual bool is_multisig_import_needed() const {
1184  throw std::runtime_error("is_multisig_import_needed() not supported");
1185  }
1186 
1187  // TODO: bool is_multisig()
1188 
1195  throw std::runtime_error("get_multisig_info() not supported");
1196  }
1197 
1204  virtual std::string prepare_multisig() {
1205  throw std::runtime_error("prepare_multisig() not supported");
1206  }
1207 
1216  virtual monero_multisig_init_result make_multisig(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password) {
1217  throw std::runtime_error("make_multisig() not supported");
1218  }
1219 
1229  virtual monero_multisig_init_result exchange_multisig_keys(const std::vector<std::string>& mutisig_hexes, const std::string& password) {
1230  throw std::runtime_error("exchange_multisig_keys() not supported");
1231  }
1232 
1238  virtual std::string get_multisig_hex() {
1239  throw std::runtime_error("get_multisig_hex() not supported");
1240  }
1241 
1252  virtual int import_multisig_hex(const std::vector<std::string>& multisig_hexes) {
1253  throw std::runtime_error("import_multisig_hex() not supported");
1254  }
1255 
1262  virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string& multisig_tx_hex) {
1263  throw std::runtime_error("monero_multisig_sign_result() not supported");
1264  }
1265 
1272  virtual std::vector<std::string> submit_multisig_tx_hex(const std::string& signed_multisig_tx_hex) {
1273  throw std::runtime_error("submit_multisig_tx_hex() not supported");
1274  }
1275 
1279  virtual void save() {
1280  throw std::runtime_error("save() not supported");
1281  }
1282 
1289  virtual void move_to(std::string path, std::string password) {
1290  throw std::runtime_error("move_to() not supported");
1291  }
1292 
1298  virtual void close(bool save = false) {
1299  throw std::runtime_error("close() not supported");
1300  }
1301  };
1302 }
Definition: monero_wallet_model.h:414
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:1097
Definition: monero_daemon.cpp:58
virtual void rescan_blockchain()
Definition: monero_wallet.h:484
virtual void add_listener(monero_wallet_listener &listener)
Definition: monero_wallet.h:390
virtual uint64_t get_daemon_max_peer_height() const
Definition: monero_wallet.h:381
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs(const monero_tx_query &query) const
Definition: monero_wallet.h:684
virtual monero_network_type get_network_type() const
Definition: monero_wallet.h:230
virtual int import_outputs_hex(const std::string &outputs_hex)
Definition: monero_wallet.h:751
Definition: monero_wallet.h:123
virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex)
Definition: monero_wallet.h:1262
virtual std::string get_primary_address() const
Definition: monero_wallet.h:293
virtual void close(bool save=false)
Definition: monero_wallet.h:1298
virtual monero_tx_set parse_tx_set(const monero_tx_set &tx_set)
Definition: monero_wallet.h:877
virtual std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const
Definition: monero_wallet.h:977
virtual bool is_connected() const
Definition: monero_wallet.h:176
virtual monero_sync_result sync(monero_wallet_listener &listener)
Definition: monero_wallet.h:425
virtual monero_multisig_init_result make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password)
Definition: monero_wallet.h:1216
Definition: monero_wallet_model.h:322
virtual std::string prepare_multisig()
Definition: monero_wallet.h:1204
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:770
virtual ~monero_wallet()
Definition: monero_wallet.h:130
virtual bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const
Definition: monero_wallet.h:989
virtual bool get_attribute(const std::string &key, std::string &value) const
Definition: monero_wallet.h:1137
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:966
virtual monero_version get_version() const
Definition: monero_wallet.h:212
virtual monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &mutisig_hexes, const std::string &password)
Definition: monero_wallet.h:1229
virtual void on_output_spent(const monero_output_wallet &output)
Definition: monero_wallet.h:112
virtual uint64_t get_unlocked_balance() const
Definition: monero_wallet.h:523
virtual std::string get_path() const
Definition: monero_wallet.h:221
Definition: monero_wallet.h:71
virtual std::vector< std::string > get_tx_notes(const std::vector< std::string > &tx_hashes) const
Definition: monero_wallet.h:1043
virtual std::vector< monero_account > get_accounts(bool include_subaddresses) const
Definition: monero_wallet.h:563
virtual std::string sign_txs(const std::string &unsigned_tx_hex)
Definition: monero_wallet.h:887
virtual uint64_t get_balance() const
Definition: monero_wallet.h:493
virtual std::vector< monero_account > get_accounts() const
Definition: monero_wallet.h:553
Definition: monero_wallet_model.h:428
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx, const std::vector< uint32_t > &subaddress_indices) const
Definition: monero_wallet.h:636
Definition: monero_wallet_model.h:278
virtual void start_mining(boost::optional< uint64_t > num_threads, boost::optional< bool > background_mining, boost::optional< bool > ignore_battery)
Definition: monero_wallet.h:1158
virtual std::string get_private_spend_key() const
Definition: monero_wallet.h:284
virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition: monero_wallet.h:514
virtual boost::optional< monero_rpc_connection > get_daemon_connection() const
Definition: monero_wallet.h:167
virtual std::string create_payment_uri(const monero_tx_config &config) const
Definition: monero_wallet.h:1116
virtual void stop_syncing()
Definition: monero_wallet.h:460
virtual uint64_t get_daemon_height() const
Definition: monero_wallet.h:372
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false)
Definition: monero_wallet.h:823
Definition: monero_wallet_model.h:438
virtual std::string get_outputs_hex() const
Definition: monero_wallet.h:741
virtual bool is_multisig_import_needed() const
Definition: monero_wallet.h:1183
virtual monero_integrated_address decode_integrated_address(const std::string &integrated_address) const
Definition: monero_wallet.h:336
Definition: monero_daemon_model.h:99
virtual void stop_mining()
Definition: monero_wallet.h:1165
virtual std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex)
Definition: monero_wallet.h:1272
Definition: monero_wallet_model.h:244
virtual void set_attribute(const std::string &key, const std::string &val)
Definition: monero_wallet.h:1147
virtual std::vector< monero_account > get_accounts(bool include_subaddresses, const std::string &tag) const
Definition: monero_wallet.h:584
virtual void start_syncing()
Definition: monero_wallet.h:453
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:941
virtual std::vector< std::string > relay_txs(const std::vector< std::shared_ptr< monero_tx_wallet >> &txs)
Definition: monero_wallet.h:855
virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition: monero_wallet.h:304
virtual void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="")
Definition: monero_wallet.h:149
virtual std::string relay_tx(const monero_tx_wallet &tx)
Definition: monero_wallet.h:845
virtual std::string relay_tx(const std::string &tx_metadata)
Definition: monero_wallet.h:833
virtual std::string get_tx_key(const std::string &tx_hash) const
Definition: monero_wallet.h:929
virtual std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const
Definition: monero_wallet.h:1126
virtual std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const
Definition: monero_wallet.h:732
virtual std::string get_tx_note(const std::string &tx_hash) const
Definition: monero_wallet.h:1033
virtual void set_tx_note(const std::string &tx_hash, const std::string &note)
Definition: monero_wallet.h:1053
virtual std::string sign_message(const std::string &msg) const
Definition: monero_wallet.h:907
Definition: monero_wallet_model.h:67
virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string &message) const
Definition: monero_wallet.h:1011
Definition: monero_wallet_model.h:308
virtual monero_integrated_address get_integrated_address(const std::string &standard_address="", const std::string &payment_id="") const
Definition: monero_wallet.h:326
virtual monero_subaddress get_address_index(const std::string &address) const
Definition: monero_wallet.h:315
virtual std::string get_private_view_key() const
Definition: monero_wallet.h:266
virtual std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const
Definition: monero_wallet.h:716
virtual void set_sync_height(uint64_t sync_height)
Definition: monero_wallet.h:363
virtual void on_output_received(const monero_output_wallet &output)
Definition: monero_wallet.h:105
virtual monero_account create_account(const std::string &label="")
Definition: monero_wallet.h:615
virtual std::string get_multisig_hex()
Definition: monero_wallet.h:1238
virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition: monero_wallet.h:544
virtual std::vector< std::string > submit_txs(const std::string &signed_tx_hex)
Definition: monero_wallet.h:897
virtual std::string get_public_view_key() const
Definition: monero_wallet.h:257
virtual uint64_t add_address_book_entry(const std::string &address, const std::string &description)
Definition: monero_wallet.h:1084
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:696
Definition: monero_wallet_model.h:225
virtual std::vector< std::shared_ptr< monero_key_image > > get_key_images() const
Definition: monero_wallet.h:760
virtual void on_new_block(uint64_t height)
Definition: monero_wallet.h:90
virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const
Definition: monero_wallet.h:605
virtual std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const
Definition: monero_wallet.h:953
Definition: monero_wallet_model.h:96
virtual void save()
Definition: monero_wallet.h:1279
virtual std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config)
Definition: monero_wallet.h:813
virtual std::string get_reserve_proof_wallet(const std::string &message) const
Definition: monero_wallet.h:999
virtual std::string get_public_spend_key() const
Definition: monero_wallet.h:275
Definition: monero_wallet_model.h:79
virtual bool is_synced() const
Definition: monero_wallet.h:203
virtual void on_balances_changed(uint64_t new_balance, uint64_t new_unlocked_balance)
Definition: monero_wallet.h:98
virtual std::shared_ptr< monero_tx_wallet > create_tx(const monero_tx_config &config)
Definition: monero_wallet.h:780
virtual bool is_daemon_trusted() const
Definition: monero_wallet.h:194
virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="")
Definition: monero_wallet.h:658
Definition: monero_wallet_model.h:205
virtual void rescan_spent()
Definition: monero_wallet.h:473
virtual void set_daemon_connection(const boost::optional< monero_rpc_connection > &connection)
Definition: monero_wallet.h:158
virtual monero_multisig_info get_multisig_info()
Definition: monero_wallet.h:1194
virtual uint64_t get_balance(uint32_t account_idx) const
Definition: monero_wallet.h:503
virtual std::string get_mnemonic_language() const
Definition: monero_wallet.h:248
Definition: monero_wallet_model.h:183
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx) const
Definition: monero_wallet.h:625
virtual monero_sync_result sync(uint64_t start_height)
Definition: monero_wallet.h:435
virtual uint64_t wait_for_next_block()
Definition: monero_wallet.h:1174
virtual void delete_address_book_entry(uint64_t index)
Definition: monero_wallet.h:1106
virtual bool is_view_only() const
Definition: monero_wallet.h:138
virtual uint64_t get_unlocked_balance(uint32_t account_idx) const
Definition: monero_wallet.h:533
monero_network_type
Definition: monero_daemon_model.h:90
virtual uint64_t get_sync_height() const
Definition: monero_wallet.h:354
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config)
Definition: monero_wallet.h:803
virtual monero_sync_result sync()
Definition: monero_wallet.h:415
virtual void remove_listener(monero_wallet_listener &listener)
Definition: monero_wallet.h:399
virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition: monero_wallet.h:647
virtual void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes)
Definition: monero_wallet.h:1063
virtual std::vector< monero_account > get_accounts(const std::string &tag) const
Definition: monero_wallet.h:573
virtual int import_multisig_hex(const std::vector< std::string > &multisig_hexes)
Definition: monero_wallet.h:1252
virtual void move_to(std::string path, std::string password)
Definition: monero_wallet.h:1289
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:1023
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
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs() const
Definition: monero_wallet.h:668
virtual std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const
Definition: monero_wallet.h:1073
virtual bool is_daemon_synced() const
Definition: monero_wallet.h:185
virtual std::string get_mnemonic() const
Definition: monero_wallet.h:239
virtual uint64_t get_height() const
Definition: monero_wallet.h:345
virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener &listener)
Definition: monero_wallet.h:446
virtual std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas)
Definition: monero_wallet.h:867
virtual std::set< monero_wallet_listener * > get_listeners()
Definition: monero_wallet.h:406
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:793
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:919
virtual monero_account get_account(uint32_t account_idx) const
Definition: monero_wallet.h:594