Monero C++ Library
Loading...
Searching...
No Matches
monero_wallet_model.h
1
52
53#pragma once
54
55#include "common/monero_rpc_connection.h"
56#include "daemon/monero_daemon_model.h"
57
58using namespace monero;
59
63namespace monero {
64
68 struct monero_wallet_config : public serializable_struct {
69 boost::optional<std::string> m_path;
70 boost::optional<std::string> m_password;
71 boost::optional<monero_network_type> m_network_type;
72 std::shared_ptr<monero_rpc_connection> m_server;
73 boost::optional<bool> m_is_trusted_daemon;
74 boost::optional<std::string> m_seed;
75 boost::optional<std::string> m_seed_offset;
76 boost::optional<std::string> m_primary_address;
77 boost::optional<std::string> m_private_view_key;
78 boost::optional<std::string> m_private_spend_key;
79 boost::optional<uint64_t> m_restore_height;
80 boost::optional<std::string> m_language;
81 boost::optional<bool> m_save_current;
82 boost::optional<uint64_t> m_account_lookahead;
83 boost::optional<uint64_t> m_subaddress_lookahead;
84 boost::optional<bool> m_is_multisig;
85 boost::optional<bool> m_regtest;
86
87 monero_wallet_config() {}
88 monero_wallet_config(const monero_wallet_config& config);
89 monero_wallet_config copy() const;
90 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
91 static std::shared_ptr<monero_wallet_config> deserialize(const std::string& config_json);
92 };
93
97 struct monero_sync_result : public serializable_struct {
98 uint64_t m_num_blocks_fetched;
99 bool m_received_money;
100 monero_sync_result() {}
101 monero_sync_result(const uint64_t num_blocks_fetched, const bool received_money) : m_num_blocks_fetched(num_blocks_fetched), m_received_money(received_money) {}
102
103 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
104 };
105
110 boost::optional<uint32_t> m_account_index;
111 boost::optional<uint32_t> m_index;
112 boost::optional<std::string> m_address;
113 boost::optional<std::string> m_label;
114 boost::optional<uint64_t> m_balance;
115 boost::optional<uint64_t> m_unlocked_balance;
116 boost::optional<uint64_t> m_num_unspent_outputs;
117 boost::optional<bool> m_is_used;
118 boost::optional<uint64_t> m_num_blocks_to_unlock;
119
120 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
121 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_subaddress>& subaddress);
122 };
123
128 boost::optional<uint32_t> m_index;
129 boost::optional<std::string> m_primary_address;
130 boost::optional<uint64_t> m_balance;
131 boost::optional<uint64_t> m_unlocked_balance;
132 boost::optional<std::string> m_tag;
133 std::vector<monero_subaddress> m_subaddresses;
134
135 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
136 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_account>& account);
137 };
138
142 struct monero_destination : public serializable_struct {
143 boost::optional<std::string> m_address;
144 boost::optional<uint64_t> m_amount;
145
146 monero_destination(boost::optional<std::string> address = boost::none, boost::optional<uint64_t> amount = boost::none) : m_address(address), m_amount(amount) {}
147 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
148 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_destination>& destination);
149 std::shared_ptr<monero_destination> copy(const std::shared_ptr<monero_destination>& src, const std::shared_ptr<monero_destination>& tgt) const;
150 };
151
152 // forward declarations
153 struct monero_tx_config;
154 struct monero_tx_wallet;
155 struct monero_tx_query;
156 struct monero_tx_set;
157
164 std::shared_ptr<monero_tx_wallet> m_tx;
165 boost::optional<uint64_t> m_amount;
166 boost::optional<uint32_t> m_account_index;
167
168 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
169 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_transfer>& transfer);
170 virtual boost::optional<bool> is_incoming() const = 0; // derived class must implement
171 std::shared_ptr<monero_transfer> copy(const std::shared_ptr<monero_transfer>& src, const std::shared_ptr<monero_transfer>& tgt) const;
172 boost::optional<bool> is_outgoing() const {
173 if (is_incoming() == boost::none) return boost::none;
174 return !(*is_incoming());
175 }
176 void merge(const std::shared_ptr<monero_transfer>& self, const std::shared_ptr<monero_transfer>& other);
177 };
178
183 boost::optional<uint32_t> m_subaddress_index;
184 boost::optional<std::string> m_address;
185 boost::optional<uint64_t> m_num_suggested_confirmations;
186
187 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
188 std::shared_ptr<monero_incoming_transfer> copy(const std::shared_ptr<monero_transfer>& src, const std::shared_ptr<monero_transfer>& tgt) const;
189 std::shared_ptr<monero_incoming_transfer> copy(const std::shared_ptr<monero_incoming_transfer>& src, const std::shared_ptr<monero_incoming_transfer>& tgt) const;
190 boost::optional<bool> is_incoming() const;
191 void merge(const std::shared_ptr<monero_transfer>& self, const std::shared_ptr<monero_transfer>& other);
192 void merge(const std::shared_ptr<monero_incoming_transfer>& self, const std::shared_ptr<monero_incoming_transfer>& other);
193 };
194
199 std::vector<uint32_t> m_subaddress_indices;
200 std::vector<std::string> m_addresses;
201 std::vector<std::shared_ptr<monero_destination>> m_destinations;
202
203 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
204 std::shared_ptr<monero_outgoing_transfer> copy(const std::shared_ptr<monero_transfer>& src, const std::shared_ptr<monero_transfer>& tgt) const;
205 std::shared_ptr<monero_outgoing_transfer> copy(const std::shared_ptr<monero_outgoing_transfer>& src, const std::shared_ptr<monero_outgoing_transfer>& tgt) const;
206 boost::optional<bool> is_incoming() const;
207 void merge(const std::shared_ptr<monero_transfer>& self, const std::shared_ptr<monero_transfer>& other);
208 void merge(const std::shared_ptr<monero_outgoing_transfer>& self, const std::shared_ptr<monero_outgoing_transfer>& other);
209 };
210
217 boost::optional<bool> m_is_incoming;
218 boost::optional<std::string> m_address;
219 std::vector<std::string> m_addresses;
220 boost::optional<uint32_t> m_subaddress_index;
221 std::vector<uint32_t> m_subaddress_indices;
222 std::vector<std::shared_ptr<monero_destination>> m_destinations;
223 boost::optional<bool> m_has_destinations;
224 std::shared_ptr<monero_tx_query> m_tx_query;
225
226 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
227 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_transfer_query>& transfer_query);
228 static std::shared_ptr<monero_transfer_query> deserialize_from_block(const std::string& transfer_query_json);
229 static bool is_contextual(const monero_transfer_query& query);
230 std::shared_ptr<monero_transfer_query> copy(const std::shared_ptr<monero_transfer>& src, const std::shared_ptr<monero_transfer>& tgt) const;
231 std::shared_ptr<monero_transfer_query> copy(const std::shared_ptr<monero_transfer_query>& src, const std::shared_ptr<monero_transfer_query>& tgt) const;
232 boost::optional<bool> is_incoming() const;
233 bool meets_criteria(monero_transfer* transfer, bool query_parent = true) const;
234 };
235
240 boost::optional<uint32_t> m_account_index;
241 boost::optional<uint32_t> m_subaddress_index;
242 boost::optional<bool> m_is_spent;
243 boost::optional<bool> m_is_frozen;
244
245 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
246 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_output_wallet>& output_wallet);
247 std::shared_ptr<monero_output_wallet> copy(const std::shared_ptr<monero_output>& src, const std::shared_ptr<monero_output>& tgt) const;
248 std::shared_ptr<monero_output_wallet> copy(const std::shared_ptr<monero_output_wallet>& src, const std::shared_ptr<monero_output_wallet>& tgt) const;
249 void merge(const std::shared_ptr<monero_output>& self, const std::shared_ptr<monero_output>& other);
250 void merge(const std::shared_ptr<monero_output_wallet>& self, const std::shared_ptr<monero_output_wallet>& other);
251 };
252
260 std::vector<uint32_t> m_subaddress_indices;
261 boost::optional<uint64_t> m_min_amount;
262 boost::optional<uint64_t> m_max_amount;
263 std::shared_ptr<monero_tx_query> m_tx_query;
264
265 //boost::property_tree::ptree to_property_tree() const;
266 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
267 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_output_query>& output_query);
268 static std::shared_ptr<monero_output_query> deserialize_from_block(const std::string& output_query_json);
269 static bool is_contextual(const monero_output_query& query);
270 std::shared_ptr<monero_output_query> copy(const std::shared_ptr<monero_output>& src, const std::shared_ptr<monero_output>& tgt) const;
271 std::shared_ptr<monero_output_query> copy(const std::shared_ptr<monero_output_wallet>& src, const std::shared_ptr<monero_output_wallet>& tgt) const; // TODO: necessary to override all super classes?
272 std::shared_ptr<monero_output_query> copy(const std::shared_ptr<monero_output_query>& src, const std::shared_ptr<monero_output_query>& tgt) const;
273 bool meets_criteria(monero_output_wallet* output, bool query_parent = true) const;
274 };
275
279 struct monero_tx_wallet : public monero_tx {
280 std::shared_ptr<monero_tx_set> m_tx_set;
281 boost::optional<bool> m_is_incoming;
282 boost::optional<bool> m_is_outgoing;
283 std::vector<std::shared_ptr<monero_incoming_transfer>> m_incoming_transfers;
284 std::shared_ptr<monero_outgoing_transfer> m_outgoing_transfer;
285 boost::optional<std::string> m_note;
286 boost::optional<bool> m_is_locked;
287 boost::optional<uint64_t> m_input_sum;
288 boost::optional<uint64_t> m_output_sum;
289 boost::optional<std::string> m_change_address;
290 boost::optional<uint64_t> m_change_amount;
291 boost::optional<uint32_t> m_num_dummy_outputs;
292 boost::optional<std::string> m_extra_hex;
293
294 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
295 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_wallet>& tx_wallet);
296 std::shared_ptr<monero_tx_wallet> copy(const std::shared_ptr<monero_tx>& src, const std::shared_ptr<monero_tx>& tgt) const;
297 std::shared_ptr<monero_tx_wallet> copy(const std::shared_ptr<monero_tx_wallet>& src, const std::shared_ptr<monero_tx_wallet>& tgt) const;
298 void merge(const std::shared_ptr<monero_tx>& self, const std::shared_ptr<monero_tx>& other);
299 void merge(const std::shared_ptr<monero_tx_wallet>& self, const std::shared_ptr<monero_tx_wallet>& other);
300 std::vector<std::shared_ptr<monero_transfer>> get_transfers() const;
301 std::vector<std::shared_ptr<monero_transfer>> get_transfers(const monero_transfer_query& query) const;
302 std::vector<std::shared_ptr<monero_transfer>> filter_transfers(const monero_transfer_query& query);
303 std::vector<std::shared_ptr<monero_output_wallet>> get_outputs_wallet() const;
304 std::vector<std::shared_ptr<monero_output_wallet>> get_outputs_wallet(const monero_output_query& query) const;
305 std::vector<std::shared_ptr<monero_output_wallet>> filter_outputs_wallet(const monero_output_query& query);
306 };
307
314 boost::optional<bool> m_is_outgoing;
315 boost::optional<bool> m_is_incoming;
316 std::vector<std::string> m_hashes;
317 boost::optional<bool> m_has_payment_id;
318 std::vector<std::string> m_payment_ids;
319 boost::optional<uint64_t> m_height;
320 boost::optional<uint64_t> m_min_height;
321 boost::optional<uint64_t> m_max_height;
322 boost::optional<uint64_t> m_include_outputs;
323 std::shared_ptr<monero_transfer_query> m_transfer_query;
324 std::shared_ptr<monero_output_query> m_input_query;
325 std::shared_ptr<monero_output_query> m_output_query;
326
327 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
328 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_query>& tx_query);
329 static std::shared_ptr<monero_tx_query> deserialize_from_block(const std::string& tx_query_json);
330
338 static std::shared_ptr<monero_tx_query> decontextualize(std::shared_ptr<monero_tx_query> query);
339 std::shared_ptr<monero_tx_query> copy(const std::shared_ptr<monero_tx>& src, const std::shared_ptr<monero_tx>& tgt) const;
340 std::shared_ptr<monero_tx_query> copy(const std::shared_ptr<monero_tx_wallet>& src, const std::shared_ptr<monero_tx_wallet>& tgt) const; // TODO: necessary to override all super classes?
341 std::shared_ptr<monero_tx_query> copy(const std::shared_ptr<monero_tx_query>& src, const std::shared_ptr<monero_tx_query>& tgt) const;
342 bool meets_criteria(monero_tx_wallet* tx, bool query_children = true) const;
343 };
344
354 std::vector<std::shared_ptr<monero_tx_wallet>> m_txs;
355 boost::optional<std::string> m_signed_tx_hex;
356 boost::optional<std::string> m_unsigned_tx_hex;
357 boost::optional<std::string> m_multisig_tx_hex;
358
359 //boost::property_tree::ptree to_property_tree() const;
360
361 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_set>& set);
362 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
363 static monero_tx_set deserialize(const std::string& tx_set_json);
364 };
365
370 std::string m_standard_address;
371 std::string m_payment_id;
372 std::string m_integrated_address;
373
374 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
375 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_integrated_address>& subaddress);
376 };
377
381 enum monero_tx_priority : uint8_t {
382 DEFAULT = 0,
383 UNIMPORTANT,
384 NORMAL,
385 ELEVATED
386 };
387
391 struct monero_tx_config : public serializable_struct {
392 boost::optional<std::string> m_address;
393 boost::optional<uint64_t> m_amount;
394 std::vector<std::shared_ptr<monero_destination>> m_destinations;
395 std::vector<uint32_t> m_subtract_fee_from;
396 boost::optional<std::string> m_payment_id;
397 boost::optional<monero_tx_priority> m_priority;
398 boost::optional<uint32_t> m_ring_size;
399 boost::optional<uint64_t> m_fee;
400 boost::optional<uint32_t> m_account_index;
401 std::vector<uint32_t> m_subaddress_indices;
402 boost::optional<bool> m_can_split;
403 boost::optional<bool> m_relay;
404 boost::optional<std::string> m_note;
405 boost::optional<std::string> m_recipient_name;
406 boost::optional<uint64_t> m_below_amount;
407 boost::optional<bool> m_sweep_each_subaddress;
408 boost::optional<std::string> m_key_image;
409
410 monero_tx_config() {}
411 monero_tx_config(const monero_tx_config& config);
412 monero_tx_config copy() const;
413 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
414 static std::shared_ptr<monero_tx_config> deserialize(const std::string& config_json);
415 std::vector<std::shared_ptr<monero_destination>> get_normalized_destinations() const;
416 };
417
422 boost::optional<uint64_t> m_offset;
423 std::vector<std::shared_ptr<monero_key_image>> m_key_images;
424
425 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
426 static std::shared_ptr<monero_key_image_export_result> deserialize(const std::string& result_json);
427 };
428
433 boost::optional<uint64_t> m_height;
434 boost::optional<uint64_t> m_spent_amount;
435 boost::optional<uint64_t> m_unspent_amount;
436
437 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
438 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_key_image_import_result>& result);
439 };
440
445 SIGN_WITH_SPEND_KEY = 0,
446 SIGN_WITH_VIEW_KEY
447 };
448
453 bool m_is_good;
454 uint32_t m_version;
455 bool m_is_old;
456 monero_message_signature_type m_signature_type;
457
458 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
459 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_message_signature_result> result);
460 };
461
466 bool m_is_good;
467
468 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
469 };
470
475 boost::optional<bool> m_in_tx_pool;
476 boost::optional<uint64_t> m_num_confirmations;
477 boost::optional<uint64_t> m_received_amount;
478
479 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
480 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_check_tx>& check);
481 };
482
487 boost::optional<uint64_t> m_total_amount;
488 boost::optional<uint64_t> m_unconfirmed_spent_amount;
489
490 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
491 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_check_reserve>& check);
492 };
493
498 bool m_is_multisig;
499 bool m_is_ready;
500 uint32_t m_threshold;
501 uint32_t m_num_participants;
502
503 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
504 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_multisig_info>& info);
505 };
506
513 boost::optional<std::string> m_address;
514 boost::optional<std::string> m_multisig_hex;
515
516 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
517 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_multisig_init_result>& res);
518 };
519
524 boost::optional<std::string> m_signed_multisig_tx_hex;
525 std::vector<std::string> m_tx_hashes;
526
527 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
528 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_multisig_sign_result>& res);
529 };
530
534 struct monero_address_book_entry : public serializable_struct {
535 boost::optional<uint64_t> m_index; // TODO: not boost::optional
536 boost::optional<std::string> m_address;
537 boost::optional<std::string> m_description;
538 boost::optional<std::string> m_payment_id;
539
540 monero_address_book_entry() {}
541 monero_address_book_entry(uint64_t index, const std::string& address, const std::string& description) : m_index(index), m_address(address), m_description(description) {}
542 monero_address_book_entry(uint64_t index, const std::string& address, const std::string& description, const std::string& payment_id) : m_index(index), m_address(address), m_description(description), m_payment_id(payment_id) {}
543
544 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_address_book_entry>& entry);
545 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const;
546 };
547
551 enum monero_address_type : uint8_t {
552 PRIMARY_ADDRESS = 0,
553 INTEGRATED_ADDRESS,
554 SUBADDRESS
555 };
556
561 bool operator()(const std::shared_ptr<monero_tx>& tx1, const std::shared_ptr<monero_tx>& tx2) const;
562 };
563
568 bool operator()(const std::shared_ptr<monero_incoming_transfer>& t1, const std::shared_ptr<monero_incoming_transfer>& t2) const;
569 bool operator()(const monero_incoming_transfer& t1, const monero_incoming_transfer& t2) const;
570 };
571
576 bool operator()(const monero_output_wallet& o1, const monero_output_wallet& o2) const;
577 };
578
582 struct monero_decoded_address : public serializable_struct {
583 std::string m_address;
584 monero_address_type m_address_type;
585 monero_network_type m_network_type;
586
587 monero_decoded_address(const std::string& address, monero_address_type address_type, monero_network_type network_type);
588
589 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
590 };
591
595 struct monero_account_tag : public serializable_struct {
596 boost::optional<std::string> m_tag;
597 boost::optional<std::string> m_label;
598 std::vector<uint32_t> m_account_indices;
599
600 monero_account_tag() { }
601 monero_account_tag(const std::string& tag, const std::string& label): m_tag(tag), m_label(label) { }
602 monero_account_tag(const std::string& tag, const std::string& label, const std::vector<uint32_t>& account_indices): m_tag(tag), m_label(label), m_account_indices(account_indices) { }
603
604 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
605
606 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_account_tag>& account_tag);
607 };
608
609}
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
monero_address_type
Definition monero_wallet_model.h:551
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_model.cpp:1869
Definition monero_wallet_model.h:127
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:227
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1728
Definition monero_wallet_model.h:486
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1624
Definition monero_wallet_model.h:474
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1605
Definition monero_wallet_model.h:465
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1581
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_model.cpp:1837
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:701
Definition monero_wallet_model.h:567
Definition monero_wallet_model.h:182
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:847
Definition monero_wallet_model.h:369
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1450
Definition monero_wallet_model.h:421
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1476
Definition monero_wallet_model.h:432
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1526
Definition monero_wallet_model.h:452
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1558
Definition monero_wallet_model.h:497
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1659
Definition monero_wallet_model.h:512
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1685
Definition monero_wallet_model.h:523
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1711
Definition monero_wallet_model.h:198
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:894
Definition monero_wallet_model.h:575
Definition monero_wallet_model.h:259
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1208
Definition monero_wallet_model.h:239
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1138
Definition monero_daemon_model.h:269
Definition monero_wallet_model.h:109
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:267
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:198
Definition monero_wallet_model.h:216
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:954
Definition monero_wallet_model.h:163
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:791
Definition monero_wallet_model.h:391
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:1356
Definition monero_wallet_model.h:560
Definition monero_wallet_model.h:313
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:490
static std::shared_ptr< monero_tx_query > decontextualize(std::shared_ptr< monero_tx_query > query)
Definition monero_wallet_model.cpp:690
Definition monero_wallet_model.h:353
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:735
Definition monero_wallet_model.h:279
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:295
Definition monero_daemon_model.h:202
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const
Definition monero_wallet_model.cpp:119
Definition monero_daemon_model.h:70