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
150 virtual void set_daemon_connection(const std::string& uri, const std::string& username = "", const std::string& password = "", const std::string& proxy_uri = "") {
151 throw std::runtime_error("set_daemon_connection() not supported");
152 }
153
159 virtual void set_daemon_connection(const boost::optional<monero_rpc_connection>& connection) {
160 throw std::runtime_error("set_daemon_connection() not supported");
161 }
162
168 virtual boost::optional<monero_rpc_connection> get_daemon_connection() const {
169 throw std::runtime_error("get_daemon_connection() not supported");
170 }
171
177 virtual bool is_connected_to_daemon() const {
178 throw std::runtime_error("is_connected_to_daemon() not supported");
179 }
180
186 virtual bool is_daemon_synced() const {
187 throw std::runtime_error("is_daemon_synced() not supported");
188 }
189
195 virtual bool is_daemon_trusted() const {
196 throw std::runtime_error("is_daemon_trusted() not supported");
197 }
198
204 virtual bool is_synced() const {
205 throw std::runtime_error("is_synced() not supported");
206 }
207
213 virtual monero_version get_version() const {
214 throw std::runtime_error("get_version() not supported");
215 }
216
222 virtual std::string get_path() const {
223 throw std::runtime_error("get_path() not supported");
224 }
225
232 throw std::runtime_error("get_network_type() not supported");
233 }
234
240 virtual std::string get_seed() const {
241 throw std::runtime_error("get_seed() not supported");
242 }
243
249 virtual std::string get_seed_language() const {
250 throw std::runtime_error("get_seed_language() not supported");
251 }
252
258 virtual std::string get_public_view_key() const {
259 throw std::runtime_error("get_public_view_key() not supported");
260 }
261
267 virtual std::string get_private_view_key() const {
268 throw std::runtime_error("get_private_view_key() not supported");
269 }
270
276 virtual std::string get_public_spend_key() const {
277 throw std::runtime_error("get_public_spend_key() not supported");
278 }
279
285 virtual std::string get_private_spend_key() const {
286 throw std::runtime_error("get_private_spend_key() not supported");
287 }
288
294 virtual std::string get_primary_address() const {
295 return get_address(0, 0);
296 }
297
305 virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const {
306 throw std::runtime_error("get_address() not supported");
307 }
308
316 virtual monero_subaddress get_address_index(const std::string& address) const {
317 throw std::runtime_error("get_address_index() not supported");
318 }
319
327 virtual monero_integrated_address get_integrated_address(const std::string& standard_address = "", const std::string& payment_id = "") const {
328 throw std::runtime_error("get_integrated_address() not supported");
329 }
330
337 virtual monero_integrated_address decode_integrated_address(const std::string& integrated_address) const {
338 throw std::runtime_error("decode_integrated_address() not supported");
339 }
340
346 virtual uint64_t get_height() const {
347 throw std::runtime_error("get_height() not supported");
348 }
349
355 virtual uint64_t get_restore_height() const {
356 throw std::runtime_error("get_restore_height() not supported");
357 }
358
364 virtual void set_restore_height(uint64_t restore_height) {
365 throw std::runtime_error("set_restore_height() not supported");
366 }
367
373 virtual uint64_t get_daemon_height() const {
374 throw std::runtime_error("get_daemon_height() not supported");
375 }
376
382 virtual uint64_t get_daemon_max_peer_height() const {
383 throw std::runtime_error("get_daemon_max_peer_height() not supported");
384 }
385
394 virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const {
395 throw std::runtime_error("get_height_by_date(year, month, day) not supported");
396 }
397
403 virtual void add_listener(monero_wallet_listener& listener) {
404 throw std::runtime_error("add_listener() not supported");
405 }
406
412 virtual void remove_listener(monero_wallet_listener& listener) {
413 throw std::runtime_error("remove_listener() not supported");
414 }
415
419 virtual std::set<monero_wallet_listener*> get_listeners() {
420 throw std::runtime_error("get_listeners() not supported");
421 }
422
429 throw std::runtime_error("sync() not supported");
430 }
431
439 throw std::runtime_error("sync() not supported");
440 }
441
448 virtual monero_sync_result sync(uint64_t start_height) {
449 throw std::runtime_error("sync() not supported");
450 }
451
459 virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener& listener) {
460 throw std::runtime_error("sync() not supported");
461 }
462
468 virtual void start_syncing(uint64_t sync_period_in_ms = 10000) {
469 throw std::runtime_error("start_syncing() not supported");
470 }
471
475 virtual void stop_syncing() {
476 throw std::runtime_error("stop_syncing() not supported");
477 }
478
484 virtual void scan_txs(const std::vector<std::string>& tx_hashes) {
485 throw std::runtime_error("scan_txs() not supported");
486 }
487
497 virtual void rescan_spent() {
498 throw std::runtime_error("rescan_spent() not supported");
499 }
500
508 virtual void rescan_blockchain() {
509 throw std::runtime_error("rescan_blockchain() not supported");
510 }
511
517 virtual uint64_t get_balance() const {
518 throw std::runtime_error("get_balance() not supported");
519 }
520
527 virtual uint64_t get_balance(uint32_t account_idx) const {
528 throw std::runtime_error("get_balance() not supported");
529 }
530
538 virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
539 throw std::runtime_error("get_balance() not supported");
540 }
541
547 virtual uint64_t get_unlocked_balance() const {
548 throw std::runtime_error("get_unlocked_balance() not supported");
549 }
550
557 virtual uint64_t get_unlocked_balance(uint32_t account_idx) const {
558 throw std::runtime_error("get_unlocked_balance() not supported");
559 }
560
568 virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const {
569 throw std::runtime_error("get_unlocked_balance() not supported");
570 }
571
577 virtual std::vector<monero_account> get_accounts() const {
578 return get_accounts(false, std::string(""));
579 }
580
587 virtual std::vector<monero_account> get_accounts(bool include_subaddresses) const {
588 return get_accounts(include_subaddresses, "");
589 }
590
597 virtual std::vector<monero_account> get_accounts(const std::string& tag) const {
598 return get_accounts(false, tag);
599 }
600
608 virtual std::vector<monero_account> get_accounts(bool include_subaddresses, const std::string& tag) const {
609 throw std::runtime_error("get_accounts() not supported");
610 }
611
618 virtual monero_account get_account(uint32_t account_idx) const {
619 return get_account(account_idx, false);
620 }
621
629 virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const {
630 throw std::runtime_error("get_account() not supported");
631 }
632
639 virtual monero_account create_account(const std::string& label = "") {
640 throw std::runtime_error("create_account() not supported");
641 }
642
649 virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx) const {
650 return get_subaddresses(account_idx, std::vector<uint32_t>());
651 }
652
660 virtual std::vector<monero_subaddress> get_subaddresses(const uint32_t account_idx, const std::vector<uint32_t>& subaddress_indices) const {
661 throw std::runtime_error("get_subaddresses() not supported");
662 }
663
671 virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const {
672 throw std::runtime_error("get_subaddress() not supported");
673 }
674
682 virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string& label = "") {
683 throw std::runtime_error("create_subaddress() not supported");
684 }
685
693 virtual void set_subaddress_label(uint32_t account_idx, uint32_t subaddress_idx, const std::string& label = "") {
694 throw std::runtime_error("set_subaddress_label() not supported");
695 }
696
703 virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs() const {
704 throw std::runtime_error("get_txs() not supported");
705 }
706
719 virtual std::vector<std::shared_ptr<monero_tx_wallet>> get_txs(const monero_tx_query& query) const {
720 throw std::runtime_error("get_txs(query) not supported");
721 }
722
739 virtual std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const {
740 throw std::runtime_error("get_transfers() not supported");
741 }
742
755 virtual std::vector<std::shared_ptr<monero_output_wallet>> get_outputs(const monero_output_query& query) const {
756 throw std::runtime_error("get_outputs() not supported");
757 }
758
765 virtual std::string export_outputs(bool all = false) const {
766 throw std::runtime_error("export_outputs() not supported");
767 }
768
775 virtual int import_outputs(const std::string& outputs_hex) {
776 throw std::runtime_error("import_outputs() not supported");
777 }
778
785 virtual std::vector<std::shared_ptr<monero_key_image>> export_key_images(bool all = false) const {
786 throw std::runtime_error("export_key_images() not supported");
787 }
788
795 virtual std::shared_ptr<monero_key_image_import_result> import_key_images(const std::vector<std::shared_ptr<monero_key_image>>& key_images) {
796 throw std::runtime_error("import_key_images() not supported");
797 }
798
804 virtual void freeze_output(const std::string& key_image) {
805 throw std::runtime_error("freeze_output() not supported");
806 }
807
813 virtual void thaw_output(const std::string& key_image) {
814 throw std::runtime_error("thaw_output() not supported");
815 }
816
823 virtual bool is_output_frozen(const std::string& key_image) {
824 throw std::runtime_error("is_output_frozen() not supported");
825 }
826
833 throw std::runtime_error("get_default_fee_priority() not supported");
834 }
835
842 virtual std::shared_ptr<monero_tx_wallet> create_tx(const monero_tx_config& config) {
843 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");
844 monero_tx_config config_copy = monero_tx_config(config);
845 config_copy.m_can_split = false;
846 return create_txs(config_copy)[0];
847 }
848
855 virtual std::vector<std::shared_ptr<monero_tx_wallet>> create_txs(const monero_tx_config& config) {
856 throw std::runtime_error("create_txs() not supported");
857 }
858
865 virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_unlocked(const monero_tx_config& config) {
866 throw std::runtime_error("sweep_unlocked() not supported");
867 }
868
875 virtual std::shared_ptr<monero_tx_wallet> sweep_output(const monero_tx_config& config) {
876 throw std::runtime_error("sweep_output() not supported");
877 }
878
885 virtual std::vector<std::shared_ptr<monero_tx_wallet>> sweep_dust(bool relay = false) {
886 throw std::runtime_error("sweep_dust() not supported");
887 }
888
895 virtual std::string relay_tx(const std::string& tx_metadata) {
896 std::vector<std::string> tx_metadatas;
897 tx_metadatas.push_back(tx_metadata);
898 return relay_txs(tx_metadatas)[0];
899 }
900
907 virtual std::string relay_tx(const monero_tx_wallet& tx) {
908 return relay_tx(tx.m_metadata.get());
909 }
910
917 virtual std::vector<std::string> relay_txs(const std::vector<std::shared_ptr<monero_tx_wallet>>& txs) {
918 std::vector<std::string> tx_hexes;
919 for (const std::shared_ptr<monero_tx_wallet>& tx : txs) tx_hexes.push_back(tx->m_metadata.get());
920 return relay_txs(tx_hexes);
921 }
922
929 virtual std::vector<std::string> relay_txs(const std::vector<std::string>& tx_metadatas) {
930 throw std::runtime_error("relay_txs() not supported");
931 }
932
940 throw std::runtime_error("describe_tx_set() not supported");
941 }
942
949 virtual monero_tx_set sign_txs(const std::string& unsigned_tx_hex) {
950 throw std::runtime_error("sign_txs() not supported");
951 }
952
959 virtual std::vector<std::string> submit_txs(const std::string& signed_tx_hex) {
960 throw std::runtime_error("submit_txs() not supported");
961 }
962
972 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 {
973 throw std::runtime_error("sign_message() not supported");
974 }
975
984 virtual monero_message_signature_result verify_message(const std::string& msg, const std::string& address, const std::string& signature) const {
985 throw std::runtime_error("verify_message() not supported");
986 }
987
994 virtual std::string get_tx_key(const std::string& tx_hash) const {
995 throw std::runtime_error("get_tx_key() not supported");
996 }
997
1006 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 {
1007 throw std::runtime_error("check_tx_key() not supported");
1008 }
1009
1018 virtual std::string get_tx_proof(const std::string& tx_hash, const std::string& address, const std::string& message) const {
1019 throw std::runtime_error("get_tx_proof() not supported");
1020 }
1021
1031 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 {
1032 throw std::runtime_error("check_tx_proof() not supported");
1033 }
1034
1042 virtual std::string get_spend_proof(const std::string& tx_hash, const std::string& message) const {
1043 throw std::runtime_error("get_spend_proof() not supported");
1044 }
1045
1054 virtual bool check_spend_proof(const std::string& tx_hash, const std::string& message, const std::string& signature) const {
1055 throw std::runtime_error("check_spend_proof() not supported");
1056 }
1057
1064 virtual std::string get_reserve_proof_wallet(const std::string& message) const {
1065 throw std::runtime_error("get_reserve_proof_wallet() not supported");
1066 }
1067
1076 virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string& message) const {
1077 throw std::runtime_error("get_reserve_proof_account() not supported");
1078 }
1079
1088 virtual std::shared_ptr<monero_check_reserve> check_reserve_proof(const std::string& address, const std::string& message, const std::string& signature) const {
1089 throw std::runtime_error("check_reserve_proof() not supported");
1090 }
1091
1098 virtual std::string get_tx_note(const std::string& tx_hash) const {
1099 throw std::runtime_error("get_tx_note() not supported");
1100 }
1101
1108 virtual std::vector<std::string> get_tx_notes(const std::vector<std::string>& tx_hashes) const {
1109 throw std::runtime_error("get_tx_notes() not supported");
1110 }
1111
1118 virtual void set_tx_note(const std::string& tx_hash, const std::string& note) {
1119 throw std::runtime_error("set_tx_note() not supported");
1120 }
1121
1128 virtual void set_tx_notes(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes) {
1129 throw std::runtime_error("set_tx_notes() not supported");
1130 }
1131
1138 virtual std::vector<monero_address_book_entry> get_address_book_entries(const std::vector<uint64_t>& indices) const {
1139 throw std::runtime_error("get_address_book_entries() not supported");
1140 }
1141
1149 virtual uint64_t add_address_book_entry(const std::string& address, const std::string& description) {
1150 throw std::runtime_error("add_address_book_entry() not supported");
1151 }
1152
1162 virtual void edit_address_book_entry(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description) {
1163 throw std::runtime_error("edit_address_book_entry() not supported");
1164 }
1165
1171 virtual void delete_address_book_entry(uint64_t index) {
1172 throw std::runtime_error("delete_address_book_entry() not supported");
1173 }
1174
1181 virtual std::string get_payment_uri(const monero_tx_config& config) const {
1182 throw std::runtime_error("get_payment_uri() not supported");
1183 }
1184
1191 virtual std::shared_ptr<monero_tx_config> parse_payment_uri(const std::string& uri) const {
1192 throw std::runtime_error("parse_payment_uri() not supported");
1193 }
1194
1202 virtual bool get_attribute(const std::string& key, std::string& value) const {
1203 throw std::runtime_error("get_attribute() not supported");
1204 }
1205
1212 virtual void set_attribute(const std::string& key, const std::string& val) {
1213 throw std::runtime_error("set_attribute() not supported");
1214 }
1215
1223 virtual void start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery) {
1224 throw std::runtime_error("start_mining() not supported");
1225 }
1226
1230 virtual void stop_mining() {
1231 throw std::runtime_error("stop_mining() not supported");
1232 }
1233
1239 virtual uint64_t wait_for_next_block() {
1240 throw std::runtime_error("wait_for_next_block() not supported");
1241 }
1242
1248 virtual bool is_multisig_import_needed() const {
1249 throw std::runtime_error("is_multisig_import_needed() not supported");
1250 }
1251
1257 virtual bool is_multisig() const {
1258 return get_multisig_info().m_is_multisig;
1259 }
1260
1267 throw std::runtime_error("get_multisig_info() not supported");
1268 }
1269
1276 virtual std::string prepare_multisig() {
1277 throw std::runtime_error("prepare_multisig() not supported");
1278 }
1279
1288 virtual std::string make_multisig(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password) {
1289 throw std::runtime_error("make_multisig() not supported");
1290 }
1291
1301 virtual monero_multisig_init_result exchange_multisig_keys(const std::vector<std::string>& multisig_hexes, const std::string& password) {
1302 throw std::runtime_error("exchange_multisig_keys() not supported");
1303 }
1304
1310 virtual std::string export_multisig_hex() {
1311 throw std::runtime_error("export_multisig_hex() not supported");
1312 }
1313
1324 virtual int import_multisig_hex(const std::vector<std::string>& multisig_hexes) {
1325 throw std::runtime_error("import_multisig_hex() not supported");
1326 }
1327
1334 virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string& multisig_tx_hex) {
1335 throw std::runtime_error("monero_multisig_sign_result() not supported");
1336 }
1337
1344 virtual std::vector<std::string> submit_multisig_tx_hex(const std::string& signed_multisig_tx_hex) {
1345 throw std::runtime_error("submit_multisig_tx_hex() not supported");
1346 }
1347
1354 virtual void change_password(const std::string& old_password, const std::string& new_password) {
1355 throw std::runtime_error("change_password() not supported");
1356 }
1357
1364 virtual void move_to(const std::string& path, const std::string& password) {
1365 throw std::runtime_error("move_to() not supported");
1366 }
1367
1371 virtual void save() {
1372 throw std::runtime_error("save() not supported");
1373 }
1374
1380 virtual void close(bool save = false) {
1381 throw std::runtime_error("close() not supported");
1382 }
1383 };
1384}
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:1371
virtual std::string get_private_view_key() const
Definition monero_wallet.h:267
virtual void rescan_blockchain()
Definition monero_wallet.h:508
virtual std::string make_multisig(const std::vector< std::string > &multisig_hexes, int threshold, const std::string &password)
Definition monero_wallet.h:1288
virtual monero_sync_result sync()
Definition monero_wallet.h:428
virtual std::vector< std::string > submit_multisig_tx_hex(const std::string &signed_multisig_tx_hex)
Definition monero_wallet.h:1344
virtual std::string get_spend_proof(const std::string &tx_hash, const std::string &message) const
Definition monero_wallet.h:1042
virtual std::vector< std::string > get_tx_notes(const std::vector< std::string > &tx_hashes) const
Definition monero_wallet.h:1108
virtual int import_multisig_hex(const std::vector< std::string > &multisig_hexes)
Definition monero_wallet.h:1324
virtual monero_sync_result sync(uint64_t start_height, monero_wallet_listener &listener)
Definition monero_wallet.h:459
virtual bool check_spend_proof(const std::string &tx_hash, const std::string &message, const std::string &signature) const
Definition monero_wallet.h:1054
virtual void set_attribute(const std::string &key, const std::string &val)
Definition monero_wallet.h:1212
virtual std::vector< monero_account > get_accounts(bool include_subaddresses, const std::string &tag) const
Definition monero_wallet.h:608
virtual bool is_daemon_synced() const
Definition monero_wallet.h:186
virtual std::vector< std::shared_ptr< monero_tx_wallet > > create_txs(const monero_tx_config &config)
Definition monero_wallet.h:855
virtual monero_multisig_init_result exchange_multisig_keys(const std::vector< std::string > &multisig_hexes, const std::string &password)
Definition monero_wallet.h:1301
virtual monero_message_signature_result verify_message(const std::string &msg, const std::string &address, const std::string &signature) const
Definition monero_wallet.h:984
virtual uint64_t get_daemon_height() const
Definition monero_wallet.h:373
virtual monero_tx_set describe_tx_set(const monero_tx_set &tx_set)
Definition monero_wallet.h:939
virtual std::string get_public_spend_key() const
Definition monero_wallet.h:276
virtual void change_password(const std::string &old_password, const std::string &new_password)
Definition monero_wallet.h:1354
virtual monero_account get_account(uint32_t account_idx) const
Definition monero_wallet.h:618
virtual std::string get_tx_key(const std::string &tx_hash) const
Definition monero_wallet.h:994
virtual void stop_syncing()
Definition monero_wallet.h:475
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:1088
virtual std::shared_ptr< monero_tx_wallet > create_tx(const monero_tx_config &config)
Definition monero_wallet.h:842
virtual void stop_mining()
Definition monero_wallet.h:1230
virtual bool get_attribute(const std::string &key, std::string &value) const
Definition monero_wallet.h:1202
virtual std::string get_reserve_proof_wallet(const std::string &message) const
Definition monero_wallet.h:1064
virtual std::string get_payment_uri(const monero_tx_config &config) const
Definition monero_wallet.h:1181
virtual monero_account create_account(const std::string &label="")
Definition monero_wallet.h:639
virtual bool is_daemon_trusted() const
Definition monero_wallet.h:195
virtual void freeze_output(const std::string &key_image)
Definition monero_wallet.h:804
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_unlocked(const monero_tx_config &config)
Definition monero_wallet.h:865
virtual std::vector< monero_address_book_entry > get_address_book_entries(const std::vector< uint64_t > &indices) const
Definition monero_wallet.h:1138
virtual monero_tx_set sign_txs(const std::string &unsigned_tx_hex)
Definition monero_wallet.h:949
virtual uint64_t get_height() const
Definition monero_wallet.h:346
virtual bool is_multisig_import_needed() const
Definition monero_wallet.h:1248
virtual void set_tx_notes(const std::vector< std::string > &tx_hashes, const std::vector< std::string > &notes)
Definition monero_wallet.h:1128
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:1031
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx, const std::vector< uint32_t > &subaddress_indices) const
Definition monero_wallet.h:660
virtual uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition monero_wallet.h:538
virtual void set_tx_note(const std::string &tx_hash, const std::string &note)
Definition monero_wallet.h:1118
virtual void remove_listener(monero_wallet_listener &listener)
Definition monero_wallet.h:412
virtual monero_sync_result sync(monero_wallet_listener &listener)
Definition monero_wallet.h:438
virtual bool is_output_frozen(const std::string &key_image)
Definition monero_wallet.h:823
virtual uint64_t get_daemon_max_peer_height() const
Definition monero_wallet.h:382
virtual std::string export_outputs(bool all=false) const
Definition monero_wallet.h:765
virtual std::vector< std::string > relay_txs(const std::vector< std::string > &tx_metadatas)
Definition monero_wallet.h:929
virtual monero_version get_version() const
Definition monero_wallet.h:213
virtual std::vector< monero_account > get_accounts() const
Definition monero_wallet.h:577
virtual bool is_synced() const
Definition monero_wallet.h:204
virtual std::vector< monero_subaddress > get_subaddresses(const uint32_t account_idx) const
Definition monero_wallet.h:649
virtual uint64_t get_restore_height() const
Definition monero_wallet.h:355
virtual std::vector< std::shared_ptr< monero_output_wallet > > get_outputs(const monero_output_query &query) const
Definition monero_wallet.h:755
virtual uint64_t add_address_book_entry(const std::string &address, const std::string &description)
Definition monero_wallet.h:1149
virtual uint64_t get_balance(uint32_t account_idx) const
Definition monero_wallet.h:527
virtual bool is_connected_to_daemon() const
Definition monero_wallet.h:177
virtual monero_integrated_address decode_integrated_address(const std::string &integrated_address) const
Definition monero_wallet.h:337
virtual std::shared_ptr< monero_tx_wallet > sweep_output(const monero_tx_config &config)
Definition monero_wallet.h:875
virtual std::string get_path() const
Definition monero_wallet.h:222
virtual void move_to(const std::string &path, const std::string &password)
Definition monero_wallet.h:1364
virtual std::vector< monero_account > get_accounts(const std::string &tag) const
Definition monero_wallet.h:597
virtual monero_network_type get_network_type() const
Definition monero_wallet.h:231
virtual uint64_t get_balance() const
Definition monero_wallet.h:517
virtual void delete_address_book_entry(uint64_t index)
Definition monero_wallet.h:1171
virtual void start_mining(boost::optional< uint64_t > num_threads, boost::optional< bool > background_mining, boost::optional< bool > ignore_battery)
Definition monero_wallet.h:1223
virtual std::string get_private_spend_key() const
Definition monero_wallet.h:285
virtual std::string prepare_multisig()
Definition monero_wallet.h:1276
virtual std::string get_primary_address() const
Definition monero_wallet.h:294
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:1162
virtual std::string get_address(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition monero_wallet.h:305
virtual std::string get_tx_proof(const std::string &tx_hash, const std::string &address, const std::string &message) const
Definition monero_wallet.h:1018
virtual monero_multisig_sign_result sign_multisig_tx_hex(const std::string &multisig_tx_hex)
Definition monero_wallet.h:1334
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:795
virtual std::string get_public_view_key() const
Definition monero_wallet.h:258
virtual monero_subaddress get_subaddress(const uint32_t account_idx, const uint32_t subaddress_idx) const
Definition monero_wallet.h:671
virtual std::string relay_tx(const std::string &tx_metadata)
Definition monero_wallet.h:895
virtual void set_daemon_connection(const std::string &uri, const std::string &username="", const std::string &password="", const std::string &proxy_uri="")
Definition monero_wallet.h:150
virtual void add_listener(monero_wallet_listener &listener)
Definition monero_wallet.h:403
virtual std::vector< std::shared_ptr< monero_key_image > > export_key_images(bool all=false) const
Definition monero_wallet.h:785
virtual monero_multisig_info get_multisig_info() const
Definition monero_wallet.h:1266
virtual void set_restore_height(uint64_t restore_height)
Definition monero_wallet.h:364
virtual std::vector< std::shared_ptr< monero_tx_wallet > > sweep_dust(bool relay=false)
Definition monero_wallet.h:885
virtual void thaw_output(const std::string &key_image)
Definition monero_wallet.h:813
virtual uint64_t get_height_by_date(uint16_t year, uint8_t month, uint8_t day) const
Definition monero_wallet.h:394
virtual std::string relay_tx(const monero_tx_wallet &tx)
Definition monero_wallet.h:907
virtual void set_daemon_connection(const boost::optional< monero_rpc_connection > &connection)
Definition monero_wallet.h:159
virtual boost::optional< monero_rpc_connection > get_daemon_connection() const
Definition monero_wallet.h:168
virtual uint64_t get_unlocked_balance() const
Definition monero_wallet.h:547
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:1006
virtual int import_outputs(const std::string &outputs_hex)
Definition monero_wallet.h:775
virtual std::set< monero_wallet_listener * > get_listeners()
Definition monero_wallet.h:419
virtual uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) const
Definition monero_wallet.h:568
virtual std::vector< std::string > relay_txs(const std::vector< std::shared_ptr< monero_tx_wallet > > &txs)
Definition monero_wallet.h:917
virtual std::vector< std::shared_ptr< monero_transfer > > get_transfers(const monero_transfer_query &query) const
Definition monero_wallet.h:739
virtual std::string get_reserve_proof_account(uint32_t account_idx, uint64_t amount, const std::string &message) const
Definition monero_wallet.h:1076
virtual uint64_t get_unlocked_balance(uint32_t account_idx) const
Definition monero_wallet.h:557
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs() const
Definition monero_wallet.h:703
virtual uint64_t wait_for_next_block()
Definition monero_wallet.h:1239
virtual monero_subaddress create_subaddress(uint32_t account_idx, const std::string &label="")
Definition monero_wallet.h:682
virtual ~monero_wallet()
Definition monero_wallet.h:130
virtual std::vector< monero_account > get_accounts(bool include_subaddresses) const
Definition monero_wallet.h:587
virtual monero_tx_priority get_default_fee_priority() const
Definition monero_wallet.h:832
virtual std::string export_multisig_hex()
Definition monero_wallet.h:1310
virtual void start_syncing(uint64_t sync_period_in_ms=10000)
Definition monero_wallet.h:468
virtual std::string get_seed() const
Definition monero_wallet.h:240
virtual void scan_txs(const std::vector< std::string > &tx_hashes)
Definition monero_wallet.h:484
virtual void rescan_spent()
Definition monero_wallet.h:497
virtual monero_subaddress get_address_index(const std::string &address) const
Definition monero_wallet.h:316
virtual void set_subaddress_label(uint32_t account_idx, uint32_t subaddress_idx, const std::string &label="")
Definition monero_wallet.h:693
virtual monero_sync_result sync(uint64_t start_height)
Definition monero_wallet.h:448
virtual void close(bool save=false)
Definition monero_wallet.h:1380
virtual monero_account get_account(const uint32_t account_idx, bool include_subaddresses) const
Definition monero_wallet.h:629
virtual std::vector< std::string > submit_txs(const std::string &signed_tx_hex)
Definition monero_wallet.h:959
virtual std::string get_tx_note(const std::string &tx_hash) const
Definition monero_wallet.h:1098
virtual bool is_multisig() const
Definition monero_wallet.h:1257
virtual std::vector< std::shared_ptr< monero_tx_wallet > > get_txs(const monero_tx_query &query) const
Definition monero_wallet.h:719
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:972
virtual std::shared_ptr< monero_tx_config > parse_payment_uri(const std::string &uri) const
Definition monero_wallet.h:1191
virtual std::string get_seed_language() const
Definition monero_wallet.h:249
virtual monero_integrated_address get_integrated_address(const std::string &standard_address="", const std::string &payment_id="") const
Definition monero_wallet.h:327
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