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 
97  virtual void on_output_received(const monero_output_wallet& output) {};
98 
104  virtual void on_output_spent(const monero_output_wallet& output) {};
105  };
106 
107  // forward declaration of internal wallet2 listener
108  struct wallet2_listener;
109 
110  // ----------------------------- WALLET METHODS -----------------------------
111 
116 
117  public:
118 
122  virtual ~monero_wallet() {}
123 
130  virtual bool is_view_only() const {
131  throw std::runtime_error("is_view_only() not supported");
132  }
133 
141  virtual void set_daemon_connection(const std::string& uri, const std::string& username = "", const std::string& password = "") {
142  throw std::runtime_error("set_daemon_connection() not supported");
143  }
144 
150  virtual void set_daemon_connection(const boost::optional<monero_rpc_connection>& connection) {
151  throw std::runtime_error("set_daemon_connection() not supported");
152  }
153 
159  virtual boost::optional<monero_rpc_connection> get_daemon_connection() const {
160  throw std::runtime_error("get_daemon_connection() not supported");
161  }
162 
168  virtual bool is_connected() const {
169  throw std::runtime_error("is_connected() not supported");
170  }
171 
177  virtual bool is_daemon_synced() const {
178  throw std::runtime_error("is_daemon_synced() not supported");
179  }
180 
186  virtual bool is_daemon_trusted() const {
187  throw std::runtime_error("is_daemon_trusted() not supported");
188  }
189 
195  virtual bool is_synced() const {
196  throw std::runtime_error("is_synced() not supported");
197  }
198 
204  virtual monero_version get_version() const {
205  throw std::runtime_error("get_version() not supported");
206  }
207 
213  virtual std::string get_path() const {
214  throw std::runtime_error("get_path() not supported");
215  }
216 
223  throw std::runtime_error("get_network_type() not supported");
224  }
225 
231  virtual std::string get_mnemonic() const {
232  throw std::runtime_error("get_mnemonic() not supported");
233  }
234 
240  virtual std::string get_mnemonic_language() const {
241  throw std::runtime_error("get_mnemonic_language() not supported");
242  }
243 
249  virtual std::string get_public_view_key() const {
250  throw std::runtime_error("get_public_view_key() not supported");
251  }
252 
258  virtual std::string get_private_view_key() const {
259  throw std::runtime_error("get_private_view_key() not supported");
260  }
261 
267  virtual std::string get_public_spend_key() const {
268  throw std::runtime_error("get_public_spend_key() not supported");
269  }
270 
276  virtual std::string get_private_spend_key() const {
277  throw std::runtime_error("get_private_spend_key() not supported");
278  }
279 
285  virtual std::string get_primary_address() const {
286  return get_address(0, 0);
287  }
288 
296  virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const {
297  throw std::runtime_error("get_address() not supported");
298  }
299 
307  virtual monero_subaddress get_address_index(const std::string& address) const {
308  throw std::runtime_error("get_address_index() not supported");
309  }
310 
318  virtual monero_integrated_address get_integrated_address(const std::string& standard_address = "", const std::string& payment_id = "") const {
319  throw std::runtime_error("get_integrated_address() not supported");
320  }
321 
328  virtual monero_integrated_address decode_integrated_address(const std::string& integrated_address) const {
329  throw std::runtime_error("decode_integrated_address() not supported");
330  }
331 
337  virtual uint64_t get_height() const {
338  throw std::runtime_error("get_height() not supported");
339  }
340 
346  virtual uint64_t get_sync_height() const {
347  throw std::runtime_error("get_sync_height() not supported");
348  }
349 
355  virtual void set_sync_height(uint64_t sync_height) {
356  throw std::runtime_error("set_sync_height() not supported");
357  }
358 
364  virtual uint64_t get_daemon_height() const {
365  throw std::runtime_error("get_daemon_height() not supported");
366  }
367 
373  virtual uint64_t get_daemon_max_peer_height() const {
374  throw std::runtime_error("get_daemon_max_peer_height() not supported");
375  }
376 
382  virtual void add_listener(monero_wallet_listener& listener) {
383  throw std::runtime_error("add_listener() not supported");
384  }
385 
391  virtual void remove_listener(monero_wallet_listener& listener) {
392  throw std::runtime_error("remove_listener() not supported");
393  }
394 
398  virtual std::set<monero_wallet_listener*> get_listeners() {
399  throw std::runtime_error("get_listeners() not supported");
400  }
401 
408  throw std::runtime_error("sync() not supported");
409  }
410 
418  throw std::runtime_error("sync() not supported");
419  }
420 
427  virtual monero_sync_result sync(uint64_t start_height) {
428  throw std::runtime_error("sync() not supported");
429  }
430 
438  virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener& listener) {
439  throw std::runtime_error("sync() not supported");
440  }
441 
445  virtual void start_syncing() {
446  throw std::runtime_error("start_syncing() not supported");
447  }
448 
452  virtual void stop_syncing() {
453  throw std::runtime_error("stop_syncing() not supported");
454  }
455 
465  virtual void rescan_spent() {
466  throw std::runtime_error("rescan_spent() not supported");
467  }
468 
476  virtual void rescan_blockchain() {
477  throw std::runtime_error("rescan_blockchain() not supported");
478  }
479 
485  virtual uint64_t get_balance() const {
486  throw std::runtime_error("get_balance() not supported");
487  }
488 
495  virtual uint64_t get_balance(uint32_t account_idx) const {
496  throw std::runtime_error("get_balance() not supported");
497  }
498 
506  virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
507  throw std::runtime_error("get_balance() not supported");
508  }
509 
515  virtual uint64_t get_unlocked_balance() const {
516  throw std::runtime_error("get_unlocked_balance() not supported");
517  }
518 
525  virtual uint64_t get_unlocked_balance(uint32_t account_idx) const {
526  throw std::runtime_error("get_unlocked_balance() not supported");
527  }
528 
536  virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
537  throw std::runtime_error("get_unlocked_balance() not supported");
538  }
539 
545  virtual std::vector<monero_account> get_accounts() const {
546  return get_accounts(false, std::string(""));
547  }
548 
555  virtual std::vector<monero_account> get_accounts(bool include_subaddresses) const {
556  return get_accounts(include_subaddresses, "");
557  }
558 
565  virtual std::vector<monero_account> get_accounts(const std::string& tag) const {
566  return get_accounts(false, tag);
567  }
568 
576  virtual std::vector<monero_account> get_accounts(bool include_subaddresses, const std::string& tag) const {
577  throw std::runtime_error("get_accounts() not supported");
578  }
579 
586  virtual monero_account get_account(uint32_t account_idx) const {
587  return get_account(account_idx, false);
588  }
589 
597  virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const {
598  throw std::runtime_error("get_account() not supported");
599  }
600 
607  virtual monero_account create_account(const std::string& label = "") {
608  throw std::runtime_error("create_account() not supported");
609  }
610 
617  virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx) const {
618  return get_subaddresses(account_idx, std::vector<uint32_t>());
619  }
620 
628  virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices) const {
629  throw std::runtime_error("get_subaddresses() not supported");
630  }
631 
639  virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const {
640  throw std::runtime_error("get_subaddress() not supported");
641  }
642 
650  virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string& label = "") {
651  throw std::runtime_error("create_subaddress() not supported");
652  }
653 
660  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs() const {
661  throw std::runtime_error("get_txs() not supported");
662  }
663 
676  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query) const {
677  throw std::runtime_error("get_txs(query) not supported");
678  }
679 
688  virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query, std::vector<std::string>& missing_tx_hashes) const {
689  throw std::runtime_error("get_txs(query, missing_tx_hashes) not supported");
690  }
691 
708  virtual std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const {
709  throw std::runtime_error("get_transfers() not supported");
710  }
711 
724  virtual std::vector<std::shared_ptr<monero_output_wallet>> get_outputs(const monero_output_query& query) const {
725  throw std::runtime_error("get_outputs() not supported");
726  }
727 
733  virtual std::string get_outputs_hex() const {
734  throw std::runtime_error("get_outputs_hex() not supported");
735  }
736 
743  virtual int import_outputs_hex(const std::string& outputs_hex) {
744  throw std::runtime_error("import_outputs_hex() not supported");
745  }
746 
752  virtual std::vector<std::shared_ptr<monero_key_image>> get_key_images() const {
753  throw std::runtime_error("get_key_images() not supported");
754  }
755 
762  virtual std::shared_ptr<monero_key_image_import_result> import_key_images(const std::vector<std::shared_ptr<monero_key_image>>& key_images) {
763  throw std::runtime_error("import_key_images() not supported");
764  }
765 
772  virtual std::shared_ptr<monero_tx_wallet> create_tx(const monero_tx_config& config) {
773  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");
774  monero_tx_config config_copy = monero_tx_config(config);
775  config_copy.m_can_split = false;
776  return create_txs(config_copy)[0];
777  }
778 
785  virtual std::vector<std::shared_ptr<monero_tx_wallet>> create_txs(const monero_tx_config& config) {
786  throw std::runtime_error("create_txs() not supported");
787  }
788 
795  virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_unlocked(const monero_tx_config& config) {
796  throw std::runtime_error("sweep_unlocked() not supported");
797  }
798 
805  virtual std::shared_ptr<monero_tx_wallet> sweep_output(const monero_tx_config& config) {
806  throw std::runtime_error("sweep_output() not supported");
807  }
808 
815  virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_dust(bool relay = false) {
816  throw std::runtime_error("sweep_dust() not supported");
817  }
818 
825  virtual std::string relay_tx(const std::string& tx_metadata) {
826  std::vector<std::string> tx_metadatas;
827  tx_metadatas.push_back(tx_metadata);
828  return relay_txs(tx_metadatas)[0];
829  }
830 
837  virtual std::string relay_tx(const monero_tx_wallet& tx) {
838  return relay_tx(tx.m_metadata.get());
839  }
840 
847  virtual std::vector<std::string> relay_txs(const std::vector<std::shared_ptr<monero_tx_wallet>>& txs) {
848  std::vector<std::string> tx_hexes;
849  for (const std::shared_ptr<monero_tx_wallet>& tx : txs) tx_hexes.push_back(tx->m_metadata.get());
850  return relay_txs(tx_hexes);
851  }
852 
859  virtual std::vector<std::string> relay_txs(const std::vector<std::string>& tx_metadatas) {
860  throw std::runtime_error("relay_txs() not supported");
861  }
862 
869  virtual monero_tx_set parse_tx_set(const monero_tx_set& tx_set) {
870  throw std::runtime_error("parse_tx_set() not supported");
871  }
872 
879  virtual std::string sign_txs(const std::string& unsigned_tx_hex) {
880  throw std::runtime_error("sign_txs() not supported");
881  }
882 
889  virtual std::vector<std::string> submit_txs(const std::string& signed_tx_hex) {
890  throw std::runtime_error("submit_txs() not supported");
891  }
892 
899  virtual std::string sign_message(const std::string& msg) const {
900  throw std::runtime_error("sign_message() not supported");
901  }
902 
911  virtual bool verify_message(const std::string& msg, const std::string& address, const std::string& signature) const {
912  throw std::runtime_error("verify_message() not supported");
913  }
914 
921  virtual std::string get_tx_key(const std::string& tx_hash) const {
922  throw std::runtime_error("get_tx_key() not supported");
923  }
924 
933  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 {
934  throw std::runtime_error("check_tx_key() not supported");
935  }
936 
945  virtual std::string get_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message) const {
946  throw std::runtime_error("get_tx_proof() not supported");
947  }
948 
958  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 {
959  throw std::runtime_error("check_tx_proof() not supported");
960  }
961 
969  virtual std::string get_spend_proof(const std::string& tx_hash, const std::string& message) const {
970  throw std::runtime_error("get_spend_proof() not supported");
971  }
972 
981  virtual bool check_spend_proof(const std::string& tx_hash, const std::string& message, const std::string& signature) const {
982  throw std::runtime_error("check_spend_proof() not supported");
983  }
984 
991  virtual std::string get_reserve_proof_wallet(const std::string& message) const {
992  throw std::runtime_error("get_reserve_proof_wallet() not supported");
993  }
994 
1003  virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string& message) const {
1004  throw std::runtime_error("get_reserve_proof_account() not supported");
1005  }
1006 
1015  virtual std::shared_ptr<monero_check_reserve> check_reserve_proof(const std::string& address, const std::string& message, const std::string& signature) const {
1016  throw std::runtime_error("check_reserve_proof() not supported");
1017  }
1018 
1025  virtual std::string get_tx_note(const std::string& tx_hash) const {
1026  throw std::runtime_error("get_tx_note() not supported");
1027  }
1028 
1035  virtual std::vector<std::string> get_tx_notes(const std::vector<std::string>& tx_hashes) const {
1036  throw std::runtime_error("get_tx_notes() not supported");
1037  }
1038 
1045  virtual void set_tx_note(const std::string& tx_hash, const std::string& note) {
1046  throw std::runtime_error("set_tx_note() not supported");
1047  }
1048 
1055  virtual void set_tx_notes(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes) {
1056  throw std::runtime_error("set_tx_notes() not supported");
1057  }
1058 
1065  virtual std::vector<monero_address_book_entry> get_address_book_entries(const std::vector<uint64_t>& indices) const {
1066  throw std::runtime_error("get_address_book_entries() not supported");
1067  }
1068 
1076  virtual uint64_t add_address_book_entry(const std::string& address, const std::string& description) {
1077  throw std::runtime_error("add_address_book_entry() not supported");
1078  }
1079 
1089  virtual void edit_address_book_entry(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description) {
1090  throw std::runtime_error("edit_address_book_entry() not supported");
1091  }
1092 
1098  virtual void delete_address_book_entry(uint64_t index) {
1099  throw std::runtime_error("delete_address_book_entry() not supported");
1100  }
1101 
1108  virtual std::string create_payment_uri(const monero_tx_config& config) const {
1109  throw std::runtime_error("create_payment_uri() not supported");
1110  }
1111 
1118  virtual std::shared_ptr<monero_tx_config> parse_payment_uri(const std::string& uri) const {
1119  throw std::runtime_error("parse_payment_uri() not supported");
1120  }
1121 
1129  virtual bool get_attribute(const std::string& key, std::string& value) const {
1130  throw std::runtime_error("get_attribute() not supported");
1131  }
1132 
1139  virtual void set_attribute(const std::string& key, const std::string& val) {
1140  throw std::runtime_error("set_attribute() not supported");
1141  }
1142 
1150  virtual void start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery) {
1151  throw std::runtime_error("start_mining() not supported");
1152  }
1153 
1157  virtual void stop_mining() {
1158  throw std::runtime_error("stop_mining() not supported");
1159  }
1160 
1166  virtual uint64_t wait_for_next_block() {
1167  throw std::runtime_error("wait_for_next_block() not supported");
1168  }
1169 
1175  virtual bool is_multisig_import_needed() const {
1176  throw std::runtime_error("is_multisig_import_needed() not supported");
1177  }
1178 
1179  // TODO: bool is_multisig()
1180 
1187  throw std::runtime_error("get_multisig_info() not supported");
1188  }
1189 
1196  virtual std::string prepare_multisig() {
1197  throw std::runtime_error("prepare_multisig() not supported");
1198  }
1199 
1208  virtual monero_multisig_init_result make_multisig(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password) {
1209  throw std::runtime_error("make_multisig() not supported");
1210  }
1211 
1221  virtual monero_multisig_init_result exchange_multisig_keys(const std::vector<std::string>& mutisig_hexes, const std::string& password) {
1222  throw std::runtime_error("exchange_multisig_keys() not supported");
1223  }
1224 
1230  virtual std::string get_multisig_hex() {
1231  throw std::runtime_error("get_multisig_hex() not supported");
1232  }
1233 
1244  virtual int import_multisig_hex(const std::vector<std::string>& multisig_hexes) {
1245  throw std::runtime_error("import_multisig_hex() not supported");
1246  }
1247 
1254  virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string& multisig_tx_hex) {
1255  throw std::runtime_error("monero_multisig_sign_result() not supported");
1256  }
1257 
1264  virtual std::vector<std::string> submit_multisig_tx_hex(const std::string& signed_multisig_tx_hex) {
1265  throw std::runtime_error("submit_multisig_tx_hex() not supported");
1266  }
1267 
1271  virtual void save() {
1272  throw std::runtime_error("save() not supported");
1273  }
1274 
1281  virtual void move_to(std::string path, std::string password) {
1282  throw std::runtime_error("move_to() not supported");
1283  }
1284 
1290  virtual void close(bool save = false) {
1291  throw std::runtime_error("close() not supported");
1292  }
1293  };
1294 }
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:1089
Definition: monero_daemon.cpp:58
virtual void rescan_blockchain()
Definition: monero_wallet.h:476
virtual void add_listener(monero_wallet_listener &listener)
Definition: monero_wallet.h:382
virtual uint64_t get_daemon_max_peer_height() const
Definition: monero_wallet.h:373
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs(const monero_tx_query &query) const
Definition: monero_wallet.h:676
virtual monero_network_type get_network_type() const
Definition: monero_wallet.h:222
virtual int import_outputs_hex(const std::string &outputs_hex)
Definition: monero_wallet.h:743
Definition: monero_wallet.h:115
virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex)
Definition: monero_wallet.h:1254
virtual std::string get_primary_address() const
Definition: monero_wallet.h:285
virtual void close(bool save=false)
Definition: monero_wallet.h:1290
virtual monero_tx_set parse_tx_set(const monero_tx_set &tx_set)
Definition: monero_wallet.h:869
virtual std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const
Definition: monero_wallet.h:969
virtual bool is_connected() const
Definition: monero_wallet.h:168
virtual monero_sync_result sync(monero_wallet_listener &listener)
Definition: monero_wallet.h:417
virtual monero_multisig_init_result make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password)
Definition: monero_wallet.h:1208
Definition: monero_wallet_model.h:322
virtual std::string prepare_multisig()
Definition: monero_wallet.h:1196
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:762
virtual ~monero_wallet()
Definition: monero_wallet.h:122
virtual bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const
Definition: monero_wallet.h:981
virtual bool get_attribute(const std::string &key, std::string &value) const
Definition: monero_wallet.h:1129
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:958
virtual monero_version get_version() const
Definition: monero_wallet.h:204
virtual monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &mutisig_hexes, const std::string &password)
Definition: monero_wallet.h:1221
virtual void on_output_spent(const monero_output_wallet &output)
Definition: monero_wallet.h:104
virtual uint64_t get_unlocked_balance() const
Definition: monero_wallet.h:515
virtual std::string get_path() const
Definition: monero_wallet.h:213
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:1035
virtual std::vector< monero_account > get_accounts(bool include_subaddresses) const
Definition: monero_wallet.h:555
virtual std::string sign_txs(const std::string &unsigned_tx_hex)
Definition: monero_wallet.h:879
virtual uint64_t get_balance() const
Definition: monero_wallet.h:485
virtual std::vector< monero_account > get_accounts() const
Definition: monero_wallet.h:545
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:628
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:1150
virtual std::string get_private_spend_key() const
Definition: monero_wallet.h:276
virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition: monero_wallet.h:506
virtual boost::optional< monero_rpc_connection > get_daemon_connection() const
Definition: monero_wallet.h:159
virtual std::string create_payment_uri(const monero_tx_config &config) const
Definition: monero_wallet.h:1108
virtual void stop_syncing()
Definition: monero_wallet.h:452
virtual uint64_t get_daemon_height() const
Definition: monero_wallet.h:364
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false)
Definition: monero_wallet.h:815
Definition: monero_wallet_model.h:438
virtual std::string get_outputs_hex() const
Definition: monero_wallet.h:733
virtual bool is_multisig_import_needed() const
Definition: monero_wallet.h:1175
virtual monero_integrated_address decode_integrated_address(const std::string &integrated_address) const
Definition: monero_wallet.h:328
Definition: monero_daemon_model.h:99
virtual void stop_mining()
Definition: monero_wallet.h:1157
virtual std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex)
Definition: monero_wallet.h:1264
Definition: monero_wallet_model.h:244
virtual void set_attribute(const std::string &key, const std::string &val)
Definition: monero_wallet.h:1139
virtual std::vector< monero_account > get_accounts(bool include_subaddresses, const std::string &tag) const
Definition: monero_wallet.h:576
virtual void start_syncing()
Definition: monero_wallet.h:445
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:933
virtual std::vector< std::string > relay_txs(const std::vector< std::shared_ptr< monero_tx_wallet >> &txs)
Definition: monero_wallet.h:847
virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition: monero_wallet.h:296
virtual void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="")
Definition: monero_wallet.h:141
virtual std::string relay_tx(const monero_tx_wallet &tx)
Definition: monero_wallet.h:837
virtual std::string relay_tx(const std::string &tx_metadata)
Definition: monero_wallet.h:825
virtual std::string get_tx_key(const std::string &tx_hash) const
Definition: monero_wallet.h:921
virtual std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const
Definition: monero_wallet.h:1118
virtual std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const
Definition: monero_wallet.h:724
virtual std::string get_tx_note(const std::string &tx_hash) const
Definition: monero_wallet.h:1025
virtual void set_tx_note(const std::string &tx_hash, const std::string &note)
Definition: monero_wallet.h:1045
virtual std::string sign_message(const std::string &msg) const
Definition: monero_wallet.h:899
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:1003
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:318
virtual monero_subaddress get_address_index(const std::string &address) const
Definition: monero_wallet.h:307
virtual std::string get_private_view_key() const
Definition: monero_wallet.h:258
virtual std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const
Definition: monero_wallet.h:708
virtual void set_sync_height(uint64_t sync_height)
Definition: monero_wallet.h:355
virtual void on_output_received(const monero_output_wallet &output)
Definition: monero_wallet.h:97
virtual monero_account create_account(const std::string &label="")
Definition: monero_wallet.h:607
virtual std::string get_multisig_hex()
Definition: monero_wallet.h:1230
virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition: monero_wallet.h:536
virtual std::vector< std::string > submit_txs(const std::string &signed_tx_hex)
Definition: monero_wallet.h:889
virtual std::string get_public_view_key() const
Definition: monero_wallet.h:249
virtual uint64_t add_address_book_entry(const std::string &address, const std::string &description)
Definition: monero_wallet.h:1076
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:688
Definition: monero_wallet_model.h:225
virtual std::vector< std::shared_ptr< monero_key_image > > get_key_images() const
Definition: monero_wallet.h:752
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:597
virtual std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const
Definition: monero_wallet.h:945
Definition: monero_wallet_model.h:96
virtual void save()
Definition: monero_wallet.h:1271
virtual std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config)
Definition: monero_wallet.h:805
virtual std::string get_reserve_proof_wallet(const std::string &message) const
Definition: monero_wallet.h:991
virtual std::string get_public_spend_key() const
Definition: monero_wallet.h:267
Definition: monero_wallet_model.h:79
virtual bool is_synced() const
Definition: monero_wallet.h:195
virtual std::shared_ptr< monero_tx_wallet > create_tx(const monero_tx_config &config)
Definition: monero_wallet.h:772
virtual bool is_daemon_trusted() const
Definition: monero_wallet.h:186
virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="")
Definition: monero_wallet.h:650
Definition: monero_wallet_model.h:205
virtual void rescan_spent()
Definition: monero_wallet.h:465
virtual void set_daemon_connection(const boost::optional< monero_rpc_connection > &connection)
Definition: monero_wallet.h:150
virtual monero_multisig_info get_multisig_info()
Definition: monero_wallet.h:1186
virtual uint64_t get_balance(uint32_t account_idx) const
Definition: monero_wallet.h:495
virtual std::string get_mnemonic_language() const
Definition: monero_wallet.h:240
Definition: monero_wallet_model.h:183
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx) const
Definition: monero_wallet.h:617
virtual monero_sync_result sync(uint64_t start_height)
Definition: monero_wallet.h:427
virtual uint64_t wait_for_next_block()
Definition: monero_wallet.h:1166
virtual void delete_address_book_entry(uint64_t index)
Definition: monero_wallet.h:1098
virtual bool is_view_only() const
Definition: monero_wallet.h:130
virtual uint64_t get_unlocked_balance(uint32_t account_idx) const
Definition: monero_wallet.h:525
monero_network_type
Definition: monero_daemon_model.h:90
virtual uint64_t get_sync_height() const
Definition: monero_wallet.h:346
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config)
Definition: monero_wallet.h:795
virtual monero_sync_result sync()
Definition: monero_wallet.h:407
virtual void remove_listener(monero_wallet_listener &listener)
Definition: monero_wallet.h:391
virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition: monero_wallet.h:639
virtual void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes)
Definition: monero_wallet.h:1055
virtual std::vector< monero_account > get_accounts(const std::string &tag) const
Definition: monero_wallet.h:565
virtual int import_multisig_hex(const std::vector< std::string > &multisig_hexes)
Definition: monero_wallet.h:1244
virtual void move_to(std::string path, std::string password)
Definition: monero_wallet.h:1281
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:1015
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:660
virtual std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const
Definition: monero_wallet.h:1065
virtual bool is_daemon_synced() const
Definition: monero_wallet.h:177
virtual std::string get_mnemonic() const
Definition: monero_wallet.h:231
virtual uint64_t get_height() const
Definition: monero_wallet.h:337
virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener &listener)
Definition: monero_wallet.h:438
virtual std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas)
Definition: monero_wallet.h:859
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: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