Monero C++ Library
Loading...
Searching...
No Matches
monero_wallet_rpc_model.h
1
54#pragma once
55
56#include "daemon/monero_daemon_rpc_model.h"
57#include "monero_wallet_model.h"
58
62namespace monero {
63
67 struct key_value : public serializable_struct {
68 boost::optional<std::string> m_key;
69 boost::optional<std::string> m_value;
70
71 key_value() { }
72 key_value(const std::string& key): m_key(key) { }
73 key_value(const std::string& key, const std::string& value): m_key(key), m_value(value) { }
74
75 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
76 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<key_value>& attributes);
77 };
78
82 struct monero_rpc_key_image : public monero_key_image {
83 monero_rpc_key_image(const std::shared_ptr<monero_key_image> &key_image);
84
85 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
86 };
87
88 // ------------------------------ JSON-RPC Params ---------------------------------
89
90 struct monero_query_key_params : public serializable_struct {
91 boost::optional<std::string> m_key_type;
92
93 monero_query_key_params(const std::string& key_type): m_key_type(key_type) { }
94
95 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
96 };
97
98 struct monero_query_output_params : public serializable_struct {
99 boost::optional<std::string> m_key_image;
100
101 monero_query_output_params(const std::string& key_image): m_key_image(key_image) { }
102
103 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
104 };
105
106 struct monero_get_address_params : public serializable_struct {
107 boost::optional<std::string> m_address;
108 boost::optional<uint32_t> m_account_index;
109 std::vector<uint32_t> m_subaddress_indices;
110
111 monero_get_address_params(const std::string& address): m_address(address) { }
112 monero_get_address_params(uint32_t account_index): m_account_index(account_index) { }
113 monero_get_address_params(uint32_t account_index, const std::vector<uint32_t>& subaddress_indices): m_account_index(account_index), m_subaddress_indices(subaddress_indices) { }
114
115 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
116 };
117
118 struct monero_integrated_address_params : public serializable_struct {
119 boost::optional<std::string> m_integrated_address;
120 boost::optional<std::string> m_standard_address;
121 boost::optional<std::string> m_payment_id;
122
123 monero_integrated_address_params(const std::string& integrated_address): m_integrated_address(integrated_address) {}
124 monero_integrated_address_params(const std::string& standard_address, const std::string& payment_id): m_standard_address(standard_address), m_payment_id(payment_id) { }
125
126 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
127 };
128
129 struct monero_multisig_params : public serializable_struct {
130 // TODO monero-docs document this parameter
131 boost::optional<bool> m_enable_multisig_experimental;
132 boost::optional<bool> m_refresh_after_import;
133 std::vector<std::string> m_multisig_info;
134 std::vector<std::string> m_multisig_hexes;
135 boost::optional<std::string> m_multisig_tx_hex;
136 boost::optional<int> m_threshold;
137 boost::optional<std::string> m_password;
138
139 monero_multisig_params(bool enable_multisig_experimental = true): m_enable_multisig_experimental(enable_multisig_experimental) { }
140 monero_multisig_params(const std::vector<std::string>& multisig_hexes, const std::string& password): m_multisig_info(multisig_hexes), m_password(password) { }
141 monero_multisig_params(const std::vector<std::string>& multisig_hexes, const char* password): monero_multisig_params(multisig_hexes, std::string(password)) { }
142 monero_multisig_params(const std::vector<std::string>& multisig_hexes, int threshold, const std::string& password): m_multisig_info(multisig_hexes), m_threshold(threshold), m_password(password) { }
143 monero_multisig_params(const std::vector<std::string>& multisig_hexes, const bool refresh_after_import): m_multisig_hexes(multisig_hexes), m_refresh_after_import(refresh_after_import) { }
144 monero_multisig_params(const std::string& multisig_tx_hex): m_multisig_tx_hex(multisig_tx_hex) { }
145
146 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
147 };
148
149 struct monero_payment_uri_params : public serializable_struct {
150 boost::optional<std::string> m_uri;
151 boost::optional<std::string> m_address;
152 boost::optional<uint64_t> m_amount;
153 boost::optional<std::string> m_payment_id;
154 boost::optional<std::string> m_recipient_name;
155 boost::optional<std::string> m_tx_description;
156
157 monero_payment_uri_params() { }
158 monero_payment_uri_params(const std::string& uri): m_uri(uri) { }
159 monero_payment_uri_params(const monero_tx_config& config);
160
161 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
162 };
163
164 struct monero_get_balance_params : public serializable_struct {
165 boost::optional<uint32_t> m_account_idx;
166 std::vector<uint32_t> m_address_indices;
167 boost::optional<bool> m_all_accounts;
168 boost::optional<bool> m_strict;
169
170 monero_get_balance_params(bool all_accounts, bool strict = false): m_all_accounts(all_accounts), m_strict(strict) { }
171 monero_get_balance_params(uint32_t account_idx, const std::vector<uint32_t>& address_indices, bool all_accounts = false, bool strict = false): m_account_idx(account_idx), m_address_indices(address_indices), m_all_accounts(all_accounts), m_strict(strict) { }
172 monero_get_balance_params(uint32_t account_idx, boost::optional<uint32_t> address_idx, bool all_accounts = false, bool strict = false);
173
174 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
175 };
176
177 struct monero_close_wallet_params : public serializable_struct {
178 boost::optional<bool> m_save;
179
180 monero_close_wallet_params(bool save = false): m_save(save) { }
181
182 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
183 };
184
185 struct monero_change_wallet_password_params : public serializable_struct {
186 boost::optional<std::string> m_old_password;
187 boost::optional<std::string> m_new_password;
188
189 monero_change_wallet_password_params(const std::string& old_password, const std::string& new_password): m_old_password(old_password), m_new_password(new_password) { }
190
191 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
192 };
193
195 boost::optional<std::string> m_address;
196 boost::optional<std::string> m_username;
197 boost::optional<std::string> m_password;
198 boost::optional<std::string> m_proxy;
199 boost::optional<bool> m_trusted;
200 boost::optional<std::string> m_ssl_support;
201 boost::optional<ssl_options> m_ssl_options;
202
203 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
204 };
205
206 struct monero_account_tag_params : public serializable_struct {
207 std::vector<uint32_t> m_account_indices;
208 boost::optional<std::string> m_tag;
209 boost::optional<std::string> m_label;
210 boost::optional<std::string> m_description;
211
212 monero_account_tag_params() {}
213 monero_account_tag_params(const std::string& tag, const std::string& description = ""): m_tag(tag), m_description(description) { }
214 monero_account_tag_params(const std::vector<uint32_t>& account_indices): m_account_indices(account_indices) { }
215 monero_account_tag_params(const std::string& tag, const std::vector<uint32_t>& account_indices): m_tag(tag), m_account_indices(account_indices) { }
216
217 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
218 };
219
220 struct monero_tx_notes_params : public serializable_struct {
221 std::vector<std::string> m_tx_hashes;
222 std::vector<std::string> m_notes;
223
224 monero_tx_notes_params(const std::vector<std::string>& tx_hashes): m_tx_hashes(tx_hashes) { }
225 monero_tx_notes_params(const std::vector<std::string>& tx_hashes, const std::vector<std::string>& notes): m_tx_hashes(tx_hashes), m_notes(notes) { }
226
227 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
228 };
229
230 struct monero_address_book_entry_params : public serializable_struct {
231 boost::optional<uint64_t> m_index; // TODO: not boost::optional
232 boost::optional<bool> m_set_address;
233 boost::optional<std::string> m_address;
234 boost::optional<bool> m_set_description;
235 boost::optional<std::string> m_description;
236 std::vector<uint64_t> m_entries;
237
238 monero_address_book_entry_params(uint64_t index): m_index(index) { }
239 monero_address_book_entry_params(const std::vector<uint64_t>& entries): m_entries(entries) { }
240 monero_address_book_entry_params(uint64_t index, bool set_address, const std::string& address, bool set_description, const std::string& description): m_index(index), m_set_address(set_address), m_address(address), m_set_description(set_description), m_description(description) { }
241 monero_address_book_entry_params(const std::string& address, const std::string& description): m_address(address), m_description(description) { }
242
243 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
244 };
245
246 struct monero_verify_sign_message_params : public serializable_struct {
247 boost::optional<std::string> m_data;
248 boost::optional<std::string> m_address;
249 boost::optional<std::string> m_signature;
250 boost::optional<monero_message_signature_type> m_signature_type;
251 boost::optional<uint32_t> m_account_index;
252 boost::optional<uint32_t> m_address_index;
253
254 monero_verify_sign_message_params(const std::string &data, const std::string &address, const std::string& signature): m_data(data), m_address(address), m_signature(signature) { }
255 monero_verify_sign_message_params(const std::string &data, monero_message_signature_type signature_type, uint32_t account_index, uint32_t address_index): m_data(data), m_signature_type(signature_type), m_account_index(account_index), m_address_index(address_index) { }
256
257 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
258 };
259
260 struct monero_check_tx_key_params : public serializable_struct {
261 boost::optional<std::string> m_tx_hash;
262 boost::optional<std::string> m_address;
263 boost::optional<std::string> m_tx_key;
264
265 monero_check_tx_key_params(const std::string &tx_hash): m_tx_hash(tx_hash) { }
266 monero_check_tx_key_params(const std::string &tx_hash, const std::string &tx_key, const std::string &address): m_tx_hash(tx_hash), m_tx_key(tx_key), m_address(address) { }
267
268 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
269 };
270
271 struct monero_sign_describe_transfer_params : public serializable_struct {
272 boost::optional<std::string> m_unsigned_txset;
273 boost::optional<std::string> m_multisig_txset;
274 boost::optional<bool> m_export_raw;
275 boost::optional<bool> m_get_tx_keys;
276
277 monero_sign_describe_transfer_params() { }
278 monero_sign_describe_transfer_params(const std::string &unsigned_txset) : m_unsigned_txset(unsigned_txset) { }
279 monero_sign_describe_transfer_params(const std::string &unsigned_txset, const std::string &multisig_txset) : m_unsigned_txset(unsigned_txset), m_multisig_txset(multisig_txset) { }
280
281 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
282 };
283
284 struct monero_wallet_relay_tx_params : public serializable_struct {
285 boost::optional<std::string> m_hex;
286 boost::optional<std::string> m_signed_tx_hex;
287
288 monero_wallet_relay_tx_params() {}
289 monero_wallet_relay_tx_params(const std::string &hex): m_hex(hex) { }
290
291 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
292 };
293
294 struct monero_sweep_params : public serializable_struct {
295 boost::optional<std::string> m_address;
296 boost::optional<uint32_t> m_account_index;
297 std::vector<uint32_t> m_subaddr_indices;
298 boost::optional<std::string> m_key_image;
299 boost::optional<bool> m_relay;
300 boost::optional<monero_tx_priority> m_priority;
301 boost::optional<std::string> m_payment_id;
302 boost::optional<uint64_t> m_below_amount;
303 boost::optional<bool> m_get_tx_key;
304 boost::optional<bool> m_get_tx_keys;
305 boost::optional<bool> m_get_tx_hex;
306 boost::optional<bool> m_get_tx_metadata;
307
308 monero_sweep_params(bool relay = false): m_relay(relay) { }
309 monero_sweep_params(const monero_tx_config& config);
310
311 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
312 };
313
314 struct monero_create_edit_subaddress_params : public serializable_struct {
315 boost::optional<std::string> m_label;
316 boost::optional<uint32_t> m_account_index;
317 boost::optional<uint32_t> m_subaddress_index;
318
319 monero_create_edit_subaddress_params(uint32_t account_idx, const std::string& label): m_account_index(account_idx), m_label(label) { }
320 monero_create_edit_subaddress_params(uint32_t account_idx, uint32_t subaddress_idx, const std::string& label): m_account_index(account_idx), m_subaddress_index(subaddress_idx), m_label(label) { }
321
322 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
323 };
324
325 struct monero_wallet_data_params : public serializable_struct {
326 boost::optional<bool> m_all;
327 std::vector<std::shared_ptr<monero_key_image>> m_key_images;
328 boost::optional<uint64_t> m_offset;
329 boost::optional<std::string> m_outputs_hex;
330
331 monero_wallet_data_params(const std::vector<std::shared_ptr<monero_key_image>> &key_images, uint64_t offset): m_key_images(key_images), m_offset(offset) { };
332 monero_wallet_data_params(bool all): m_all(all) { }
333 monero_wallet_data_params(const std::string& outputs_hex): m_outputs_hex(outputs_hex) { }
334
335 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
336 };
337
338 struct monero_create_open_wallet_params : public serializable_struct {
339 boost::optional<std::string> m_filename;
340 boost::optional<std::string> m_password;
341 boost::optional<std::string> m_language;
342 boost::optional<std::string> m_seed;
343 boost::optional<std::string> m_seed_offset;
344 boost::optional<uint64_t> m_restore_height;
345 boost::optional<bool> m_autosave_current;
346 boost::optional<bool> m_enable_multisig_experimental;
347 boost::optional<std::string> m_address;
348 boost::optional<std::string> m_view_key;
349 boost::optional<std::string> m_spend_key;
350
351 monero_create_open_wallet_params(const boost::optional<std::string>& filename, const boost::optional<std::string> &password): m_filename(filename), m_password(password), m_autosave_current(false) { }
352 monero_create_open_wallet_params(const boost::optional<std::string>& filename, const boost::optional<std::string> &password, const boost::optional<std::string> &language): m_filename(filename), m_password(password), m_language(language), m_autosave_current(false) { }
353 monero_create_open_wallet_params(const boost::optional<std::string>& filename, const boost::optional<std::string> &password, const boost::optional<std::string> &seed, const boost::optional<std::string> &seed_offset, const boost::optional<uint64_t> &restore_height, const boost::optional<std::string> &language, const boost::optional<bool> &autosave_current, const boost::optional<bool> &enable_multisig_experimental): m_filename(filename), m_password(password), m_seed(seed), m_seed_offset(seed_offset), m_restore_height(restore_height), m_language(language), m_autosave_current(autosave_current), m_enable_multisig_experimental(enable_multisig_experimental) { }
354 monero_create_open_wallet_params(const boost::optional<std::string>& filename, const boost::optional<std::string> &password, const boost::optional<std::string> &address, const boost::optional<std::string> &view_key, const boost::optional<std::string> &spend_key, const boost::optional<uint64_t> &restore_height, const boost::optional<bool> &autosave_current): m_filename(filename), m_password(password), m_address(address), m_view_key(view_key), m_spend_key(spend_key), m_restore_height(restore_height), m_autosave_current(autosave_current) { }
355
356 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
357 };
358
359 struct monero_reserve_proof_params : public serializable_struct {
360 boost::optional<bool> m_all;
361 boost::optional<std::string> m_message;
362 boost::optional<std::string> m_tx_hash;
363 boost::optional<uint32_t> m_account_index;
364 boost::optional<uint64_t> m_amount;
365 boost::optional<std::string> m_address;
366 boost::optional<std::string> m_signature;
367
368 monero_reserve_proof_params(const std::string &message, bool all = true): m_all(all), m_message(message) { }
369 monero_reserve_proof_params(const std::string &address, const std::string &message, const std::string &signature): m_address(address), m_message(message), m_signature(signature) { }
370 monero_reserve_proof_params(const std::string &tx_hash, const std::string &address, const std::string &message, const std::string &signature): m_tx_hash(tx_hash), m_address(address), m_message(message), m_signature(signature) { }
371 monero_reserve_proof_params(const std::string &tx_hash, const std::string &message): m_tx_hash(tx_hash), m_message(message) { }
372 monero_reserve_proof_params(uint32_t account_index, uint64_t amount, const std::string &message): m_account_index(account_index), m_amount(amount), m_message(message) { }
373
374 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
375 };
376
377 struct monero_wallet_refresh_params : public serializable_struct {
378 boost::optional<bool> m_enable;
379 boost::optional<uint64_t> m_period;
380 boost::optional<uint64_t> m_start_height;
381
382 monero_wallet_refresh_params() { }
383 monero_wallet_refresh_params(bool enable): m_enable(enable) { }
384 monero_wallet_refresh_params(bool enable, uint64_t period): m_enable(enable), m_period(period) { }
385 monero_wallet_refresh_params(uint64_t start_height): m_start_height(start_height) { }
386
387 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
388 };
389
390 struct monero_transfer_params : public serializable_struct {
391 std::vector<uint32_t> m_subtract_fee_from_outputs;
392 boost::optional<uint32_t> m_account_index;
393 std::vector<uint32_t> m_subaddress_indices;
394 boost::optional<std::string> m_payment_id;
395 boost::optional<bool> m_do_not_relay;
396 boost::optional<int> m_priority;
397 boost::optional<bool> m_get_tx_hex;
398 boost::optional<bool> m_get_tx_metadata;
399 boost::optional<bool> m_get_tx_keys;
400 boost::optional<bool> m_get_tx_key;
401 std::vector<std::shared_ptr<monero_destination>> m_destinations;
402
403 monero_transfer_params(const monero_tx_config &config);
404
405 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
406 };
407
409 boost::optional<bool> m_in;
410 boost::optional<bool> m_out;
411 boost::optional<bool> m_pool;
412 boost::optional<bool> m_pending;
413 boost::optional<bool> m_failed;
414 boost::optional<uint64_t> m_min_height;
415 boost::optional<uint64_t> m_max_height;
416 boost::optional<bool> m_all_accounts;
417 boost::optional<uint32_t> m_account_index;
418 std::vector<uint32_t> m_subaddr_indices;
419
420 bool filter_by_height() const { return m_min_height != boost::none || m_max_height != boost::none; }
421 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
422 };
423
424 struct monero_get_incoming_transfers_params : public serializable_struct {
425 boost::optional<std::string> m_transfer_type;
426 boost::optional<bool> m_verbose;
427 boost::optional<uint32_t> m_account_index;
428 std::vector<uint32_t> m_subaddr_indices;
429
430 monero_get_incoming_transfers_params(const std::string& transfer_type, bool verbose = true): m_transfer_type(transfer_type), m_verbose(verbose) { }
431
432 rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType& allocator) const override;
433 };
434
435 // ------------------------------ JSON-RPC Response ---------------------------------
436
438 boost::optional<int> m_num_outputs;
439 boost::optional<std::string> m_multisig_info;
440 std::vector<std::string> m_tx_hashes;
441
442 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_multisig_response>& response);
443 };
444
445 struct monero_get_balance_response {
446 boost::optional<uint64_t> m_balance;
447 boost::optional<uint64_t> m_unlocked_balance;
448 boost::optional<bool> m_multisig_import_needed;
449 boost::optional<uint64_t> m_time_to_unlock;
450 boost::optional<uint64_t> m_blocks_to_unlock;
451 std::vector<std::shared_ptr<monero_subaddress>> m_per_subaddress;
452
453 monero_get_balance_response(): m_balance(0), m_unlocked_balance(0) { }
454
455 static void from_property_tree(const boost::property_tree::ptree& node, const std::shared_ptr<monero_get_balance_response>& response);
456 };
457
458 // ------------------------------ RPC Deserialization ---------------------------------
459
460 void deserialize_subaddress(const boost::property_tree::ptree& node, const std::shared_ptr<monero_subaddress>& subaddress);
461 void deserialize_subaddresses(const boost::property_tree::ptree& node, std::vector<std::shared_ptr<monero_subaddress>>& subaddresses);
462 void deserialize_account(const boost::property_tree::ptree& node, monero_account& account);
463 void deserialize_accounts(const boost::property_tree::ptree& node, std::vector<monero_account>& accounts);
464 void init_sent_tx(const monero_tx_config &config, std::shared_ptr<monero_tx_wallet> &tx, bool copy_destinations);
465 void deserialize_tx_with_transfer_and_merge(const boost::property_tree::ptree& node, std::map<std::string, std::shared_ptr<monero_tx_wallet>>& tx_map, std::map<uint64_t, std::shared_ptr<monero_block>>& block_map);
466 void deserialize_tx_with_output_and_merge(const boost::property_tree::ptree& node, std::map<std::string, std::shared_ptr<monero_tx_wallet>>& tx_map, std::map<uint64_t, std::shared_ptr<monero_block>>& block_map);
467 void deserialize_tx_set(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_set>& set);
468 void deserialize_tx_set(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_set>& set, const std::shared_ptr<monero_tx_wallet> &tx, bool is_outgoing, const monero_tx_config &config);
469 void deserialize_sent_tx_set(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_set>& set);
470 void deserialize_sent_tx_set(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_set>& set, std::vector<std::shared_ptr<monero_tx_wallet>> &txs, const boost::optional<monero_tx_config> &conf);
471 void deserialize_described_tx_set(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_set>& set);
472 void deserialize_submitted_tx_hashes(const boost::property_tree::ptree& node, std::vector<std::string>& tx_hashes);
473 void deserialize_relayed_tx_hash(const boost::property_tree::ptree& node, std::vector<std::string>& tx_hashes);
474 int deserialize_num_created_txs(const boost::property_tree::ptree& node, bool can_split);
475 std::string deserialize_tx_key(const boost::property_tree::ptree& node);
476 void deserialize_tx_notes(const boost::property_tree::ptree& node, std::vector<std::string>& tx_notes);
477 void deserialize_integrated_address(const boost::property_tree::ptree& node, monero_integrated_address& subaddress);
478 void deserialize_key_image_export_result(const boost::property_tree::ptree& node, const std::shared_ptr<monero_key_image_export_result>& result);
479 void deserialize_key_image_import_result(const boost::property_tree::ptree& node, const std::shared_ptr<monero_key_image_import_result>& result);
480 void deserialize_message_signature_result(const boost::property_tree::ptree& node, monero_message_signature_result& result);
481 void deserialize_check_tx(const boost::property_tree::ptree& node, const std::shared_ptr<monero_check_tx>& check);
482 void deserialize_check_reserve(const boost::property_tree::ptree& node, const std::shared_ptr<monero_check_reserve>& check);
483 void deserialize_multisig_info(const boost::property_tree::ptree& node, monero_multisig_info& info);
484 void deserialize_multisig_init_result(const boost::property_tree::ptree& node, monero_multisig_init_result& res);
485 void deserialize_multisig_sign_result(const boost::property_tree::ptree& node, monero_multisig_sign_result& res);
486 void deserialize_address_book_entries(const boost::property_tree::ptree& node, std::vector<monero_address_book_entry>& entries);
487 void deserialize_seed_languages(const boost::property_tree::ptree& node, std::vector<std::string>& languages);
488 uint64_t deserialize_address_book_index(const boost::property_tree::ptree& node);
489 void deserialize_account_tags(const boost::property_tree::ptree& node, std::vector<std::shared_ptr<monero_account_tag>>& account_tags);
490 std::string deserialize_signature(const boost::property_tree::ptree& node);
491 std::string deserialize_exported_outputs(const boost::property_tree::ptree& node);
492 uint64_t deserialize_block_height(const boost::property_tree::ptree& node);
493 int deserialize_num_imported_outputs(const boost::property_tree::ptree& node);
494 bool deserialize_frozen_output_info(const boost::property_tree::ptree& node);
495 monero_tx_priority deserialize_tx_priority(const boost::property_tree::ptree& node);
496 std::string deserialize_payment_uri(const boost::property_tree::ptree& node);
497 void deserialize_payment_uri(const boost::property_tree::ptree& node, const std::shared_ptr<monero_tx_config>& tx_config);
498 void deserialize_sync_result(const boost::property_tree::ptree& node, monero_sync_result& sync_result);
499
500}
Definition monero_error.h:61
monero_message_signature_type
Definition monero_wallet_model.h:444
monero_tx_priority
Definition monero_wallet_model.h:381
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:75
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:465
Definition monero_wallet_model.h:127
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:498
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:422
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:553
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:409
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:603
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:627
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:345
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:154
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:699
Definition monero_wallet_rpc_model.h:408
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:723
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:366
Definition monero_wallet_model.h:369
Definition monero_daemon_model.h:255
Definition monero_wallet_model.h:452
Definition monero_wallet_model.h:497
Definition monero_wallet_model.h:512
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:382
Definition monero_wallet_rpc_model.h:437
Definition monero_wallet_model.h:523
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:125
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:317
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:331
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:656
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:95
Definition monero_wallet_rpc_model.h:194
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:437
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:569
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:216
Definition monero_wallet_model.h:97
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:286
Definition monero_wallet_model.h:391
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:484
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:524
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:175
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:681
rapidjson::Value to_rapidjson_val(rapidjson::Document::AllocatorType &allocator) const override
Definition monero_wallet_rpc_model.cpp:588
Definition monero_daemon_model.h:70