Monero C++ Library
Loading...
Searching...
No Matches
monero_wallet.h
1
52
53#pragma once
54
55#include "monero_wallet_model.h"
56#include <vector>
57#include <set>
58
59using namespace monero;
60
64namespace 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
151 virtual void set_daemon_connection(const std::string& uri, const std::string& username = "", const std::string& password = "", const std::string& proxy_uri = "", const boost::optional<bool>& is_trusted = boost::none) {
152 throw std::runtime_error("set_daemon_connection() not supported");
153 }
154
161 virtual void set_daemon_connection(const std::shared_ptr<monero_rpc_connection>& connection, const boost::optional<bool>& is_trusted = boost::none) {
162 throw std::runtime_error("set_daemon_connection() not supported");
163 }
164
170 virtual std::shared_ptr<monero_rpc_connection> get_daemon_connection() const {
171 throw std::runtime_error("get_daemon_connection() not supported");
172 }
173
179 virtual bool is_connected_to_daemon() const {
180 throw std::runtime_error("is_connected_to_daemon() not supported");
181 }
182
188 virtual bool is_daemon_synced() const {
189 throw std::runtime_error("is_daemon_synced() not supported");
190 }
191
197 virtual bool is_daemon_trusted() const {
198 throw std::runtime_error("is_daemon_trusted() not supported");
199 }
200
206 virtual bool is_synced() const {
207 throw std::runtime_error("is_synced() not supported");
208 }
209
215 virtual monero_version get_version() const {
216 throw std::runtime_error("get_version() not supported");
217 }
218
224 virtual std::string get_path() const {
225 throw std::runtime_error("get_path() not supported");
226 }
227
234 throw std::runtime_error("get_network_type() not supported");
235 }
236
242 virtual std::string get_seed() const {
243 throw std::runtime_error("get_seed() not supported");
244 }
245
251 virtual std::string get_seed_language() const {
252 throw std::runtime_error("get_seed_language() not supported");
253 }
254
260 virtual std::string get_public_view_key() const {
261 throw std::runtime_error("get_public_view_key() not supported");
262 }
263
269 virtual std::string get_private_view_key() const {
270 throw std::runtime_error("get_private_view_key() not supported");
271 }
272
278 virtual std::string get_public_spend_key() const {
279 throw std::runtime_error("get_public_spend_key() not supported");
280 }
281
287 virtual std::string get_private_spend_key() const {
288 throw std::runtime_error("get_private_spend_key() not supported");
289 }
290
296 virtual std::string get_primary_address() const {
297 return get_address(0, 0);
298 }
299
307 virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const {
308 throw std::runtime_error("get_address() not supported");
309 }
310
318 virtual monero_subaddress get_address_index(const std::string& address) const {
319 throw std::runtime_error("get_address_index() not supported");
320 }
321
329 virtual monero_integrated_address get_integrated_address(const std::string& standard_address = "", const std::string& payment_id = "") const {
330 throw std::runtime_error("get_integrated_address() not supported");
331 }
332
339 virtual monero_integrated_address decode_integrated_address(const std::string& integrated_address) const {
340 throw std::runtime_error("decode_integrated_address() not supported");
341 }
342
348 virtual uint64_t get_height() const {
349 throw std::runtime_error("get_height() not supported");
350 }
351
357 virtual uint64_t get_restore_height() const {
358 throw std::runtime_error("get_restore_height() not supported");
359 }
360
366 virtual void set_restore_height(uint64_t restore_height) {
367 throw std::runtime_error("set_restore_height() not supported");
368 }
369
375 virtual uint64_t get_daemon_height() const {
376 throw std::runtime_error("get_daemon_height() not supported");
377 }
378
384 virtual uint64_t get_daemon_max_peer_height() const {
385 throw std::runtime_error("get_daemon_max_peer_height() not supported");
386 }
387
396 virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const {
397 throw std::runtime_error("get_height_by_date(year, month, day) not supported");
398 }
399
405 virtual void add_listener(monero_wallet_listener& listener) {
406 throw std::runtime_error("add_listener() not supported");
407 }
408
414 virtual void remove_listener(monero_wallet_listener& listener) {
415 throw std::runtime_error("remove_listener() not supported");
416 }
417
421 virtual std::set<monero_wallet_listener*> get_listeners() {
422 throw std::runtime_error("get_listeners() not supported");
423 }
424
431 throw std::runtime_error("sync() not supported");
432 }
433
441 throw std::runtime_error("sync() not supported");
442 }
443
450 virtual monero_sync_result sync(uint64_t start_height) {
451 throw std::runtime_error("sync() not supported");
452 }
453
461 virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener& listener) {
462 throw std::runtime_error("sync() not supported");
463 }
464
470 virtual void start_syncing(uint64_t sync_period_in_ms = 10000) {
471 throw std::runtime_error("start_syncing() not supported");
472 }
473
477 virtual void stop_syncing() {
478 throw std::runtime_error("stop_syncing() not supported");
479 }
480
486 virtual void scan_txs(const std::vector<std::string>& tx_hashes) {
487 throw std::runtime_error("scan_txs() not supported");
488 }
489
499 virtual void rescan_spent() {
500 throw std::runtime_error("rescan_spent() not supported");
501 }
502
510 virtual void rescan_blockchain() {
511 throw std::runtime_error("rescan_blockchain() not supported");
512 }
513
519 virtual uint64_t get_balance() const {
520 throw std::runtime_error("get_balance() not supported");
521 }
522
529 virtual uint64_t get_balance(uint32_t account_idx) const {
530 throw std::runtime_error("get_balance() not supported");
531 }
532
540 virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
541 throw std::runtime_error("get_balance() not supported");
542 }
543
549 virtual uint64_t get_unlocked_balance() const {
550 throw std::runtime_error("get_unlocked_balance() not supported");
551 }
552
559 virtual uint64_t get_unlocked_balance(uint32_t account_idx) const {
560 throw std::runtime_error("get_unlocked_balance() not supported");
561 }
562
570 virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
571 throw std::runtime_error("get_unlocked_balance() not supported");
572 }
573
579 virtual std::vector<monero_account> get_accounts() const {
580 return get_accounts(false, std::string(""));
581 }
582
589 virtual std::vector<monero_account> get_accounts(bool include_subaddresses) const {
590 return get_accounts(include_subaddresses, "");
591 }
592
599 virtual std::vector<monero_account> get_accounts(const std::string& tag) const {
600 return get_accounts(false, tag);
601 }
602
610 virtual std::vector<monero_account> get_accounts(bool include_subaddresses, const std::string& tag) const {
611 throw std::runtime_error("get_accounts() not supported");
612 }
613
620 virtual monero_account get_account(uint32_t account_idx) const {
621 return get_account(account_idx, false);
622 }
623
631 virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const {
632 throw std::runtime_error("get_account() not supported");
633 }
634
641 virtual monero_account create_account(const std::string& label = "") {
642 throw std::runtime_error("create_account() not supported");
643 }
644
651 virtual void tag_accounts(const std::string& tag, const std::vector<uint32_t>& account_indices) {
652 throw std::runtime_error("tag_accounts() not supported");
653 }
654
660 virtual void untag_accounts(const std::vector<uint32_t>& account_indices) {
661 throw std::runtime_error("untag_accounts() not supported");
662 }
663
669 virtual std::vector<std::shared_ptr<monero_account_tag>> get_account_tags() const {
670 throw std::runtime_error("get_account_tags() not supported");
671 }
672
679 virtual void set_account_tag_label(const std::string& tag, const std::string& label) {
680 throw std::runtime_error("set_account_tag_label() not supported");
681 }
682
689 virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx) const {
690 return get_subaddresses(account_idx, std::vector<uint32_t>());
691 }
692
700 virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices) const {
701 throw std::runtime_error("get_subaddresses() not supported");
702 }
703
711 virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const {
712 throw std::runtime_error("get_subaddress() not supported");
713 }
714
722 virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string& label = "") {
723 throw std::runtime_error("create_subaddress() not supported");
724 }
725
733 virtual void set_subaddress_label(uint32_t account_idx, uint32_t subaddress_idx, const std::string& label = "") {
734 throw std::runtime_error("set_subaddress_label() not supported");
735 }
736
743 virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs() const {
744 throw std::runtime_error("get_txs() not supported");
745 }
746
759 virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query) const {
760 throw std::runtime_error("get_txs(query) not supported");
761 }
762
779 virtual std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const {
780 throw std::runtime_error("get_transfers() not supported");
781 }
782
795 virtual std::vector<std::shared_ptr<monero_output_wallet>> get_outputs(const monero_output_query& query) const {
796 throw std::runtime_error("get_outputs() not supported");
797 }
798
805 virtual std::string export_outputs(bool all = false) const {
806 throw std::runtime_error("export_outputs() not supported");
807 }
808
815 virtual int import_outputs(const std::string& outputs_hex) {
816 throw std::runtime_error("import_outputs() not supported");
817 }
818
825 virtual std::shared_ptr<monero_key_image_export_result> export_key_images(bool all = false) const {
826 throw std::runtime_error("export_key_images() not supported");
827 }
828
836 virtual std::shared_ptr<monero_key_image_import_result> import_key_images(const std::vector<std::shared_ptr<monero_key_image>>& key_images, uint64_t offset = 0) {
837 throw std::runtime_error("import_key_images() not supported");
838 }
839
845 virtual void freeze_output(const std::string& key_image) {
846 throw std::runtime_error("freeze_output() not supported");
847 }
848
854 virtual void thaw_output(const std::string& key_image) {
855 throw std::runtime_error("thaw_output() not supported");
856 }
857
864 virtual bool is_output_frozen(const std::string& key_image) {
865 throw std::runtime_error("is_output_frozen() not supported");
866 }
867
874 throw std::runtime_error("get_default_fee_priority() not supported");
875 }
876
883 virtual std::shared_ptr<monero_tx_wallet> create_tx(const monero_tx_config& config) {
884 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");
885 monero_tx_config config_copy = monero_tx_config(config);
886 config_copy.m_can_split = false;
887 return create_txs(config_copy)[0];
888 }
889
896 virtual std::vector<std::shared_ptr<monero_tx_wallet>> create_txs(const monero_tx_config& config) {
897 throw std::runtime_error("create_txs() not supported");
898 }
899
906 virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_unlocked(const monero_tx_config& config) {
907 throw std::runtime_error("sweep_unlocked() not supported");
908 }
909
916 virtual std::shared_ptr<monero_tx_wallet> sweep_output(const monero_tx_config& config) {
917 throw std::runtime_error("sweep_output() not supported");
918 }
919
926 virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_dust(bool relay = false) {
927 throw std::runtime_error("sweep_dust() not supported");
928 }
929
936 virtual std::string relay_tx(const std::string& tx_metadata) {
937 std::vector<std::string> tx_metadatas;
938 tx_metadatas.push_back(tx_metadata);
939 return relay_txs(tx_metadatas)[0];
940 }
941
948 virtual std::string relay_tx(const monero_tx_wallet& tx) {
949 return relay_tx(tx.m_metadata.get());
950 }
951
958 virtual std::vector<std::string> relay_txs(const std::vector<std::shared_ptr<monero_tx_wallet>>& txs) {
959 std::vector<std::string> tx_hexes;
960 for (const std::shared_ptr<monero_tx_wallet>& tx : txs) tx_hexes.push_back(tx->m_metadata.get());
961 return relay_txs(tx_hexes);
962 }
963
970 virtual std::vector<std::string> relay_txs(const std::vector<std::string>& tx_metadatas) {
971 throw std::runtime_error("relay_txs() not supported");
972 }
973
981 throw std::runtime_error("describe_tx_set() not supported");
982 }
983
990 virtual monero_tx_set sign_txs(const std::string& unsigned_tx_hex) {
991 throw std::runtime_error("sign_txs() not supported");
992 }
993
1000 virtual std::vector<std::string> submit_txs(const std::string& signed_tx_hex) {
1001 throw std::runtime_error("submit_txs() not supported");
1002 }
1003
1013 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 {
1014 throw std::runtime_error("sign_message() not supported");
1015 }
1016
1025 virtual monero_message_signature_result verify_message(const std::string& msg, const std::string& address, const std::string& signature) const {
1026 throw std::runtime_error("verify_message() not supported");
1027 }
1028
1035 virtual std::string get_tx_key(const std::string& tx_hash) const {
1036 throw std::runtime_error("get_tx_key() not supported");
1037 }
1038
1047 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 {
1048 throw std::runtime_error("check_tx_key() not supported");
1049 }
1050
1059 virtual std::string get_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message) const {
1060 throw std::runtime_error("get_tx_proof() not supported");
1061 }
1062
1072 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 {
1073 throw std::runtime_error("check_tx_proof() not supported");
1074 }
1075
1083 virtual std::string get_spend_proof(const std::string& tx_hash, const std::string& message) const {
1084 throw std::runtime_error("get_spend_proof() not supported");
1085 }
1086
1095 virtual bool check_spend_proof(const std::string& tx_hash, const std::string& message, const std::string& signature) const {
1096 throw std::runtime_error("check_spend_proof() not supported");
1097 }
1098
1105 virtual std::string get_reserve_proof_wallet(const std::string& message) const {
1106 throw std::runtime_error("get_reserve_proof_wallet() not supported");
1107 }
1108
1117 virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string& message) const {
1118 throw std::runtime_error("get_reserve_proof_account() not supported");
1119 }
1120
1129 virtual std::shared_ptr<monero_check_reserve> check_reserve_proof(const std::string& address, const std::string& message, const std::string& signature) const {
1130 throw std::runtime_error("check_reserve_proof() not supported");
1131 }
1132
1139 virtual std::string get_tx_note(const std::string& tx_hash) const {
1140 throw std::runtime_error("get_tx_note() not supported");
1141 }
1142
1149 virtual std::vector<std::string> get_tx_notes(const std::vector<std::string>& tx_hashes) const {
1150 throw std::runtime_error("get_tx_notes() not supported");
1151 }
1152
1159 virtual void set_tx_note(const std::string& tx_hash, const std::string& note) {
1160 throw std::runtime_error("set_tx_note() not supported");
1161 }
1162
1169 virtual void set_tx_notes(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes) {
1170 throw std::runtime_error("set_tx_notes() not supported");
1171 }
1172
1179 virtual std::vector<monero_address_book_entry> get_address_book_entries(const std::vector<uint64_t>& indices) const {
1180 throw std::runtime_error("get_address_book_entries() not supported");
1181 }
1182
1190 virtual uint64_t add_address_book_entry(const std::string& address, const std::string& description) {
1191 throw std::runtime_error("add_address_book_entry() not supported");
1192 }
1193
1203 virtual void edit_address_book_entry(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description) {
1204 throw std::runtime_error("edit_address_book_entry() not supported");
1205 }
1206
1212 virtual void delete_address_book_entry(uint64_t index) {
1213 throw std::runtime_error("delete_address_book_entry() not supported");
1214 }
1215
1222 virtual std::string get_payment_uri(const monero_tx_config& config) const {
1223 throw std::runtime_error("get_payment_uri() not supported");
1224 }
1225
1232 virtual std::shared_ptr<monero_tx_config> parse_payment_uri(const std::string& uri) const {
1233 throw std::runtime_error("parse_payment_uri() not supported");
1234 }
1235
1243 virtual bool get_attribute(const std::string& key, std::string& value) const {
1244 throw std::runtime_error("get_attribute() not supported");
1245 }
1246
1253 virtual void set_attribute(const std::string& key, const std::string& val) {
1254 throw std::runtime_error("set_attribute() not supported");
1255 }
1256
1264 virtual void start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery) {
1265 throw std::runtime_error("start_mining() not supported");
1266 }
1267
1271 virtual void stop_mining() {
1272 throw std::runtime_error("stop_mining() not supported");
1273 }
1274
1280 virtual uint64_t wait_for_next_block() {
1281 throw std::runtime_error("wait_for_next_block() not supported");
1282 }
1283
1289 virtual bool is_multisig_import_needed() const {
1290 throw std::runtime_error("is_multisig_import_needed() not supported");
1291 }
1292
1298 virtual bool is_multisig() const {
1299 return get_multisig_info().m_is_multisig;
1300 }
1301
1308 throw std::runtime_error("get_multisig_info() not supported");
1309 }
1310
1317 virtual std::string prepare_multisig() {
1318 throw std::runtime_error("prepare_multisig() not supported");
1319 }
1320
1329 virtual std::string make_multisig(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password) {
1330 throw std::runtime_error("make_multisig() not supported");
1331 }
1332
1342 virtual monero_multisig_init_result exchange_multisig_keys(const std::vector<std::string>& multisig_hexes, const std::string& password) {
1343 throw std::runtime_error("exchange_multisig_keys() not supported");
1344 }
1345
1351 virtual std::string export_multisig_hex() {
1352 throw std::runtime_error("export_multisig_hex() not supported");
1353 }
1354
1365 virtual int import_multisig_hex(const std::vector<std::string>& multisig_hexes, bool refresh_after_import = true) {
1366 throw std::runtime_error("import_multisig_hex() not supported");
1367 }
1368
1375 virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string& multisig_tx_hex) {
1376 throw std::runtime_error("sign_multisig_tx_hex() not supported");
1377 }
1378
1385 virtual std::vector<std::string> submit_multisig_tx_hex(const std::string& signed_multisig_tx_hex) {
1386 throw std::runtime_error("submit_multisig_tx_hex() not supported");
1387 }
1388
1395 virtual void change_password(const std::string& old_password, const std::string& new_password) {
1396 throw std::runtime_error("change_password() not supported");
1397 }
1398
1405 virtual void move_to(const std::string& path, const std::string& password) {
1406 throw std::runtime_error("move_to() not supported");
1407 }
1408
1412 virtual void save() {
1413 throw std::runtime_error("save() not supported");
1414 }
1415
1421 virtual void close(bool save = false) {
1422 throw std::runtime_error("close() not supported");
1423 }
1424
1428 virtual bool is_closed() const {
1429 throw std::runtime_error("is_closed() not supported");
1430 }
1431 };
1432}
Definition monero_wallet.h:71
virtual void on_new_block(uint64_t height)
Definition monero_wallet.h:90
virtual void on_output_spent(const monero_output_wallet &output)
Definition monero_wallet.h:112
virtual void on_output_received(const monero_output_wallet &output)
Definition monero_wallet.h:105
virtual void on_balances_changed(uint64_t new_balance, uint64_t new_unlocked_balance)
Definition monero_wallet.h:98
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
Definition monero_wallet.h:123
virtual void save()
Definition monero_wallet.h:1412
virtual std::string get_private_view_key() const
Definition monero_wallet.h:269
virtual void rescan_blockchain()
Definition monero_wallet.h:510
virtual std::string make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password)
Definition monero_wallet.h:1329
virtual monero_sync_result sync()
Definition monero_wallet.h:430
virtual std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex)
Definition monero_wallet.h:1385
virtual std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const
Definition monero_wallet.h:1083
virtual std::vector< std::string > get_tx_notes(const std::vector< std::string > &tx_hashes) const
Definition monero_wallet.h:1149
virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener &listener)
Definition monero_wallet.h:461
virtual bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const
Definition monero_wallet.h:1095
virtual void set_attribute(const std::string &key, const std::string &val)
Definition monero_wallet.h:1253
virtual std::vector< monero_account > get_accounts(bool include_subaddresses, const std::string &tag) const
Definition monero_wallet.h:610
virtual bool is_daemon_synced() const
Definition monero_wallet.h:188
virtual std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config)
Definition monero_wallet.h:896
virtual monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &multisig_hexes, const std::string &password)
Definition monero_wallet.h:1342
virtual monero_message_signature_result verify_message(const std::string &msg, const std::string &address, const std::string &signature) const
Definition monero_wallet.h:1025
virtual uint64_t get_daemon_height() const
Definition monero_wallet.h:375
virtual monero_tx_set describe_tx_set(const monero_tx_set &tx_set)
Definition monero_wallet.h:980
virtual std::string get_public_spend_key() const
Definition monero_wallet.h:278
virtual void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="", const std::string &proxy_uri="", const boost::optional< bool > &is_trusted=boost::none)
Definition monero_wallet.h:151
virtual void change_password(const std::string &old_password, const std::string &new_password)
Definition monero_wallet.h:1395
virtual monero_account get_account(uint32_t account_idx) const
Definition monero_wallet.h:620
virtual std::string get_tx_key(const std::string &tx_hash) const
Definition monero_wallet.h:1035
virtual void stop_syncing()
Definition monero_wallet.h:477
virtual void set_account_tag_label(const std::string &tag, const std::string &label)
Definition monero_wallet.h:679
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:1129
virtual std::shared_ptr< monero_tx_wallet > create_tx(const monero_tx_config &config)
Definition monero_wallet.h:883
virtual void stop_mining()
Definition monero_wallet.h:1271
virtual bool get_attribute(const std::string &key, std::string &value) const
Definition monero_wallet.h:1243
virtual std::string get_reserve_proof_wallet(const std::string &message) const
Definition monero_wallet.h:1105
virtual std::string get_payment_uri(const monero_tx_config &config) const
Definition monero_wallet.h:1222
virtual monero_account create_account(const std::string &label="")
Definition monero_wallet.h:641
virtual bool is_daemon_trusted() const
Definition monero_wallet.h:197
virtual void freeze_output(const std::string &key_image)
Definition monero_wallet.h:845
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config)
Definition monero_wallet.h:906
virtual std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const
Definition monero_wallet.h:1179
virtual monero_tx_set sign_txs(const std::string &unsigned_tx_hex)
Definition monero_wallet.h:990
virtual uint64_t get_height() const
Definition monero_wallet.h:348
virtual bool is_multisig_import_needed() const
Definition monero_wallet.h:1289
virtual void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes)
Definition monero_wallet.h:1169
virtual bool is_closed() const
Definition monero_wallet.h:1428
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:1072
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx, const std::vector< uint32_t > &subaddress_indices) const
Definition monero_wallet.h:700
virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition monero_wallet.h:540
virtual void set_tx_note(const std::string &tx_hash, const std::string &note)
Definition monero_wallet.h:1159
virtual void remove_listener(monero_wallet_listener &listener)
Definition monero_wallet.h:414
virtual monero_sync_result sync(monero_wallet_listener &listener)
Definition monero_wallet.h:440
virtual bool is_output_frozen(const std::string &key_image)
Definition monero_wallet.h:864
virtual uint64_t get_daemon_max_peer_height() const
Definition monero_wallet.h:384
virtual std::string export_outputs(bool all=false) const
Definition monero_wallet.h:805
virtual std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas)
Definition monero_wallet.h:970
virtual monero_version get_version() const
Definition monero_wallet.h:215
virtual std::vector< monero_account > get_accounts() const
Definition monero_wallet.h:579
virtual bool is_synced() const
Definition monero_wallet.h:206
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx) const
Definition monero_wallet.h:689
virtual uint64_t get_restore_height() const
Definition monero_wallet.h:357
virtual std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const
Definition monero_wallet.h:795
virtual uint64_t add_address_book_entry(const std::string &address, const std::string &description)
Definition monero_wallet.h:1190
virtual uint64_t get_balance(uint32_t account_idx) const
Definition monero_wallet.h:529
virtual std::shared_ptr< monero_key_image_export_result > export_key_images(bool all=false) const
Definition monero_wallet.h:825
virtual bool is_connected_to_daemon() const
Definition monero_wallet.h:179
virtual monero_integrated_address decode_integrated_address(const std::string &integrated_address) const
Definition monero_wallet.h:339
virtual std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config)
Definition monero_wallet.h:916
virtual std::string get_path() const
Definition monero_wallet.h:224
virtual void move_to(const std::string &path, const std::string &password)
Definition monero_wallet.h:1405
virtual std::vector< monero_account > get_accounts(const std::string &tag) const
Definition monero_wallet.h:599
virtual monero_network_type get_network_type() const
Definition monero_wallet.h:233
virtual uint64_t get_balance() const
Definition monero_wallet.h:519
virtual void delete_address_book_entry(uint64_t index)
Definition monero_wallet.h:1212
virtual void start_mining(boost::optional< uint64_t > num_threads, boost::optional< bool > background_mining, boost::optional< bool > ignore_battery)
Definition monero_wallet.h:1264
virtual std::string get_private_spend_key() const
Definition monero_wallet.h:287
virtual std::shared_ptr< monero_key_image_import_result > import_key_images(const std::vector< std::shared_ptr< monero_key_image > > &key_images, uint64_t offset=0)
Definition monero_wallet.h:836
virtual std::string prepare_multisig()
Definition monero_wallet.h:1317
virtual std::string get_primary_address() const
Definition monero_wallet.h:296
virtual void tag_accounts(const std::string &tag, const std::vector< uint32_t > &account_indices)
Definition monero_wallet.h:651
virtual bool is_view_only() const
Definition monero_wallet.h:138
virtual void untag_accounts(const std::vector< uint32_t > &account_indices)
Definition monero_wallet.h:660
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:1203
virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition monero_wallet.h:307
virtual std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const
Definition monero_wallet.h:1059
virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex)
Definition monero_wallet.h:1375
virtual std::string get_public_view_key() const
Definition monero_wallet.h:260
virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition monero_wallet.h:711
virtual std::vector< std::shared_ptr< monero_account_tag > > get_account_tags() const
Definition monero_wallet.h:669
virtual std::string relay_tx(const std::string &tx_metadata)
Definition monero_wallet.h:936
virtual void add_listener(monero_wallet_listener &listener)
Definition monero_wallet.h:405
virtual monero_multisig_info get_multisig_info() const
Definition monero_wallet.h:1307
virtual void set_daemon_connection(const std::shared_ptr< monero_rpc_connection > &connection, const boost::optional< bool > &is_trusted=boost::none)
Definition monero_wallet.h:161
virtual void set_restore_height(uint64_t restore_height)
Definition monero_wallet.h:366
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false)
Definition monero_wallet.h:926
virtual void thaw_output(const std::string &key_image)
Definition monero_wallet.h:854
virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const
Definition monero_wallet.h:396
virtual std::string relay_tx(const monero_tx_wallet &tx)
Definition monero_wallet.h:948
virtual uint64_t get_unlocked_balance() const
Definition monero_wallet.h:549
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:1047
virtual int import_outputs(const std::string &outputs_hex)
Definition monero_wallet.h:815
virtual std::set< monero_wallet_listener * > get_listeners()
Definition monero_wallet.h:421
virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition monero_wallet.h:570
virtual std::vector< std::string > relay_txs(const std::vector< std::shared_ptr< monero_tx_wallet > > &txs)
Definition monero_wallet.h:958
virtual std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const
Definition monero_wallet.h:779
virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string &message) const
Definition monero_wallet.h:1117
virtual uint64_t get_unlocked_balance(uint32_t account_idx) const
Definition monero_wallet.h:559
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs() const
Definition monero_wallet.h:743
virtual uint64_t wait_for_next_block()
Definition monero_wallet.h:1280
virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="")
Definition monero_wallet.h:722
virtual std::shared_ptr< monero_rpc_connection > get_daemon_connection() const
Definition monero_wallet.h:170
virtual ~monero_wallet()
Definition monero_wallet.h:130
virtual std::vector< monero_account > get_accounts(bool include_subaddresses) const
Definition monero_wallet.h:589
virtual int import_multisig_hex(const std::vector< std::string > &multisig_hexes, bool refresh_after_import=true)
Definition monero_wallet.h:1365
virtual monero_tx_priority get_default_fee_priority() const
Definition monero_wallet.h:873
virtual std::string export_multisig_hex()
Definition monero_wallet.h:1351
virtual void start_syncing(uint64_t sync_period_in_ms=10000)
Definition monero_wallet.h:470
virtual std::string get_seed() const
Definition monero_wallet.h:242
virtual void scan_txs(const std::vector< std::string > &tx_hashes)
Definition monero_wallet.h:486
virtual void rescan_spent()
Definition monero_wallet.h:499
virtual monero_subaddress get_address_index(const std::string &address) const
Definition monero_wallet.h:318
virtual void set_subaddress_label(uint32_t account_idx, uint32_t subaddress_idx, const std::string &label="")
Definition monero_wallet.h:733
virtual monero_sync_result sync(uint64_t start_height)
Definition monero_wallet.h:450
virtual void close(bool save=false)
Definition monero_wallet.h:1421
virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const
Definition monero_wallet.h:631
virtual std::vector< std::string > submit_txs(const std::string &signed_tx_hex)
Definition monero_wallet.h:1000
virtual std::string get_tx_note(const std::string &tx_hash) const
Definition monero_wallet.h:1139
virtual bool is_multisig() const
Definition monero_wallet.h:1298
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs(const monero_tx_query &query) const
Definition monero_wallet.h:759
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:1013
virtual std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const
Definition monero_wallet.h:1232
virtual std::string get_seed_language() const
Definition monero_wallet.h:251
virtual monero_integrated_address get_integrated_address(const std::string &standard_address="", const std::string &payment_id="") const
Definition monero_wallet.h:329
Definition monero_error.h:61
monero_message_signature_type
Definition monero_wallet_model.h:444
monero_tx_priority
Definition monero_wallet_model.h:381
monero_network_type
Definition monero_daemon_model.h:117
Definition monero_wallet_model.h:127
Definition monero_wallet_model.h:369
Definition monero_wallet_model.h:452
Definition monero_wallet_model.h:497
Definition monero_wallet_model.h:512
Definition monero_wallet_model.h:523
Definition monero_wallet_model.h:259
Definition monero_wallet_model.h:239
Definition monero_wallet_model.h:109
Definition monero_wallet_model.h:97
Definition monero_wallet_model.h:216
Definition monero_wallet_model.h:391
Definition monero_wallet_model.h:313
Definition monero_wallet_model.h:353
Definition monero_wallet_model.h:279
Definition monero_daemon_model.h:140
Definition monero_wallet_full.cpp:592