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
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
165 virtual void set_daemon_proxy(const std::string& uri = "") {
166 throw std::runtime_error("set_daemon_proxy() not supported");
167 }
168
174 virtual boost::optional<monero_rpc_connection> get_daemon_connection() const {
175 throw std::runtime_error("get_daemon_connection() not supported");
176 }
177
183 virtual bool is_connected_to_daemon() const {
184 throw std::runtime_error("is_connected_to_daemon() not supported");
185 }
186
192 virtual bool is_daemon_synced() const {
193 throw std::runtime_error("is_daemon_synced() not supported");
194 }
195
201 virtual bool is_daemon_trusted() const {
202 throw std::runtime_error("is_daemon_trusted() not supported");
203 }
204
210 virtual bool is_synced() const {
211 throw std::runtime_error("is_synced() not supported");
212 }
213
219 virtual monero_version get_version() const {
220 throw std::runtime_error("get_version() not supported");
221 }
222
228 virtual std::string get_path() const {
229 throw std::runtime_error("get_path() not supported");
230 }
231
238 throw std::runtime_error("get_network_type() not supported");
239 }
240
246 virtual std::string get_seed() const {
247 throw std::runtime_error("get_seed() not supported");
248 }
249
255 virtual std::string get_seed_language() const {
256 throw std::runtime_error("get_seed_language() not supported");
257 }
258
264 virtual std::string get_public_view_key() const {
265 throw std::runtime_error("get_public_view_key() not supported");
266 }
267
273 virtual std::string get_private_view_key() const {
274 throw std::runtime_error("get_private_view_key() not supported");
275 }
276
282 virtual std::string get_public_spend_key() const {
283 throw std::runtime_error("get_public_spend_key() not supported");
284 }
285
291 virtual std::string get_private_spend_key() const {
292 throw std::runtime_error("get_private_spend_key() not supported");
293 }
294
300 virtual std::string get_primary_address() const {
301 return get_address(0, 0);
302 }
303
311 virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const {
312 throw std::runtime_error("get_address() not supported");
313 }
314
322 virtual monero_subaddress get_address_index(const std::string& address) const {
323 throw std::runtime_error("get_address_index() not supported");
324 }
325
333 virtual monero_integrated_address get_integrated_address(const std::string& standard_address = "", const std::string& payment_id = "") const {
334 throw std::runtime_error("get_integrated_address() not supported");
335 }
336
343 virtual monero_integrated_address decode_integrated_address(const std::string& integrated_address) const {
344 throw std::runtime_error("decode_integrated_address() not supported");
345 }
346
352 virtual uint64_t get_height() const {
353 throw std::runtime_error("get_height() not supported");
354 }
355
361 virtual uint64_t get_restore_height() const {
362 throw std::runtime_error("get_restore_height() not supported");
363 }
364
370 virtual void set_restore_height(uint64_t restore_height) {
371 throw std::runtime_error("set_restore_height() not supported");
372 }
373
379 virtual uint64_t get_daemon_height() const {
380 throw std::runtime_error("get_daemon_height() not supported");
381 }
382
388 virtual uint64_t get_daemon_max_peer_height() const {
389 throw std::runtime_error("get_daemon_max_peer_height() not supported");
390 }
391
400 virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const {
401 throw std::runtime_error("get_height_by_date(year, month, day) not supported");
402 }
403
409 virtual void add_listener(monero_wallet_listener& listener) {
410 throw std::runtime_error("add_listener() not supported");
411 }
412
418 virtual void remove_listener(monero_wallet_listener& listener) {
419 throw std::runtime_error("remove_listener() not supported");
420 }
421
425 virtual std::set<monero_wallet_listener*> get_listeners() {
426 throw std::runtime_error("get_listeners() not supported");
427 }
428
435 throw std::runtime_error("sync() not supported");
436 }
437
445 throw std::runtime_error("sync() not supported");
446 }
447
454 virtual monero_sync_result sync(uint64_t start_height) {
455 throw std::runtime_error("sync() not supported");
456 }
457
465 virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener& listener) {
466 throw std::runtime_error("sync() not supported");
467 }
468
474 virtual void start_syncing(uint64_t sync_period_in_ms = 10000) {
475 throw std::runtime_error("start_syncing() not supported");
476 }
477
481 virtual void stop_syncing() {
482 throw std::runtime_error("stop_syncing() not supported");
483 }
484
490 virtual void scan_txs(const std::vector<std::string>& tx_hashes) {
491 throw std::runtime_error("scan_txs() not supported");
492 }
493
503 virtual void rescan_spent() {
504 throw std::runtime_error("rescan_spent() not supported");
505 }
506
514 virtual void rescan_blockchain() {
515 throw std::runtime_error("rescan_blockchain() not supported");
516 }
517
523 virtual uint64_t get_balance() const {
524 throw std::runtime_error("get_balance() not supported");
525 }
526
533 virtual uint64_t get_balance(uint32_t account_idx) const {
534 throw std::runtime_error("get_balance() not supported");
535 }
536
544 virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
545 throw std::runtime_error("get_balance() not supported");
546 }
547
553 virtual uint64_t get_unlocked_balance() const {
554 throw std::runtime_error("get_unlocked_balance() not supported");
555 }
556
563 virtual uint64_t get_unlocked_balance(uint32_t account_idx) const {
564 throw std::runtime_error("get_unlocked_balance() not supported");
565 }
566
574 virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
575 throw std::runtime_error("get_unlocked_balance() not supported");
576 }
577
583 virtual std::vector<monero_account> get_accounts() const {
584 return get_accounts(false, std::string(""));
585 }
586
593 virtual std::vector<monero_account> get_accounts(bool include_subaddresses) const {
594 return get_accounts(include_subaddresses, "");
595 }
596
603 virtual std::vector<monero_account> get_accounts(const std::string& tag) const {
604 return get_accounts(false, tag);
605 }
606
614 virtual std::vector<monero_account> get_accounts(bool include_subaddresses, const std::string& tag) const {
615 throw std::runtime_error("get_accounts() not supported");
616 }
617
624 virtual monero_account get_account(uint32_t account_idx) const {
625 return get_account(account_idx, false);
626 }
627
635 virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const {
636 throw std::runtime_error("get_account() not supported");
637 }
638
645 virtual monero_account create_account(const std::string& label = "") {
646 throw std::runtime_error("create_account() not supported");
647 }
648
655 virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx) const {
656 return get_subaddresses(account_idx, std::vector<uint32_t>());
657 }
658
666 virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices) const {
667 throw std::runtime_error("get_subaddresses() not supported");
668 }
669
677 virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const {
678 throw std::runtime_error("get_subaddress() not supported");
679 }
680
688 virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string& label = "") {
689 throw std::runtime_error("create_subaddress() not supported");
690 }
691
699 virtual void set_subaddress_label(uint32_t account_idx, uint32_t subaddress_idx, const std::string& label = "") {
700 throw std::runtime_error("set_subaddress_label() not supported");
701 }
702
709 virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs() const {
710 throw std::runtime_error("get_txs() not supported");
711 }
712
725 virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query) const {
726 throw std::runtime_error("get_txs(query) not supported");
727 }
728
745 virtual std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const {
746 throw std::runtime_error("get_transfers() not supported");
747 }
748
761 virtual std::vector<std::shared_ptr<monero_output_wallet>> get_outputs(const monero_output_query& query) const {
762 throw std::runtime_error("get_outputs() not supported");
763 }
764
771 virtual std::string export_outputs(bool all = false) const {
772 throw std::runtime_error("export_outputs() not supported");
773 }
774
781 virtual int import_outputs(const std::string& outputs_hex) {
782 throw std::runtime_error("import_outputs() not supported");
783 }
784
791 virtual std::vector<std::shared_ptr<monero_key_image>> export_key_images(bool all = false) const {
792 throw std::runtime_error("export_key_images() not supported");
793 }
794
801 virtual std::shared_ptr<monero_key_image_import_result> import_key_images(const std::vector<std::shared_ptr<monero_key_image>>& key_images) {
802 throw std::runtime_error("import_key_images() not supported");
803 }
804
810 virtual void freeze_output(const std::string& key_image) {
811 throw std::runtime_error("freeze_output() not supported");
812 }
813
819 virtual void thaw_output(const std::string& key_image) {
820 throw std::runtime_error("thaw_output() not supported");
821 }
822
829 virtual bool is_output_frozen(const std::string& key_image) {
830 throw std::runtime_error("is_output_frozen() not supported");
831 }
832
839 throw std::runtime_error("get_default_fee_priority() not supported");
840 }
841
848 virtual std::shared_ptr<monero_tx_wallet> create_tx(const monero_tx_config& config) {
849 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");
850 monero_tx_config config_copy = monero_tx_config(config);
851 config_copy.m_can_split = false;
852 return create_txs(config_copy)[0];
853 }
854
861 virtual std::vector<std::shared_ptr<monero_tx_wallet>> create_txs(const monero_tx_config& config) {
862 throw std::runtime_error("create_txs() not supported");
863 }
864
871 virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_unlocked(const monero_tx_config& config) {
872 throw std::runtime_error("sweep_unlocked() not supported");
873 }
874
881 virtual std::shared_ptr<monero_tx_wallet> sweep_output(const monero_tx_config& config) {
882 throw std::runtime_error("sweep_output() not supported");
883 }
884
891 virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_dust(bool relay = false) {
892 throw std::runtime_error("sweep_dust() not supported");
893 }
894
901 virtual std::string relay_tx(const std::string& tx_metadata) {
902 std::vector<std::string> tx_metadatas;
903 tx_metadatas.push_back(tx_metadata);
904 return relay_txs(tx_metadatas)[0];
905 }
906
913 virtual std::string relay_tx(const monero_tx_wallet& tx) {
914 return relay_tx(tx.m_metadata.get());
915 }
916
923 virtual std::vector<std::string> relay_txs(const std::vector<std::shared_ptr<monero_tx_wallet>>& txs) {
924 std::vector<std::string> tx_hexes;
925 for (const std::shared_ptr<monero_tx_wallet>& tx : txs) tx_hexes.push_back(tx->m_metadata.get());
926 return relay_txs(tx_hexes);
927 }
928
935 virtual std::vector<std::string> relay_txs(const std::vector<std::string>& tx_metadatas) {
936 throw std::runtime_error("relay_txs() not supported");
937 }
938
946 throw std::runtime_error("describe_tx_set() not supported");
947 }
948
955 virtual monero_tx_set sign_txs(const std::string& unsigned_tx_hex) {
956 throw std::runtime_error("sign_txs() not supported");
957 }
958
965 virtual std::vector<std::string> submit_txs(const std::string& signed_tx_hex) {
966 throw std::runtime_error("submit_txs() not supported");
967 }
968
978 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 {
979 throw std::runtime_error("sign_message() not supported");
980 }
981
990 virtual monero_message_signature_result verify_message(const std::string& msg, const std::string& address, const std::string& signature) const {
991 throw std::runtime_error("verify_message() not supported");
992 }
993
1000 virtual std::string get_tx_key(const std::string& tx_hash) const {
1001 throw std::runtime_error("get_tx_key() not supported");
1002 }
1003
1012 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 {
1013 throw std::runtime_error("check_tx_key() not supported");
1014 }
1015
1024 virtual std::string get_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message) const {
1025 throw std::runtime_error("get_tx_proof() not supported");
1026 }
1027
1037 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 {
1038 throw std::runtime_error("check_tx_proof() not supported");
1039 }
1040
1048 virtual std::string get_spend_proof(const std::string& tx_hash, const std::string& message) const {
1049 throw std::runtime_error("get_spend_proof() not supported");
1050 }
1051
1060 virtual bool check_spend_proof(const std::string& tx_hash, const std::string& message, const std::string& signature) const {
1061 throw std::runtime_error("check_spend_proof() not supported");
1062 }
1063
1070 virtual std::string get_reserve_proof_wallet(const std::string& message) const {
1071 throw std::runtime_error("get_reserve_proof_wallet() not supported");
1072 }
1073
1082 virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string& message) const {
1083 throw std::runtime_error("get_reserve_proof_account() not supported");
1084 }
1085
1094 virtual std::shared_ptr<monero_check_reserve> check_reserve_proof(const std::string& address, const std::string& message, const std::string& signature) const {
1095 throw std::runtime_error("check_reserve_proof() not supported");
1096 }
1097
1104 virtual std::string get_tx_note(const std::string& tx_hash) const {
1105 throw std::runtime_error("get_tx_note() not supported");
1106 }
1107
1114 virtual std::vector<std::string> get_tx_notes(const std::vector<std::string>& tx_hashes) const {
1115 throw std::runtime_error("get_tx_notes() not supported");
1116 }
1117
1124 virtual void set_tx_note(const std::string& tx_hash, const std::string& note) {
1125 throw std::runtime_error("set_tx_note() not supported");
1126 }
1127
1134 virtual void set_tx_notes(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes) {
1135 throw std::runtime_error("set_tx_notes() not supported");
1136 }
1137
1144 virtual std::vector<monero_address_book_entry> get_address_book_entries(const std::vector<uint64_t>& indices) const {
1145 throw std::runtime_error("get_address_book_entries() not supported");
1146 }
1147
1155 virtual uint64_t add_address_book_entry(const std::string& address, const std::string& description) {
1156 throw std::runtime_error("add_address_book_entry() not supported");
1157 }
1158
1168 virtual void edit_address_book_entry(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description) {
1169 throw std::runtime_error("edit_address_book_entry() not supported");
1170 }
1171
1177 virtual void delete_address_book_entry(uint64_t index) {
1178 throw std::runtime_error("delete_address_book_entry() not supported");
1179 }
1180
1187 virtual std::string get_payment_uri(const monero_tx_config& config) const {
1188 throw std::runtime_error("get_payment_uri() not supported");
1189 }
1190
1197 virtual std::shared_ptr<monero_tx_config> parse_payment_uri(const std::string& uri) const {
1198 throw std::runtime_error("parse_payment_uri() not supported");
1199 }
1200
1208 virtual bool get_attribute(const std::string& key, std::string& value) const {
1209 throw std::runtime_error("get_attribute() not supported");
1210 }
1211
1218 virtual void set_attribute(const std::string& key, const std::string& val) {
1219 throw std::runtime_error("set_attribute() not supported");
1220 }
1221
1229 virtual void start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery) {
1230 throw std::runtime_error("start_mining() not supported");
1231 }
1232
1236 virtual void stop_mining() {
1237 throw std::runtime_error("stop_mining() not supported");
1238 }
1239
1245 virtual uint64_t wait_for_next_block() {
1246 throw std::runtime_error("wait_for_next_block() not supported");
1247 }
1248
1254 virtual bool is_multisig_import_needed() const {
1255 throw std::runtime_error("is_multisig_import_needed() not supported");
1256 }
1257
1263 virtual bool is_multisig() const {
1264 return get_multisig_info().m_is_multisig;
1265 }
1266
1273 throw std::runtime_error("get_multisig_info() not supported");
1274 }
1275
1282 virtual std::string prepare_multisig() {
1283 throw std::runtime_error("prepare_multisig() not supported");
1284 }
1285
1294 virtual std::string make_multisig(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password) {
1295 throw std::runtime_error("make_multisig() not supported");
1296 }
1297
1307 virtual monero_multisig_init_result exchange_multisig_keys(const std::vector<std::string>& mutisig_hexes, const std::string& password) {
1308 throw std::runtime_error("exchange_multisig_keys() not supported");
1309 }
1310
1316 virtual std::string export_multisig_hex() {
1317 throw std::runtime_error("export_multisig_hex() not supported");
1318 }
1319
1330 virtual int import_multisig_hex(const std::vector<std::string>& multisig_hexes) {
1331 throw std::runtime_error("import_multisig_hex() not supported");
1332 }
1333
1340 virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string& multisig_tx_hex) {
1341 throw std::runtime_error("monero_multisig_sign_result() not supported");
1342 }
1343
1350 virtual std::vector<std::string> submit_multisig_tx_hex(const std::string& signed_multisig_tx_hex) {
1351 throw std::runtime_error("submit_multisig_tx_hex() not supported");
1352 }
1353
1360 virtual void change_password(const std::string& old_password, const std::string& new_password) {
1361 throw std::runtime_error("change_password() not supported");
1362 }
1363
1370 virtual void move_to(const std::string& path, const std::string& password) {
1371 throw std::runtime_error("move_to() not supported");
1372 }
1373
1377 virtual void save() {
1378 throw std::runtime_error("save() not supported");
1379 }
1380
1386 virtual void close(bool save = false) {
1387 throw std::runtime_error("close() not supported");
1388 }
1389 };
1390}
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:1377
virtual std::string get_private_view_key() const
Definition monero_wallet.h:273
virtual void rescan_blockchain()
Definition monero_wallet.h:514
virtual std::string make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password)
Definition monero_wallet.h:1294
virtual monero_sync_result sync()
Definition monero_wallet.h:434
virtual std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex)
Definition monero_wallet.h:1350
virtual std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const
Definition monero_wallet.h:1048
virtual std::vector< std::string > get_tx_notes(const std::vector< std::string > &tx_hashes) const
Definition monero_wallet.h:1114
virtual int import_multisig_hex(const std::vector< std::string > &multisig_hexes)
Definition monero_wallet.h:1330
virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener &listener)
Definition monero_wallet.h:465
virtual bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const
Definition monero_wallet.h:1060
virtual void set_attribute(const std::string &key, const std::string &val)
Definition monero_wallet.h:1218
virtual std::vector< monero_account > get_accounts(bool include_subaddresses, const std::string &tag) const
Definition monero_wallet.h:614
virtual bool is_daemon_synced() const
Definition monero_wallet.h:192
virtual std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config)
Definition monero_wallet.h:861
virtual monero_message_signature_result verify_message(const std::string &msg, const std::string &address, const std::string &signature) const
Definition monero_wallet.h:990
virtual uint64_t get_daemon_height() const
Definition monero_wallet.h:379
virtual monero_tx_set describe_tx_set(const monero_tx_set &tx_set)
Definition monero_wallet.h:945
virtual std::string get_public_spend_key() const
Definition monero_wallet.h:282
virtual void change_password(const std::string &old_password, const std::string &new_password)
Definition monero_wallet.h:1360
virtual monero_account get_account(uint32_t account_idx) const
Definition monero_wallet.h:624
virtual std::string get_tx_key(const std::string &tx_hash) const
Definition monero_wallet.h:1000
virtual void stop_syncing()
Definition monero_wallet.h:481
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:1094
virtual std::shared_ptr< monero_tx_wallet > create_tx(const monero_tx_config &config)
Definition monero_wallet.h:848
virtual void stop_mining()
Definition monero_wallet.h:1236
virtual bool get_attribute(const std::string &key, std::string &value) const
Definition monero_wallet.h:1208
virtual std::string get_reserve_proof_wallet(const std::string &message) const
Definition monero_wallet.h:1070
virtual std::string get_payment_uri(const monero_tx_config &config) const
Definition monero_wallet.h:1187
virtual monero_account create_account(const std::string &label="")
Definition monero_wallet.h:645
virtual bool is_daemon_trusted() const
Definition monero_wallet.h:201
virtual void freeze_output(const std::string &key_image)
Definition monero_wallet.h:810
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config)
Definition monero_wallet.h:871
virtual std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const
Definition monero_wallet.h:1144
virtual monero_tx_set sign_txs(const std::string &unsigned_tx_hex)
Definition monero_wallet.h:955
virtual uint64_t get_height() const
Definition monero_wallet.h:352
virtual monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &mutisig_hexes, const std::string &password)
Definition monero_wallet.h:1307
virtual bool is_multisig_import_needed() const
Definition monero_wallet.h:1254
virtual void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes)
Definition monero_wallet.h:1134
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:1037
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx, const std::vector< uint32_t > &subaddress_indices) const
Definition monero_wallet.h:666
virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition monero_wallet.h:544
virtual void set_tx_note(const std::string &tx_hash, const std::string &note)
Definition monero_wallet.h:1124
virtual void remove_listener(monero_wallet_listener &listener)
Definition monero_wallet.h:418
virtual monero_sync_result sync(monero_wallet_listener &listener)
Definition monero_wallet.h:444
virtual bool is_output_frozen(const std::string &key_image)
Definition monero_wallet.h:829
virtual uint64_t get_daemon_max_peer_height() const
Definition monero_wallet.h:388
virtual std::string export_outputs(bool all=false) const
Definition monero_wallet.h:771
virtual std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas)
Definition monero_wallet.h:935
virtual monero_version get_version() const
Definition monero_wallet.h:219
virtual void set_daemon_proxy(const std::string &uri="")
Definition monero_wallet.h:165
virtual std::vector< monero_account > get_accounts() const
Definition monero_wallet.h:583
virtual bool is_synced() const
Definition monero_wallet.h:210
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx) const
Definition monero_wallet.h:655
virtual uint64_t get_restore_height() const
Definition monero_wallet.h:361
virtual std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const
Definition monero_wallet.h:761
virtual uint64_t add_address_book_entry(const std::string &address, const std::string &description)
Definition monero_wallet.h:1155
virtual uint64_t get_balance(uint32_t account_idx) const
Definition monero_wallet.h:533
virtual bool is_connected_to_daemon() const
Definition monero_wallet.h:183
virtual monero_integrated_address decode_integrated_address(const std::string &integrated_address) const
Definition monero_wallet.h:343
virtual std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config)
Definition monero_wallet.h:881
virtual std::string get_path() const
Definition monero_wallet.h:228
virtual void move_to(const std::string &path, const std::string &password)
Definition monero_wallet.h:1370
virtual std::vector< monero_account > get_accounts(const std::string &tag) const
Definition monero_wallet.h:603
virtual monero_network_type get_network_type() const
Definition monero_wallet.h:237
virtual uint64_t get_balance() const
Definition monero_wallet.h:523
virtual void delete_address_book_entry(uint64_t index)
Definition monero_wallet.h:1177
virtual void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="")
Definition monero_wallet.h:149
virtual void start_mining(boost::optional< uint64_t > num_threads, boost::optional< bool > background_mining, boost::optional< bool > ignore_battery)
Definition monero_wallet.h:1229
virtual std::string get_private_spend_key() const
Definition monero_wallet.h:291
virtual std::string prepare_multisig()
Definition monero_wallet.h:1282
virtual std::string get_primary_address() const
Definition monero_wallet.h:300
virtual bool is_view_only() const
Definition monero_wallet.h:138
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:1168
virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition monero_wallet.h:311
virtual std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const
Definition monero_wallet.h:1024
virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex)
Definition monero_wallet.h:1340
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:801
virtual std::string get_public_view_key() const
Definition monero_wallet.h:264
virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition monero_wallet.h:677
virtual std::string relay_tx(const std::string &tx_metadata)
Definition monero_wallet.h:901
virtual void add_listener(monero_wallet_listener &listener)
Definition monero_wallet.h:409
virtual std::vector< std::shared_ptr< monero_key_image > > export_key_images(bool all=false) const
Definition monero_wallet.h:791
virtual monero_multisig_info get_multisig_info() const
Definition monero_wallet.h:1272
virtual void set_restore_height(uint64_t restore_height)
Definition monero_wallet.h:370
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false)
Definition monero_wallet.h:891
virtual void thaw_output(const std::string &key_image)
Definition monero_wallet.h:819
virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const
Definition monero_wallet.h:400
virtual std::string relay_tx(const monero_tx_wallet &tx)
Definition monero_wallet.h:913
virtual void set_daemon_connection(const boost::optional< monero_rpc_connection > &connection)
Definition monero_wallet.h:158
virtual boost::optional< monero_rpc_connection > get_daemon_connection() const
Definition monero_wallet.h:174
virtual uint64_t get_unlocked_balance() const
Definition monero_wallet.h:553
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:1012
virtual int import_outputs(const std::string &outputs_hex)
Definition monero_wallet.h:781
virtual std::set< monero_wallet_listener * > get_listeners()
Definition monero_wallet.h:425
virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition monero_wallet.h:574
virtual std::vector< std::string > relay_txs(const std::vector< std::shared_ptr< monero_tx_wallet > > &txs)
Definition monero_wallet.h:923
virtual std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const
Definition monero_wallet.h:745
virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string &message) const
Definition monero_wallet.h:1082
virtual uint64_t get_unlocked_balance(uint32_t account_idx) const
Definition monero_wallet.h:563
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs() const
Definition monero_wallet.h:709
virtual uint64_t wait_for_next_block()
Definition monero_wallet.h:1245
virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="")
Definition monero_wallet.h:688
virtual ~monero_wallet()
Definition monero_wallet.h:130
virtual std::vector< monero_account > get_accounts(bool include_subaddresses) const
Definition monero_wallet.h:593
virtual monero_tx_priority get_default_fee_priority() const
Definition monero_wallet.h:838
virtual std::string export_multisig_hex()
Definition monero_wallet.h:1316
virtual void start_syncing(uint64_t sync_period_in_ms=10000)
Definition monero_wallet.h:474
virtual std::string get_seed() const
Definition monero_wallet.h:246
virtual void scan_txs(const std::vector< std::string > &tx_hashes)
Definition monero_wallet.h:490
virtual void rescan_spent()
Definition monero_wallet.h:503
virtual monero_subaddress get_address_index(const std::string &address) const
Definition monero_wallet.h:322
virtual void set_subaddress_label(uint32_t account_idx, uint32_t subaddress_idx, const std::string &label="")
Definition monero_wallet.h:699
virtual monero_sync_result sync(uint64_t start_height)
Definition monero_wallet.h:454
virtual void close(bool save=false)
Definition monero_wallet.h:1386
virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const
Definition monero_wallet.h:635
virtual std::vector< std::string > submit_txs(const std::string &signed_tx_hex)
Definition monero_wallet.h:965
virtual std::string get_tx_note(const std::string &tx_hash) const
Definition monero_wallet.h:1104
virtual bool is_multisig() const
Definition monero_wallet.h:1263
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs(const monero_tx_query &query) const
Definition monero_wallet.h:725
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:978
virtual std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const
Definition monero_wallet.h:1197
virtual std::string get_seed_language() const
Definition monero_wallet.h:255
virtual monero_integrated_address get_integrated_address(const std::string &standard_address="", const std::string &payment_id="") const
Definition monero_wallet.h:333
Definition monero_daemon.cpp:58
monero_message_signature_type
Definition monero_wallet_model.h:412
monero_tx_priority
Definition monero_wallet_model.h:361
monero_network_type
Definition monero_daemon_model.h:90
Definition monero_wallet_model.h:123
Definition monero_wallet_model.h:350
Definition monero_wallet_model.h:420
Definition monero_wallet_model.h:462
Definition monero_wallet_model.h:476
Definition monero_wallet_model.h:486
Definition monero_wallet_model.h:252
Definition monero_wallet_model.h:232
Definition monero_wallet_model.h:106
Definition monero_wallet_model.h:94
Definition monero_wallet_model.h:210
Definition monero_wallet_model.h:371
Definition monero_wallet_model.h:305
Definition monero_wallet_model.h:336
Definition monero_wallet_model.h:271
Definition monero_daemon_model.h:99
Definition monero_wallet_full.cpp:705