Monero
Loading...
Searching...
No Matches
core_rpc_server_commands_defs.h
Go to the documentation of this file.
1// Copyright (c) 2014-2022, The Monero Project
2//
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without modification, are
6// permitted provided that the following conditions are met:
7//
8// 1. Redistributions of source code must retain the above copyright notice, this list of
9// conditions and the following disclaimer.
10//
11// 2. Redistributions in binary form must reproduce the above copyright notice, this list
12// of conditions and the following disclaimer in the documentation and/or other
13// materials provided with the distribution.
14//
15// 3. Neither the name of the copyright holder nor the names of its contributors may be
16// used to endorse or promote products derived from this software without specific
17// prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28//
29// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
30
31#pragma once
32
33#include "string_tools.h"
34
38#include "crypto/hash.h"
39#include "rpc/rpc_handler.h"
40#include "common/varint.h"
41#include "common/perf_timer.h"
42
43namespace
44{
45 template<typename T>
46 std::string compress_integer_array(const std::vector<T> &v)
47 {
48 std::string s;
49 s.resize(v.size() * (sizeof(T) * 8 / 7 + 1));
50 char *ptr = (char*)s.data();
51 for (const T &t: v)
52 tools::write_varint(ptr, t);
53 s.resize(ptr - s.data());
54 return s;
55 }
56
57 template<typename T>
58 std::vector<T> decompress_integer_array(const std::string &s)
59 {
60 std::vector<T> v;
61 v.reserve(s.size());
62 int read = 0;
63 const std::string::const_iterator end = s.end();
64 for (std::string::const_iterator i = s.begin(); i != end; std::advance(i, read))
65 {
66 T t;
67 read = tools::read_varint(std::string::const_iterator(i), s.end(), t);
68 CHECK_AND_ASSERT_THROW_MES(read > 0 && read <= 256, "Error decompressing data");
69 v.push_back(t);
70 }
71 return v;
72 }
73}
74
75namespace cryptonote
76{
77 //-----------------------------------------------
78#define CORE_RPC_STATUS_OK "OK"
79#define CORE_RPC_STATUS_BUSY "BUSY"
80#define CORE_RPC_STATUS_NOT_MINING "NOT MINING"
81#define CORE_RPC_STATUS_PAYMENT_REQUIRED "PAYMENT REQUIRED"
82
83// When making *any* change here, bump minor
84// If the change is incompatible, then bump major and set minor to 0
85// This ensures CORE_RPC_VERSION always increases, that every change
86// has its own version, and that clients can just test major to see
87// whether they can talk to a given daemon without having to know in
88// advance which version they will stop working with
89// Don't go over 32767 for any of these
90#define CORE_RPC_VERSION_MAJOR 3
91#define CORE_RPC_VERSION_MINOR 11
92#define MAKE_CORE_RPC_VERSION(major,minor) (((major)<<16)|(minor))
93#define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR)
94
96 {
99 };
100
102 {
103 std::string status;
105
107
112 };
113
115 {
116 std::string client;
117
122 };
123
125 {
127 std::string top_hash;
128
130
133 KV_SERIALIZE(credits)
134 KV_SERIALIZE(top_hash)
136 };
137
139 {
141 {
145 };
147
149 {
151 std::string hash;
152
155 KV_SERIALIZE(height)
156 KV_SERIALIZE(hash)
158 };
159 typedef epee::misc_utils::struct_init<response_t> response;
160 };
161
163 {
164
166 {
167 std::list<crypto::hash> block_ids; //*first 10 blocks id goes sequential, next goes in pow(2,n) offset, like 2, 4, 8, 16, 32, 64 and so on, and the last one is always genesis block */
169 bool prune;
174 KV_SERIALIZE(start_height)
176 KV_SERIALIZE_OPT(no_miner_tx, false)
178 };
179 typedef epee::misc_utils::struct_init<request_t> request;
180
182 {
183 std::vector<uint64_t> indices;
184
186 KV_SERIALIZE(indices)
188 };
189
191 {
192 std::vector<tx_output_indices> indices;
193
195 KV_SERIALIZE(indices)
197 };
198
200 {
201 std::vector<block_complete_entry> blocks;
204 std::vector<block_output_indices> output_indices;
205
209 KV_SERIALIZE(start_height)
210 KV_SERIALIZE(current_height)
211 KV_SERIALIZE(output_indices)
213 };
214 typedef epee::misc_utils::struct_init<response_t> response;
215 };
216
218 {
220 {
221 std::vector<uint64_t> heights;
224 KV_SERIALIZE(heights)
226 };
227 typedef epee::misc_utils::struct_init<request_t> request;
228
230 {
231 std::vector<block_complete_entry> blocks;
232
237 };
238 typedef epee::misc_utils::struct_init<response_t> response;
239 };
240
242 {
244 {
248 };
250
252 {
253 std::vector<std::string> blks_hashes;
254
257 KV_SERIALIZE(blks_hashes)
259 };
260 typedef epee::misc_utils::struct_init<response_t> response;
261 };
263 {
264
266 {
267 std::list<crypto::hash> block_ids; //*first 10 blocks id goes sequential, next goes in pow(2,n) offset, like 2, 4, 8, 16, 32, 64 and so on, and the last one is always genesis block */
272 KV_SERIALIZE(start_height)
274 };
275 typedef epee::misc_utils::struct_init<request_t> request;
276
278 {
279 std::vector<crypto::hash> m_block_ids;
282
286 KV_SERIALIZE(start_height)
287 KV_SERIALIZE(current_height)
289 };
290 typedef epee::misc_utils::struct_init<response_t> response;
291 };
292 //-----------------------------------------------
294 {
296 {
297 std::string address;
298 std::string view_key;
299 std::string tx;
300
303 KV_SERIALIZE(view_key)
306 };
307 typedef epee::misc_utils::struct_init<request_t> request;
308
309
311 {
312 std::string status;
313 std::string error;
314
316 KV_SERIALIZE(status)
317 KV_SERIALIZE(error)
319 };
320 typedef epee::misc_utils::struct_init<response_t> response;
321 };
322 //-----------------------------------------------
324 {
326 {
327 std::vector<std::string> txs_hashes;
329 bool prune;
330 bool split;
331
334 KV_SERIALIZE(txs_hashes)
335 KV_SERIALIZE(decode_as_json)
337 KV_SERIALIZE_OPT(split, false)
339 };
340 typedef epee::misc_utils::struct_init<request_t> request;
341
342 struct entry
343 {
344 std::string tx_hash;
345 std::string as_hex;
346 std::string pruned_as_hex;
347 std::string prunable_as_hex;
348 std::string prunable_hash;
349 std::string as_json;
356 std::vector<uint64_t> output_indices;
358
360 KV_SERIALIZE(tx_hash)
361 KV_SERIALIZE(as_hex)
362 KV_SERIALIZE(pruned_as_hex)
363 KV_SERIALIZE(prunable_as_hex)
364 KV_SERIALIZE(prunable_hash)
365 KV_SERIALIZE(as_json)
366 KV_SERIALIZE(in_pool)
367 KV_SERIALIZE(double_spend_seen)
368 if (!this_ref.in_pool)
369 {
370 KV_SERIALIZE(block_height)
371 KV_SERIALIZE(confirmations)
372 KV_SERIALIZE(block_timestamp)
373 KV_SERIALIZE(output_indices)
374 }
375 else
376 {
377 KV_SERIALIZE(relayed)
378 KV_SERIALIZE(received_timestamp)
379 }
381 };
382
384 {
385 // older compatibility stuff
386 std::vector<std::string> txs_as_hex; //transactions blobs as hex (old compat)
387 std::vector<std::string> txs_as_json; //transactions decoded as json (old compat)
388
389 // in both old and new
390 std::vector<std::string> missed_tx; //not found transactions
391
392 // new style
393 std::vector<entry> txs;
394
397 KV_SERIALIZE(txs_as_hex)
398 KV_SERIALIZE(txs_as_json)
399 KV_SERIALIZE(txs)
400 KV_SERIALIZE(missed_tx)
402 };
403 typedef epee::misc_utils::struct_init<response_t> response;
404 };
405
406 //-----------------------------------------------
408 {
409 enum STATUS {
410 UNSPENT = 0,
411 SPENT_IN_BLOCKCHAIN = 1,
412 SPENT_IN_POOL = 2,
413 };
414
416 {
417 std::vector<std::string> key_images;
418
421 KV_SERIALIZE(key_images)
423 };
424 typedef epee::misc_utils::struct_init<request_t> request;
425
426
428 {
429 std::vector<int> spent_status;
430
433 KV_SERIALIZE(spent_status)
435 };
436 typedef epee::misc_utils::struct_init<response_t> response;
437 };
438
439 //-----------------------------------------------
441 {
443 {
449 };
450 typedef epee::misc_utils::struct_init<request_t> request;
451
452
454 {
455 std::vector<uint64_t> o_indexes;
456
459 KV_SERIALIZE(o_indexes)
461 };
462 typedef epee::misc_utils::struct_init<response_t> response;
463 };
464 //-----------------------------------------------
466 {
469
471 KV_SERIALIZE(amount)
472 KV_SERIALIZE(index)
474 };
475
477 {
479 {
480 std::vector<get_outputs_out> outputs;
482
486 KV_SERIALIZE_OPT(get_txid, true)
488 };
489 typedef epee::misc_utils::struct_init<request_t> request;
490
491 struct outkey
492 {
498
502 KV_SERIALIZE(unlocked)
503 KV_SERIALIZE(height)
506 };
507
509 {
510 std::vector<outkey> outs;
511
514 KV_SERIALIZE(outs)
516 };
517 typedef epee::misc_utils::struct_init<response_t> response;
518 };
519 //-----------------------------------------------
521 {
523 {
524 std::vector<get_outputs_out> outputs;
526
530 KV_SERIALIZE(get_txid)
532 };
533 typedef epee::misc_utils::struct_init<request_t> request;
534
535 struct outkey
536 {
537 std::string key;
538 std::string mask;
541 std::string txid;
542
545 KV_SERIALIZE(mask)
546 KV_SERIALIZE(unlocked)
547 KV_SERIALIZE(height)
548 KV_SERIALIZE(txid)
550 };
551
553 {
554 std::vector<outkey> outs;
555
558 KV_SERIALIZE(outs)
560 };
561 typedef epee::misc_utils::struct_init<response_t> response;
562 };
563 //-----------------------------------------------
565 {
567 {
568 std::string tx_as_hex;
571
574 KV_SERIALIZE(tx_as_hex)
575 KV_SERIALIZE_OPT(do_not_relay, false)
576 KV_SERIALIZE_OPT(do_sanity_checks, true)
578 };
579 typedef epee::misc_utils::struct_init<request_t> request;
580
581
583 {
584 std::string reason;
595
598 KV_SERIALIZE(reason)
599 KV_SERIALIZE(not_relayed)
600 KV_SERIALIZE(low_mixin)
601 KV_SERIALIZE(double_spend)
602 KV_SERIALIZE(invalid_input)
603 KV_SERIALIZE(invalid_output)
604 KV_SERIALIZE(too_big)
605 KV_SERIALIZE(overspend)
606 KV_SERIALIZE(fee_too_low)
607 KV_SERIALIZE(too_few_outputs)
608 KV_SERIALIZE(sanity_check_failed)
610 };
611 typedef epee::misc_utils::struct_init<response_t> response;
612 };
613 //-----------------------------------------------
615 {
617 {
618 std::string miner_address;
622
625 KV_SERIALIZE(miner_address)
626 KV_SERIALIZE(threads_count)
627 KV_SERIALIZE(do_background_mining)
628 KV_SERIALIZE(ignore_battery)
630 };
631 typedef epee::misc_utils::struct_init<request_t> request;
632
634 {
638 };
640 };
641 //-----------------------------------------------
643 {
645 {
649 };
650 typedef epee::misc_utils::struct_init<request_t> request;
651
653 {
657 std::string wide_difficulty;
671 std::string nettype;
672 std::string top_block_hash;
690 std::string version;
691 bool synchronized;
693
696 KV_SERIALIZE(height)
697 KV_SERIALIZE(target_height)
698 KV_SERIALIZE(difficulty)
700 KV_SERIALIZE(difficulty_top64)
701 KV_SERIALIZE(target)
702 KV_SERIALIZE(tx_count)
703 KV_SERIALIZE(tx_pool_size)
704 KV_SERIALIZE(alt_blocks_count)
705 KV_SERIALIZE(outgoing_connections_count)
706 KV_SERIALIZE(incoming_connections_count)
707 KV_SERIALIZE(rpc_connections_count)
708 KV_SERIALIZE(white_peerlist_size)
709 KV_SERIALIZE(grey_peerlist_size)
710 KV_SERIALIZE(mainnet)
711 KV_SERIALIZE(testnet)
712 KV_SERIALIZE(stagenet)
713 KV_SERIALIZE(nettype)
714 KV_SERIALIZE(top_block_hash)
715 KV_SERIALIZE(cumulative_difficulty)
716 KV_SERIALIZE(wide_cumulative_difficulty)
717 KV_SERIALIZE(cumulative_difficulty_top64)
718 KV_SERIALIZE(block_size_limit)
719 KV_SERIALIZE_OPT(block_weight_limit, (uint64_t)0)
720 KV_SERIALIZE(block_size_median)
721 KV_SERIALIZE_OPT(block_weight_median, (uint64_t)0)
722 KV_SERIALIZE(adjusted_time)
723 KV_SERIALIZE(start_time)
724 KV_SERIALIZE(free_space)
725 KV_SERIALIZE(offline)
726 KV_SERIALIZE(bootstrap_daemon_address)
727 KV_SERIALIZE(height_without_bootstrap)
728 KV_SERIALIZE(was_bootstrap_ever_used)
729 KV_SERIALIZE(database_size)
730 KV_SERIALIZE(update_available)
731 KV_SERIALIZE(busy_syncing)
733 KV_SERIALIZE(synchronized)
734 KV_SERIALIZE(restricted)
736 };
737 typedef epee::misc_utils::struct_init<response_t> response;
738 };
739
740
741 //-----------------------------------------------
743 {
745 {
749 };
751
752
754 {
760
763 KV_SERIALIZE(start_time)
764 KV_SERIALIZE(total_packets_in)
765 KV_SERIALIZE(total_bytes_in)
766 KV_SERIALIZE(total_packets_out)
767 KV_SERIALIZE(total_bytes_out)
769 };
770 typedef epee::misc_utils::struct_init<response_t> response;
771 };
772
773 //-----------------------------------------------
775 {
777 {
781 };
783
784
786 {
790 };
792 };
793
794 //-----------------------------------------------
796 {
798 {
802 };
804
805
807 {
808 bool active;
811 std::string address;
812 std::string pow_algorithm;
821 std::string wide_difficulty;
823
828 KV_SERIALIZE(threads_count)
830 KV_SERIALIZE(pow_algorithm)
831 KV_SERIALIZE(is_background_mining_enabled)
832 KV_SERIALIZE(bg_idle_threshold)
833 KV_SERIALIZE(bg_min_idle_seconds)
834 KV_SERIALIZE(bg_ignore_battery)
835 KV_SERIALIZE(bg_target)
836 KV_SERIALIZE(block_target)
837 KV_SERIALIZE(block_reward)
838 KV_SERIALIZE(difficulty)
840 KV_SERIALIZE(difficulty_top64)
842 };
843 typedef epee::misc_utils::struct_init<response_t> response;
844 };
845
846 //-----------------------------------------------
848 {
850 {
854 };
856
857
859 {
863 };
865 };
866
867 //
869 {
870 typedef std::list<std::string> request;
871
873 {
875
880 };
881 typedef epee::misc_utils::struct_init<response_t> response;
882 };
883
885 {
886 typedef std::vector<uint64_t> request;
887
888 typedef std::string response;
889 };
890
891
893 {
895 {
896 uint64_t reserve_size; //max 255 bytes
897 std::string wallet_address;
898 std::string prev_block;
899 std::string extra_nonce;
900
903 KV_SERIALIZE(reserve_size)
904 KV_SERIALIZE(wallet_address)
905 KV_SERIALIZE(prev_block)
906 KV_SERIALIZE(extra_nonce)
908 };
909 typedef epee::misc_utils::struct_init<request_t> request;
910
912 {
914 std::string wide_difficulty;
919 std::string prev_hash;
921 std::string seed_hash;
922 std::string next_seed_hash;
925
928 KV_SERIALIZE(difficulty)
930 KV_SERIALIZE(difficulty_top64)
931 KV_SERIALIZE(height)
932 KV_SERIALIZE(reserved_offset)
933 KV_SERIALIZE(expected_reward)
934 KV_SERIALIZE(prev_hash)
935 KV_SERIALIZE(seed_height)
936 KV_SERIALIZE(blocktemplate_blob)
937 KV_SERIALIZE(blockhashing_blob)
938 KV_SERIALIZE(seed_hash)
939 KV_SERIALIZE(next_seed_hash)
941 };
942 typedef epee::misc_utils::struct_init<response_t> response;
943 };
944
946 {
948 {
952 };
954
956 {
959 std::string prev_id;
960 std::string seed_hash;
961 std::string difficulty;
964
966 {
967 std::string id;
970
972 KV_SERIALIZE(id)
973 KV_SERIALIZE(weight)
974 KV_SERIALIZE(fee)
976 };
977
978 std::vector<tx_backlog_entry> tx_backlog;
979
982 KV_SERIALIZE(major_version)
983 KV_SERIALIZE(height)
984 KV_SERIALIZE(prev_id)
985 KV_SERIALIZE(seed_hash)
986 KV_SERIALIZE(difficulty)
987 KV_SERIALIZE(median_weight)
988 KV_SERIALIZE(already_generated_coins)
989 KV_SERIALIZE(tx_backlog)
991 };
992 typedef epee::misc_utils::struct_init<response_t> response;
993 };
994
996 {
998 {
1002 std::string seed_hash;
1003
1006 KV_SERIALIZE(major_version)
1007 KV_SERIALIZE(height)
1008 KV_SERIALIZE(block_blob)
1009 KV_SERIALIZE(seed_hash)
1011 };
1012 typedef epee::misc_utils::struct_init<request_t> request;
1013
1014 typedef std::string response;
1015 };
1016
1018 {
1020 {
1021 std::string id;
1022 std::string hash;
1023
1025 KV_SERIALIZE(id)
1026 KV_SERIALIZE(hash)
1028 };
1029
1031 {
1033 std::vector<aux_pow_t> aux_pow;
1034
1037 KV_SERIALIZE(blocktemplate_blob)
1038 KV_SERIALIZE(aux_pow)
1040 };
1041 typedef epee::misc_utils::struct_init<request_t> request;
1042
1044 {
1047 std::string merkle_root;
1049 std::vector<aux_pow_t> aux_pow;
1050
1053 KV_SERIALIZE(blocktemplate_blob)
1054 KV_SERIALIZE(blockhashing_blob)
1055 KV_SERIALIZE(merkle_root)
1056 KV_SERIALIZE(merkle_tree_depth)
1057 KV_SERIALIZE(aux_pow)
1059 };
1060 typedef epee::misc_utils::struct_init<response_t> response;
1061 };
1062
1064 {
1065 typedef std::vector<std::string> request;
1066
1068 {
1072 };
1074 };
1075
1077 {
1079 {
1081 std::string wallet_address;
1082 std::string prev_block;
1084
1087 KV_SERIALIZE(amount_of_blocks)
1088 KV_SERIALIZE(wallet_address)
1089 KV_SERIALIZE(prev_block)
1090 KV_SERIALIZE_OPT(starting_nonce, (uint32_t)0)
1092 };
1093 typedef epee::misc_utils::struct_init<request_t> request;
1094
1096 {
1098 std::vector<std::string> blocks;
1099
1102 KV_SERIALIZE(height)
1105 };
1106 typedef epee::misc_utils::struct_init<response_t> response;
1107 };
1108
1110 {
1114 std::string prev_hash;
1119 std::string hash;
1121 std::string wide_difficulty;
1130 std::string pow_hash;
1132 std::string miner_tx_hash;
1133
1135 KV_SERIALIZE(major_version)
1136 KV_SERIALIZE(minor_version)
1137 KV_SERIALIZE(timestamp)
1138 KV_SERIALIZE(prev_hash)
1139 KV_SERIALIZE(nonce)
1140 KV_SERIALIZE(orphan_status)
1141 KV_SERIALIZE(height)
1143 KV_SERIALIZE(hash)
1144 KV_SERIALIZE(difficulty)
1146 KV_SERIALIZE(difficulty_top64)
1147 KV_SERIALIZE(cumulative_difficulty)
1148 KV_SERIALIZE(wide_cumulative_difficulty)
1149 KV_SERIALIZE(cumulative_difficulty_top64)
1150 KV_SERIALIZE(reward)
1151 KV_SERIALIZE(block_size)
1153 KV_SERIALIZE(num_txes)
1154 KV_SERIALIZE(pow_hash)
1155 KV_SERIALIZE_OPT(long_term_weight, (uint64_t)0)
1156 KV_SERIALIZE(miner_tx_hash)
1158 };
1159
1161 {
1163 {
1165
1168 KV_SERIALIZE_OPT(fill_pow_hash, false);
1170 };
1171 typedef epee::misc_utils::struct_init<request_t> request;
1172
1174 {
1176
1181 };
1182 typedef epee::misc_utils::struct_init<response_t> response;
1183
1184 };
1185
1187 {
1189 {
1190 std::string hash;
1191 std::vector<std::string> hashes;
1193
1196 KV_SERIALIZE(hash)
1198 KV_SERIALIZE_OPT(fill_pow_hash, false);
1200 };
1201 typedef epee::misc_utils::struct_init<request_t> request;
1202
1204 {
1206 std::vector<block_header_response> block_headers;
1207
1211 KV_SERIALIZE(block_headers)
1213 };
1214 typedef epee::misc_utils::struct_init<response_t> response;
1215 };
1216
1218 {
1220 {
1223
1226 KV_SERIALIZE(height)
1227 KV_SERIALIZE_OPT(fill_pow_hash, false);
1229 };
1230 typedef epee::misc_utils::struct_init<request_t> request;
1231
1233 {
1235
1240 };
1241 typedef epee::misc_utils::struct_init<response_t> response;
1242 };
1243
1245 {
1247 {
1248 std::string hash;
1251
1254 KV_SERIALIZE(hash)
1255 KV_SERIALIZE(height)
1256 KV_SERIALIZE_OPT(fill_pow_hash, false);
1258 };
1259 typedef epee::misc_utils::struct_init<request_t> request;
1260
1262 {
1264 std::string miner_tx_hash;
1265 std::vector<std::string> tx_hashes;
1266 std::string blob;
1267 std::string json;
1268
1272 KV_SERIALIZE(miner_tx_hash)
1273 KV_SERIALIZE(tx_hashes)
1274 KV_SERIALIZE(blob)
1277 };
1278 typedef epee::misc_utils::struct_init<response_t> response;
1279 };
1280
1281 struct peer {
1283 std::string host;
1290
1291 peer() = default;
1292
1293 peer(uint64_t id, const std::string &host, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port, uint32_t rpc_credits_per_hash)
1294 : id(id), host(host), ip(0), port(0), rpc_port(rpc_port), rpc_credits_per_hash(rpc_credits_per_hash), last_seen(last_seen), pruning_seed(pruning_seed)
1295 {}
1296 peer(uint64_t id, const std::string &host, uint16_t port, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port, uint32_t rpc_credits_per_hash)
1297 : id(id), host(host), ip(0), port(port), rpc_port(rpc_port), rpc_credits_per_hash(rpc_credits_per_hash), last_seen(last_seen), pruning_seed(pruning_seed)
1298 {}
1299 peer(uint64_t id, uint32_t ip, uint16_t port, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port, uint32_t rpc_credits_per_hash)
1300 : id(id), host(epee::string_tools::get_ip_string_from_int32(ip)), ip(ip), port(port), rpc_port(rpc_port), rpc_credits_per_hash(rpc_credits_per_hash), last_seen(last_seen), pruning_seed(pruning_seed)
1301 {}
1302
1304 KV_SERIALIZE(id)
1305 KV_SERIALIZE(host)
1308 KV_SERIALIZE_OPT(rpc_port, (uint16_t)0)
1309 KV_SERIALIZE_OPT(rpc_credits_per_hash, (uint32_t)0)
1310 KV_SERIALIZE(last_seen)
1311 KV_SERIALIZE_OPT(pruning_seed, (uint32_t)0)
1313 };
1314
1316 {
1318 {
1321
1324 KV_SERIALIZE_OPT(public_only, true)
1325 KV_SERIALIZE_OPT(include_blocked, false)
1327 };
1328 typedef epee::misc_utils::struct_init<request_t> request;
1329
1331 {
1332 std::vector<peer> white_list;
1333 std::vector<peer> gray_list;
1334
1337 KV_SERIALIZE(white_list)
1338 KV_SERIALIZE(gray_list)
1340 };
1341 typedef epee::misc_utils::struct_init<response_t> response;
1342 };
1343
1345 {
1346 std::string host;
1350
1351 public_node(): last_seen(0), rpc_port(0), rpc_credits_per_hash(0) {}
1352
1354 : host(peer.host), last_seen(peer.last_seen), rpc_port(peer.rpc_port), rpc_credits_per_hash(peer.rpc_credits_per_hash)
1355 {}
1356
1358 KV_SERIALIZE(host)
1359 KV_SERIALIZE(last_seen)
1360 KV_SERIALIZE(rpc_port)
1361 KV_SERIALIZE(rpc_credits_per_hash)
1363 };
1364
1366 {
1368 {
1369 bool gray;
1370 bool white;
1372
1375 KV_SERIALIZE_OPT(gray, false)
1376 KV_SERIALIZE_OPT(white, true)
1377 KV_SERIALIZE_OPT(include_blocked, false)
1379 };
1380 typedef epee::misc_utils::struct_init<request_t> request;
1381
1383 {
1384 std::vector<public_node> gray;
1385 std::vector<public_node> white;
1386
1389 KV_SERIALIZE(gray)
1390 KV_SERIALIZE(white)
1392 };
1393 typedef epee::misc_utils::struct_init<response_t> response;
1394 };
1395
1397 {
1399 {
1401
1404 KV_SERIALIZE(visible)
1406 };
1407 typedef epee::misc_utils::struct_init<request_t> request;
1408
1410 {
1414 };
1416 };
1417
1419 {
1421 {
1423
1426 KV_SERIALIZE(level)
1428 };
1429 typedef epee::misc_utils::struct_init<request_t> request;
1430
1432 {
1436 };
1438 };
1439
1441 {
1443 {
1444 std::string categories;
1445
1448 KV_SERIALIZE(categories)
1450 };
1451 typedef epee::misc_utils::struct_init<request_t> request;
1452
1454 {
1455 std::string categories;
1456
1459 KV_SERIALIZE(categories)
1461 };
1462 typedef epee::misc_utils::struct_init<response_t> response;
1463 };
1464
1465 struct tx_info
1466 {
1467 std::string id_hash;
1468 std::string tx_json; // TODO - expose this data directly
1482 std::string tx_blob;
1483
1485 KV_SERIALIZE(id_hash)
1486 KV_SERIALIZE(tx_json)
1487 KV_SERIALIZE(blob_size)
1488 KV_SERIALIZE_OPT(weight, (uint64_t)0)
1489 KV_SERIALIZE(fee)
1490 KV_SERIALIZE(max_used_block_id_hash)
1491 KV_SERIALIZE(max_used_block_height)
1492 KV_SERIALIZE(kept_by_block)
1493 KV_SERIALIZE(last_failed_height)
1494 KV_SERIALIZE(last_failed_id_hash)
1495 KV_SERIALIZE(receive_time)
1496 KV_SERIALIZE(relayed)
1497 KV_SERIALIZE(last_relayed_time)
1498 KV_SERIALIZE(do_not_relay)
1499 KV_SERIALIZE(double_spend_seen)
1500 KV_SERIALIZE(tx_blob)
1502 };
1503
1505 {
1506 std::string id_hash;
1507 std::vector<std::string> txs_hashes;
1508
1510 KV_SERIALIZE(id_hash)
1511 KV_SERIALIZE(txs_hashes)
1513 };
1514
1516 {
1518 {
1522 };
1524
1526 {
1527 std::vector<tx_info> transactions;
1528 std::vector<spent_key_image_info> spent_key_images;
1529
1532 KV_SERIALIZE(transactions)
1533 KV_SERIALIZE(spent_key_images)
1535 };
1536 typedef epee::misc_utils::struct_init<response_t> response;
1537 };
1538
1540 {
1542 {
1546 };
1548
1550 {
1551 std::vector<crypto::hash> tx_hashes;
1552
1557 };
1558 typedef epee::misc_utils::struct_init<response_t> response;
1559 };
1560
1562 {
1564 {
1568 };
1570
1572 {
1573 std::vector<std::string> tx_hashes;
1574
1577 KV_SERIALIZE(tx_hashes)
1579 };
1580 typedef epee::misc_utils::struct_init<response_t> response;
1581 };
1582
1584 {
1588 };
1589
1591 {
1593 {
1597 };
1599
1601 {
1602 std::vector<tx_backlog_entry> backlog;
1603
1608 };
1609 typedef epee::misc_utils::struct_init<response_t> response;
1610 };
1611
1613 {
1616
1618 KV_SERIALIZE(txs)
1619 KV_SERIALIZE(bytes)
1621 };
1622
1624 {
1636 std::vector<txpool_histo> histo;
1638
1639 txpool_stats(): bytes_total(0), bytes_min(0), bytes_max(0), bytes_med(0), fee_total(0), oldest(0), txs_total(0), num_failing(0), num_10m(0), num_not_relayed(0), histo_98pc(0), num_double_spends(0) {}
1640
1642 KV_SERIALIZE(bytes_total)
1643 KV_SERIALIZE(bytes_min)
1644 KV_SERIALIZE(bytes_max)
1645 KV_SERIALIZE(bytes_med)
1646 KV_SERIALIZE(fee_total)
1647 KV_SERIALIZE(oldest)
1648 KV_SERIALIZE(txs_total)
1649 KV_SERIALIZE(num_failing)
1650 KV_SERIALIZE(num_10m)
1651 KV_SERIALIZE(num_not_relayed)
1652 KV_SERIALIZE(histo_98pc)
1653 KV_SERIALIZE(histo)
1654 KV_SERIALIZE(num_double_spends)
1656 };
1657
1659 {
1661 {
1665 };
1667
1669 {
1671
1674 KV_SERIALIZE(pool_stats)
1676 };
1677 typedef epee::misc_utils::struct_init<response_t> response;
1678 };
1679
1681 {
1683 {
1687 };
1689
1691 {
1692 std::list<connection_info> connections;
1693
1696 KV_SERIALIZE(connections)
1698 };
1699 typedef epee::misc_utils::struct_init<response_t> response;
1700 };
1701
1703 {
1705 {
1709
1712 KV_SERIALIZE(start_height)
1713 KV_SERIALIZE(end_height)
1714 KV_SERIALIZE_OPT(fill_pow_hash, false);
1716 };
1717 typedef epee::misc_utils::struct_init<request_t> request;
1718
1720 {
1721 std::vector<block_header_response> headers;
1722
1725 KV_SERIALIZE(headers)
1727 };
1728 typedef epee::misc_utils::struct_init<response_t> response;
1729 };
1730
1732 {
1734 {
1735 std::string address;
1736 std::string username;
1737 std::string password;
1738 std::string proxy;
1739
1742 KV_SERIALIZE(username)
1743 KV_SERIALIZE(password)
1744 KV_SERIALIZE(proxy)
1746 };
1747 typedef epee::misc_utils::struct_init<request_t> request;
1748
1750 {
1751 std::string status;
1752
1754 KV_SERIALIZE(status)
1756 };
1757 typedef epee::misc_utils::struct_init<response_t> response;
1758 };
1759
1761 {
1763 {
1767 };
1769
1771 {
1775 };
1777 };
1778
1780 {
1782 {
1786 };
1788
1790 {
1794 };
1796 };
1797
1799 {
1801 {
1805 };
1807
1809 {
1812
1815 KV_SERIALIZE(limit_up)
1816 KV_SERIALIZE(limit_down)
1818 };
1819 typedef epee::misc_utils::struct_init<response_t> response;
1820 };
1821
1823 {
1825 {
1826 int64_t limit_down; // all limits (for get and set) are kB/s
1828
1831 KV_SERIALIZE(limit_down)
1832 KV_SERIALIZE(limit_up)
1834 };
1835 typedef epee::misc_utils::struct_init<request_t> request;
1836
1838 {
1841
1844 KV_SERIALIZE(limit_up)
1845 KV_SERIALIZE(limit_down)
1847 };
1848 typedef epee::misc_utils::struct_init<response_t> response;
1849 };
1850
1852 {
1854 {
1855 bool set;
1857
1861 KV_SERIALIZE(out_peers)
1863 };
1864 typedef epee::misc_utils::struct_init<request_t> request;
1865
1867 {
1869
1872 KV_SERIALIZE(out_peers)
1874 };
1875 typedef epee::misc_utils::struct_init<response_t> response;
1876 };
1877
1879 {
1881 {
1882 bool set;
1887 KV_SERIALIZE(in_peers)
1889 };
1890 typedef epee::misc_utils::struct_init<request_t> request;
1891
1893 {
1895
1898 KV_SERIALIZE(in_peers)
1900 };
1901 typedef epee::misc_utils::struct_init<response_t> response;
1902 };
1903
1905 {
1907 {
1909
1914 };
1915 typedef epee::misc_utils::struct_init<request_t> request;
1916
1918 {
1927
1931 KV_SERIALIZE(enabled)
1932 KV_SERIALIZE(window)
1933 KV_SERIALIZE(votes)
1934 KV_SERIALIZE(threshold)
1935 KV_SERIALIZE(voting)
1937 KV_SERIALIZE(earliest_height)
1939 };
1940 typedef epee::misc_utils::struct_init<response_t> response;
1941 };
1942
1944 {
1945 struct ban
1946 {
1947 std::string host;
1950
1952 KV_SERIALIZE(host)
1954 KV_SERIALIZE(seconds)
1956 };
1957
1959 {
1963 };
1965
1967 {
1968 std::vector<ban> bans;
1969
1974 };
1975 typedef epee::misc_utils::struct_init<response_t> response;
1976 };
1977
1979 {
1980 struct ban
1981 {
1982 std::string host;
1984 bool ban;
1986
1988 KV_SERIALIZE(host)
1991 KV_SERIALIZE(seconds)
1993 };
1994
1996 {
1997 std::vector<ban> bans;
1998
2003 };
2004 typedef epee::misc_utils::struct_init<request_t> request;
2005
2007 {
2011 };
2013 };
2014
2016 {
2018 {
2019 std::string address;
2020
2024 };
2025 typedef epee::misc_utils::struct_init<request_t> request;
2026
2028 {
2029 std::string status;
2032
2034 KV_SERIALIZE(status)
2035 KV_SERIALIZE(banned)
2036 KV_SERIALIZE(seconds)
2038 };
2039 typedef epee::misc_utils::struct_init<response_t> response;
2040 };
2041
2043 {
2045 {
2046 std::vector<std::string> txids;
2047
2050 KV_SERIALIZE(txids)
2052 };
2053 typedef epee::misc_utils::struct_init<request_t> request;
2054
2056 {
2060 };
2062 };
2063
2065 {
2067 {
2068 std::vector<uint64_t> amounts;
2073
2077 KV_SERIALIZE(min_count);
2078 KV_SERIALIZE(max_count);
2079 KV_SERIALIZE(unlocked);
2080 KV_SERIALIZE(recent_cutoff);
2082 };
2083 typedef epee::misc_utils::struct_init<request_t> request;
2084
2085 struct entry
2086 {
2091
2094 KV_SERIALIZE(total_instances);
2095 KV_SERIALIZE(unlocked_instances);
2096 KV_SERIALIZE(recent_instances);
2098
2099 entry(uint64_t amount, uint64_t total_instances, uint64_t unlocked_instances, uint64_t recent_instances):
2100 amount(amount), total_instances(total_instances), unlocked_instances(unlocked_instances), recent_instances(recent_instances) {}
2102 };
2103
2105 {
2106 std::vector<entry> histogram;
2107
2110 KV_SERIALIZE(histogram)
2112 };
2113 typedef epee::misc_utils::struct_init<response_t> response;
2114 };
2115
2117 {
2119 {
2123 };
2125
2127 {
2130
2131 bool operator==(const hf_entry& hfe) const { return hf_version == hfe.hf_version && height == hfe.height; }
2132
2134 KV_SERIALIZE(hf_version)
2135 KV_SERIALIZE(height)
2137 };
2138
2140 {
2145 std::vector<hf_entry> hard_forks;
2146
2150 KV_SERIALIZE(release)
2151 KV_SERIALIZE_OPT(current_height, (uint64_t)0)
2152 KV_SERIALIZE_OPT(target_height, (uint64_t)0)
2153 KV_SERIALIZE_OPT(hard_forks, std::vector<hf_entry>())
2155 };
2156 typedef epee::misc_utils::struct_init<response_t> response;
2157 };
2158
2160 {
2162 {
2165
2171 };
2172 typedef epee::misc_utils::struct_init<request_t> request;
2173
2175 {
2180 std::string wide_fee_amount;
2182
2185 KV_SERIALIZE(emission_amount)
2186 KV_SERIALIZE(wide_emission_amount)
2187 KV_SERIALIZE(emission_amount_top64)
2188 KV_SERIALIZE(fee_amount)
2189 KV_SERIALIZE(wide_fee_amount)
2190 KV_SERIALIZE(fee_amount_top64)
2192 };
2193 typedef epee::misc_utils::struct_init<response_t> response;
2194 };
2195
2197 {
2199 {
2201
2204 KV_SERIALIZE(grace_blocks)
2206 };
2207 typedef epee::misc_utils::struct_init<request_t> request;
2208
2210 {
2213 std::vector<uint64_t> fees;
2214
2217 KV_SERIALIZE(fee)
2218 KV_SERIALIZE_OPT(quantization_mask, (uint64_t)1)
2221 };
2222 typedef epee::misc_utils::struct_init<response_t> response;
2223 };
2224
2226 {
2228 {
2232 };
2234
2236 {
2237 std::string block_hash;
2241 std::string wide_difficulty;
2243 std::vector<std::string> block_hashes;
2245
2247 KV_SERIALIZE(block_hash)
2248 KV_SERIALIZE(height)
2249 KV_SERIALIZE(length)
2250 KV_SERIALIZE(difficulty)
2252 KV_SERIALIZE(difficulty_top64)
2253 KV_SERIALIZE(block_hashes)
2254 KV_SERIALIZE(main_chain_parent_block)
2256 };
2257
2259 {
2260 std::vector<chain_info> chains;
2261
2264 KV_SERIALIZE(chains)
2266 };
2267 typedef epee::misc_utils::struct_init<response_t> response;
2268 };
2269
2271 {
2273 {
2274 std::string command;
2275 std::string path;
2276
2279 KV_SERIALIZE(command)
2280 KV_SERIALIZE(path)
2282 };
2283 typedef epee::misc_utils::struct_init<request_t> request;
2284
2286 {
2288 std::string version;
2289 std::string user_uri;
2290 std::string auto_uri;
2291 std::string hash;
2292 std::string path;
2293
2296 KV_SERIALIZE(update)
2298 KV_SERIALIZE(user_uri)
2299 KV_SERIALIZE(auto_uri)
2300 KV_SERIALIZE(hash)
2301 KV_SERIALIZE(path)
2303 };
2304 typedef epee::misc_utils::struct_init<response_t> response;
2305 };
2306
2308 {
2310 {
2311 std::vector<std::string> txids;
2312
2315 KV_SERIALIZE(txids)
2317 };
2318 typedef epee::misc_utils::struct_init<request_t> request;
2319
2321 {
2325 };
2327 };
2328
2330 {
2332 {
2336 };
2338
2339 struct peer
2340 {
2342
2346 };
2347
2348 struct span
2349 {
2352 std::string connection_id;
2356 std::string remote_address;
2357
2359 KV_SERIALIZE(start_block_height)
2360 KV_SERIALIZE(nblocks)
2361 KV_SERIALIZE(connection_id)
2362 KV_SERIALIZE(rate)
2364 KV_SERIALIZE(size)
2365 KV_SERIALIZE(remote_address)
2367 };
2368
2370 {
2374 std::list<peer> peers;
2375 std::list<span> spans;
2376 std::string overview;
2377
2380 KV_SERIALIZE(height)
2381 KV_SERIALIZE(target_height)
2382 KV_SERIALIZE(next_needed_pruning_seed)
2383 KV_SERIALIZE(peers)
2384 KV_SERIALIZE(spans)
2385 KV_SERIALIZE(overview)
2387 };
2388 typedef epee::misc_utils::struct_init<response_t> response;
2389 };
2390
2392 {
2394 {
2395 std::vector<uint64_t> amounts;
2401
2404 KV_SERIALIZE(amounts)
2405 KV_SERIALIZE_OPT(from_height, (uint64_t)0)
2406 KV_SERIALIZE_OPT(to_height, (uint64_t)0)
2407 KV_SERIALIZE_OPT(cumulative, false)
2408 KV_SERIALIZE_OPT(binary, true)
2409 KV_SERIALIZE_OPT(compress, false)
2411 };
2412 typedef epee::misc_utils::struct_init<request_t> request;
2413
2415 {
2418 std::string compressed_data;
2421
2423 KV_SERIALIZE(amount)
2424 KV_SERIALIZE_N(data.start_height, "start_height")
2425 KV_SERIALIZE(binary)
2426 KV_SERIALIZE(compress)
2427 if (this_ref.binary)
2428 {
2429 if (is_store)
2430 {
2431 if (this_ref.compress)
2432 {
2433 const_cast<std::string&>(this_ref.compressed_data) = compress_integer_array(this_ref.data.distribution);
2434 KV_SERIALIZE(compressed_data)
2435 }
2436 else
2437 KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(data.distribution, "distribution")
2438 }
2439 else
2440 {
2441 if (this_ref.compress)
2442 {
2443 KV_SERIALIZE(compressed_data)
2444 const_cast<std::vector<uint64_t>&>(this_ref.data.distribution) = decompress_integer_array<uint64_t>(this_ref.compressed_data);
2445 }
2446 else
2447 KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(data.distribution, "distribution")
2448 }
2449 }
2450 else
2451 KV_SERIALIZE_N(data.distribution, "distribution")
2454 };
2455
2457 {
2458 std::vector<distribution> distributions;
2459
2462 KV_SERIALIZE(distributions)
2464 };
2465 typedef epee::misc_utils::struct_init<response_t> response;
2466 };
2467
2469 {
2471 {
2475 };
2477
2479 {
2480 std::string hashing_blob;
2482 std::string seed_hash;
2483 std::string next_seed_hash;
2488
2491 KV_SERIALIZE(hashing_blob)
2492 KV_SERIALIZE(seed_height)
2493 KV_SERIALIZE(seed_hash)
2494 KV_SERIALIZE(next_seed_hash)
2495 KV_SERIALIZE(cookie)
2496 KV_SERIALIZE(diff)
2497 KV_SERIALIZE(credits_per_hash_found)
2498 KV_SERIALIZE(height)
2500 };
2501 typedef epee::misc_utils::struct_init<response_t> response;
2502 };
2503
2505 {
2507 {
2510
2513 KV_SERIALIZE(nonce)
2514 KV_SERIALIZE(cookie)
2516 };
2517 typedef epee::misc_utils::struct_init<request_t> request;
2518
2520 {
2524 };
2526 };
2527
2529 {
2531 {
2532 std::string paying_for;
2534
2537 KV_SERIALIZE(paying_for)
2538 KV_SERIALIZE(payment)
2540 };
2541 typedef epee::misc_utils::struct_init<request_t> request;
2542
2544 {
2548 };
2550 };
2551
2553 {
2555 {
2556 bool clear;
2557
2560 KV_SERIALIZE(clear)
2562 };
2563 typedef epee::misc_utils::struct_init<request_t> request;
2564
2565 struct entry
2566 {
2567 std::string rpc;
2571
2573 KV_SERIALIZE(rpc)
2575 KV_SERIALIZE(time)
2576 KV_SERIALIZE(credits)
2578 };
2579
2581 {
2582 std::vector<entry> data;
2583
2588 };
2589 typedef epee::misc_utils::struct_init<response_t> response;
2590 };
2591
2593 {
2595 {
2599 };
2601
2602 struct entry
2603 {
2604 std::string client;
2613
2616 KV_SERIALIZE(balance)
2617 KV_SERIALIZE(last_update_time)
2618 KV_SERIALIZE(credits_total)
2619 KV_SERIALIZE(credits_used)
2620 KV_SERIALIZE(nonces_good)
2621 KV_SERIALIZE(nonces_stale)
2622 KV_SERIALIZE(nonces_bad)
2623 KV_SERIALIZE(nonces_dupe)
2625 };
2626
2628 {
2629 std::list<entry> entries;
2631
2634 KV_SERIALIZE(entries)
2635 KV_SERIALIZE(hashrate)
2637 };
2638 typedef epee::misc_utils::struct_init<response_t> response;
2639 };
2640
2642 {
2644 {
2645 std::string client;
2647
2651 KV_SERIALIZE_OPT(delta_balance, (int64_t)0)
2653 };
2654 typedef epee::misc_utils::struct_init<request_t> request;
2655
2657 {
2659
2662 KV_SERIALIZE(credits)
2664 };
2665 typedef epee::misc_utils::struct_init<response_t> response;
2666 };
2667
2669 {
2671 {
2673
2676 KV_SERIALIZE(nblocks)
2678 };
2679 typedef epee::misc_utils::struct_init<request_t> request;
2680
2682 {
2684
2687 KV_SERIALIZE(height)
2689 };
2690 typedef epee::misc_utils::struct_init<response_t> response;
2691 };
2692
2694 {
2696 {
2697 bool check;
2698
2703 };
2704 typedef epee::misc_utils::struct_init<request_t> request;
2705
2707 {
2710
2713 KV_SERIALIZE(pruned)
2714 KV_SERIALIZE(pruning_seed)
2716 };
2717 typedef epee::misc_utils::struct_init<response_t> response;
2718 };
2719
2721 {
2723 {
2726
2729 KV_SERIALIZE_OPT(bad_txs, false)
2730 KV_SERIALIZE_OPT(bad_blocks, false)
2732 };
2733 typedef epee::misc_utils::struct_init<request_t> request;
2734
2736 {
2740 };
2742 };
2743
2744}
#define s(x, c)
Definition: aesb.c:47
static void prune(MDB_env *env0, MDB_env *env1)
Definition: blockchain_prune.cpp:249
static boost::multiprecision::uint128_t fees
Definition: blockchain_stats.cpp:58
std::tuple< uint64_t, uint64_t, std::vector< tools::wallet2::transfer_details > > outputs
Definition: cold-outputs.cpp:53
int * count
Definition: gmock_stress_test.cc:176
const char * key
Definition: hmac_keccak.cpp:40
static epee::net_utils::http::http_simple_client_template< dummy_client > client
Definition: http-client.cpp:62
#define KV_SERIALIZE_VAL_POD_AS_BLOB(varialble)
Definition: keyvalue_serialization.h:119
#define KV_SERIALIZE(varialble)
Definition: keyvalue_serialization.h:118
#define KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(varialble, val_name)
Definition: keyvalue_serialization.h:113
#define KV_SERIALIZE_OPT(variable, default_value)
Definition: keyvalue_serialization.h:123
#define KV_SERIALIZE_CONTAINER_POD_AS_BLOB(varialble)
Definition: keyvalue_serialization.h:122
#define KV_SERIALIZE_PARENT(type)
Definition: keyvalue_serialization.h:81
#define END_KV_SERIALIZE_MAP()
Definition: keyvalue_serialization.h:116
#define BEGIN_KV_SERIALIZE_MAP()
Definition: keyvalue_serialization.h:43
#define KV_SERIALIZE_N(varialble, val_name)
Definition: keyvalue_serialization.h:78
epee::byte_slice active
Definition: levin_notify.cpp:255
static MDB_envinfo info
Definition: mdb_load.c:37
static int version
Definition: mdb_load.c:29
uint32_t address
Definition: getifaddr.c:269
Definition: bans.py:1
Definition: base.py:1
Definition: block_weight.py:1
Definition: blocks.cpp:13
Definition: check.py:1
urllib t
Definition: console.py:33
POD_CLASS public_key
Definition: crypto.h:64
POD_CLASS hash
Definition: hash.h:48
Holds cryptonote related classes and helpers.
Definition: blockchain_db.cpp:45
std::string blobdata
Definition: blobdatatype.h:39
TODO: (mj-xmr) This will be reduced in an another PR.
Definition: byte_slice.h:40
Definition: speed.py:1
Definition: enums.h:68
std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value, void >::type write_varint(OutputIt &&dest, T i)
writes a varint to a stream.
Definition: varint.h:69
Definition: wide_difficulty.py:1
enum upnpconfigoptions id
Definition: options.c:29
if(!cryptonote::get_account_address_from_str_or_url(info, cryptonote::TESTNET, "9uVsvEryzpN8WH2t1WWhFFCG5tS8cBNdmJYNRuckLENFimfauV5pZKeS1P2CbxGkSDTUPHXWwiYE5ZGSXDAGbaZgDxobqDN"))
Definition: signature.cpp:53
boost::endian::big_uint16_t port
Definition: socks.cpp:59
boost::endian::big_uint32_t ip
Definition: socks.cpp:60
static __thread int depth
Definition: threadpool.cpp:34
#define true
Definition: stdbool.h:36
#define false
Definition: stdbool.h:37
unsigned short uint16_t
Definition: stdint.h:125
signed __int64 int64_t
Definition: stdint.h:135
unsigned int uint32_t
Definition: stdint.h:126
unsigned char uint8_t
Definition: stdint.h:124
unsigned __int64 uint64_t
Definition: stdint.h:136
signed char int8_t
Definition: stdint.h:121
Definition: core_rpc_server_commands_defs.h:2644
int64_t delta_balance
Definition: core_rpc_server_commands_defs.h:2646
std::string client
Definition: core_rpc_server_commands_defs.h:2645
Definition: core_rpc_server_commands_defs.h:2657
uint64_t credits
Definition: core_rpc_server_commands_defs.h:2658
Definition: core_rpc_server_commands_defs.h:2642
Definition: core_rpc_server_commands_defs.h:2603
uint64_t last_update_time
Definition: core_rpc_server_commands_defs.h:2606
uint64_t nonces_stale
Definition: core_rpc_server_commands_defs.h:2610
std::string client
Definition: core_rpc_server_commands_defs.h:2604
uint64_t credits_used
Definition: core_rpc_server_commands_defs.h:2608
uint64_t credits_total
Definition: core_rpc_server_commands_defs.h:2607
uint64_t nonces_bad
Definition: core_rpc_server_commands_defs.h:2611
uint64_t balance
Definition: core_rpc_server_commands_defs.h:2605
uint64_t nonces_good
Definition: core_rpc_server_commands_defs.h:2609
uint64_t nonces_dupe
Definition: core_rpc_server_commands_defs.h:2612
Definition: core_rpc_server_commands_defs.h:2595
Definition: core_rpc_server_commands_defs.h:2628
uint32_t hashrate
Definition: core_rpc_server_commands_defs.h:2630
std::list< entry > entries
Definition: core_rpc_server_commands_defs.h:2629
Definition: core_rpc_server_commands_defs.h:2593
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:2600
Definition: core_rpc_server_commands_defs.h:2471
Definition: core_rpc_server_commands_defs.h:2479
uint64_t height
Definition: core_rpc_server_commands_defs.h:2487
std::string next_seed_hash
Definition: core_rpc_server_commands_defs.h:2483
uint32_t cookie
Definition: core_rpc_server_commands_defs.h:2484
std::string hashing_blob
Definition: core_rpc_server_commands_defs.h:2480
uint64_t seed_height
Definition: core_rpc_server_commands_defs.h:2481
uint64_t credits_per_hash_found
Definition: core_rpc_server_commands_defs.h:2486
std::string seed_hash
Definition: core_rpc_server_commands_defs.h:2482
uint64_t diff
Definition: core_rpc_server_commands_defs.h:2485
Definition: core_rpc_server_commands_defs.h:2469
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:2476
Definition: core_rpc_server_commands_defs.h:2531
std::string paying_for
Definition: core_rpc_server_commands_defs.h:2532
uint64_t payment
Definition: core_rpc_server_commands_defs.h:2533
Definition: core_rpc_server_commands_defs.h:2544
Definition: core_rpc_server_commands_defs.h:2529
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:2549
Definition: core_rpc_server_commands_defs.h:2507
uint32_t nonce
Definition: core_rpc_server_commands_defs.h:2508
uint32_t cookie
Definition: core_rpc_server_commands_defs.h:2509
Definition: core_rpc_server_commands_defs.h:2520
Definition: core_rpc_server_commands_defs.h:2505
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:2525
Definition: core_rpc_server_commands_defs.h:2566
uint64_t credits
Definition: core_rpc_server_commands_defs.h:2570
uint64_t time
Definition: core_rpc_server_commands_defs.h:2569
std::string rpc
Definition: core_rpc_server_commands_defs.h:2567
uint64_t count
Definition: core_rpc_server_commands_defs.h:2568
Definition: core_rpc_server_commands_defs.h:2555
bool clear
Definition: core_rpc_server_commands_defs.h:2556
Definition: core_rpc_server_commands_defs.h:2581
std::vector< entry > data
Definition: core_rpc_server_commands_defs.h:2582
Definition: core_rpc_server_commands_defs.h:2553
Definition: core_rpc_server_commands_defs.h:1020
std::string hash
Definition: core_rpc_server_commands_defs.h:1022
std::string id
Definition: core_rpc_server_commands_defs.h:1021
Definition: core_rpc_server_commands_defs.h:1031
blobdata blocktemplate_blob
Definition: core_rpc_server_commands_defs.h:1032
std::vector< aux_pow_t > aux_pow
Definition: core_rpc_server_commands_defs.h:1033
Definition: core_rpc_server_commands_defs.h:1044
std::string merkle_root
Definition: core_rpc_server_commands_defs.h:1047
uint32_t merkle_tree_depth
Definition: core_rpc_server_commands_defs.h:1048
std::vector< aux_pow_t > aux_pow
Definition: core_rpc_server_commands_defs.h:1049
blobdata blockhashing_blob
Definition: core_rpc_server_commands_defs.h:1046
blobdata blocktemplate_blob
Definition: core_rpc_server_commands_defs.h:1045
Definition: core_rpc_server_commands_defs.h:1018
Definition: core_rpc_server_commands_defs.h:2018
std::string address
Definition: core_rpc_server_commands_defs.h:2019
Definition: core_rpc_server_commands_defs.h:2028
uint32_t seconds
Definition: core_rpc_server_commands_defs.h:2031
std::string status
Definition: core_rpc_server_commands_defs.h:2029
bool banned
Definition: core_rpc_server_commands_defs.h:2030
Definition: core_rpc_server_commands_defs.h:2016
Definition: core_rpc_server_commands_defs.h:998
uint8_t major_version
Definition: core_rpc_server_commands_defs.h:999
std::string seed_hash
Definition: core_rpc_server_commands_defs.h:1002
uint64_t height
Definition: core_rpc_server_commands_defs.h:1000
blobdata block_blob
Definition: core_rpc_server_commands_defs.h:1001
Definition: core_rpc_server_commands_defs.h:996
std::string response
Definition: core_rpc_server_commands_defs.h:1014
Definition: core_rpc_server_commands_defs.h:1782
Definition: core_rpc_server_commands_defs.h:1790
Definition: core_rpc_server_commands_defs.h:1780
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1787
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:1795
Definition: core_rpc_server_commands_defs.h:2723
bool bad_txs
Definition: core_rpc_server_commands_defs.h:2724
bool bad_blocks
Definition: core_rpc_server_commands_defs.h:2725
Definition: core_rpc_server_commands_defs.h:2736
Definition: core_rpc_server_commands_defs.h:2721
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:2741
Definition: core_rpc_server_commands_defs.h:2045
std::vector< std::string > txids
Definition: core_rpc_server_commands_defs.h:2046
Definition: core_rpc_server_commands_defs.h:2056
Definition: core_rpc_server_commands_defs.h:2043
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:2061
Definition: core_rpc_server_commands_defs.h:1079
uint64_t amount_of_blocks
Definition: core_rpc_server_commands_defs.h:1080
std::string wallet_address
Definition: core_rpc_server_commands_defs.h:1081
std::string prev_block
Definition: core_rpc_server_commands_defs.h:1082
uint32_t starting_nonce
Definition: core_rpc_server_commands_defs.h:1083
Definition: core_rpc_server_commands_defs.h:1096
uint64_t height
Definition: core_rpc_server_commands_defs.h:1097
std::vector< std::string > blocks
Definition: core_rpc_server_commands_defs.h:1098
Definition: core_rpc_server_commands_defs.h:1077
Definition: core_rpc_server_commands_defs.h:1946
uint32_t seconds
Definition: core_rpc_server_commands_defs.h:1949
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1948
std::string host
Definition: core_rpc_server_commands_defs.h:1947
Definition: core_rpc_server_commands_defs.h:1959
Definition: core_rpc_server_commands_defs.h:1967
std::vector< ban > bans
Definition: core_rpc_server_commands_defs.h:1968
Definition: core_rpc_server_commands_defs.h:1944
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1964
Definition: core_rpc_server_commands_defs.h:873
uint64_t count
Definition: core_rpc_server_commands_defs.h:874
Definition: core_rpc_server_commands_defs.h:869
std::list< std::string > request
Definition: core_rpc_server_commands_defs.h:870
Definition: core_rpc_server_commands_defs.h:885
std::vector< uint64_t > request
Definition: core_rpc_server_commands_defs.h:886
std::string response
Definition: core_rpc_server_commands_defs.h:888
Definition: core_rpc_server_commands_defs.h:895
std::string wallet_address
Definition: core_rpc_server_commands_defs.h:897
uint64_t reserve_size
Definition: core_rpc_server_commands_defs.h:896
std::string prev_block
Definition: core_rpc_server_commands_defs.h:898
std::string extra_nonce
Definition: core_rpc_server_commands_defs.h:899
Definition: core_rpc_server_commands_defs.h:912
std::string prev_hash
Definition: core_rpc_server_commands_defs.h:919
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:913
uint64_t height
Definition: core_rpc_server_commands_defs.h:916
uint64_t expected_reward
Definition: core_rpc_server_commands_defs.h:918
blobdata blocktemplate_blob
Definition: core_rpc_server_commands_defs.h:923
uint64_t difficulty_top64
Definition: core_rpc_server_commands_defs.h:915
std::string seed_hash
Definition: core_rpc_server_commands_defs.h:921
std::string next_seed_hash
Definition: core_rpc_server_commands_defs.h:922
blobdata blockhashing_blob
Definition: core_rpc_server_commands_defs.h:924
uint64_t seed_height
Definition: core_rpc_server_commands_defs.h:920
std::string wide_difficulty
Definition: core_rpc_server_commands_defs.h:914
uint64_t reserved_offset
Definition: core_rpc_server_commands_defs.h:917
Definition: core_rpc_server_commands_defs.h:893
Definition: core_rpc_server_commands_defs.h:948
Definition: core_rpc_server_commands_defs.h:966
uint64_t weight
Definition: core_rpc_server_commands_defs.h:968
std::string id
Definition: core_rpc_server_commands_defs.h:967
uint64_t fee
Definition: core_rpc_server_commands_defs.h:969
Definition: core_rpc_server_commands_defs.h:956
uint64_t median_weight
Definition: core_rpc_server_commands_defs.h:962
std::string difficulty
Definition: core_rpc_server_commands_defs.h:961
std::string prev_id
Definition: core_rpc_server_commands_defs.h:959
uint64_t height
Definition: core_rpc_server_commands_defs.h:958
uint8_t major_version
Definition: core_rpc_server_commands_defs.h:957
std::string seed_hash
Definition: core_rpc_server_commands_defs.h:960
uint64_t already_generated_coins
Definition: core_rpc_server_commands_defs.h:963
Definition: core_rpc_server_commands_defs.h:946
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:953
Definition: core_rpc_server_commands_defs.h:2236
uint64_t difficulty_top64
Definition: core_rpc_server_commands_defs.h:2242
uint64_t length
Definition: core_rpc_server_commands_defs.h:2239
uint64_t height
Definition: core_rpc_server_commands_defs.h:2238
std::vector< std::string > block_hashes
Definition: core_rpc_server_commands_defs.h:2243
std::string block_hash
Definition: core_rpc_server_commands_defs.h:2237
std::string main_chain_parent_block
Definition: core_rpc_server_commands_defs.h:2244
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:2240
std::string wide_difficulty
Definition: core_rpc_server_commands_defs.h:2241
Definition: core_rpc_server_commands_defs.h:2228
Definition: core_rpc_server_commands_defs.h:2259
std::vector< chain_info > chains
Definition: core_rpc_server_commands_defs.h:2260
Definition: core_rpc_server_commands_defs.h:2226
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:2233
Definition: core_rpc_server_commands_defs.h:244
Definition: core_rpc_server_commands_defs.h:252
std::vector< std::string > blks_hashes
Definition: core_rpc_server_commands_defs.h:253
Definition: core_rpc_server_commands_defs.h:242
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:249
Definition: core_rpc_server_commands_defs.h:2199
uint64_t grace_blocks
Definition: core_rpc_server_commands_defs.h:2200
Definition: core_rpc_server_commands_defs.h:2210
std::vector< uint64_t > fees
Definition: core_rpc_server_commands_defs.h:2213
uint64_t quantization_mask
Definition: core_rpc_server_commands_defs.h:2212
uint64_t fee
Definition: core_rpc_server_commands_defs.h:2211
Definition: core_rpc_server_commands_defs.h:2197
Definition: core_rpc_server_commands_defs.h:220
std::vector< uint64_t > heights
Definition: core_rpc_server_commands_defs.h:221
Definition: core_rpc_server_commands_defs.h:230
std::vector< block_complete_entry > blocks
Definition: core_rpc_server_commands_defs.h:231
Definition: core_rpc_server_commands_defs.h:218
Definition: core_rpc_server_commands_defs.h:191
std::vector< tx_output_indices > indices
Definition: core_rpc_server_commands_defs.h:192
Definition: core_rpc_server_commands_defs.h:166
bool prune
Definition: core_rpc_server_commands_defs.h:169
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:168
std::list< crypto::hash > block_ids
Definition: core_rpc_server_commands_defs.h:167
bool no_miner_tx
Definition: core_rpc_server_commands_defs.h:170
Definition: core_rpc_server_commands_defs.h:200
std::vector< block_output_indices > output_indices
Definition: core_rpc_server_commands_defs.h:204
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:202
uint64_t current_height
Definition: core_rpc_server_commands_defs.h:203
std::vector< block_complete_entry > blocks
Definition: core_rpc_server_commands_defs.h:201
Definition: core_rpc_server_commands_defs.h:182
std::vector< uint64_t > indices
Definition: core_rpc_server_commands_defs.h:183
Definition: core_rpc_server_commands_defs.h:163
Definition: core_rpc_server_commands_defs.h:1247
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1250
uint64_t height
Definition: core_rpc_server_commands_defs.h:1249
std::string hash
Definition: core_rpc_server_commands_defs.h:1248
Definition: core_rpc_server_commands_defs.h:1262
std::vector< std::string > tx_hashes
Definition: core_rpc_server_commands_defs.h:1265
std::string blob
Definition: core_rpc_server_commands_defs.h:1266
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1263
std::string miner_tx_hash
Definition: core_rpc_server_commands_defs.h:1264
std::string json
Definition: core_rpc_server_commands_defs.h:1267
Definition: core_rpc_server_commands_defs.h:1705
uint64_t end_height
Definition: core_rpc_server_commands_defs.h:1707
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:1706
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1708
Definition: core_rpc_server_commands_defs.h:1720
std::vector< block_header_response > headers
Definition: core_rpc_server_commands_defs.h:1721
Definition: core_rpc_server_commands_defs.h:1703
Definition: core_rpc_server_commands_defs.h:1189
std::string hash
Definition: core_rpc_server_commands_defs.h:1190
std::vector< std::string > hashes
Definition: core_rpc_server_commands_defs.h:1191
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1192
Definition: core_rpc_server_commands_defs.h:1204
std::vector< block_header_response > block_headers
Definition: core_rpc_server_commands_defs.h:1206
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1205
Definition: core_rpc_server_commands_defs.h:1187
Definition: core_rpc_server_commands_defs.h:1220
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1222
uint64_t height
Definition: core_rpc_server_commands_defs.h:1221
Definition: core_rpc_server_commands_defs.h:1233
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1234
Definition: core_rpc_server_commands_defs.h:1218
Definition: core_rpc_server_commands_defs.h:1245
Definition: core_rpc_server_commands_defs.h:2162
uint64_t height
Definition: core_rpc_server_commands_defs.h:2163
uint64_t count
Definition: core_rpc_server_commands_defs.h:2164
Definition: core_rpc_server_commands_defs.h:2175
std::string wide_fee_amount
Definition: core_rpc_server_commands_defs.h:2180
std::string wide_emission_amount
Definition: core_rpc_server_commands_defs.h:2177
uint64_t fee_amount_top64
Definition: core_rpc_server_commands_defs.h:2181
uint64_t emission_amount
Definition: core_rpc_server_commands_defs.h:2176
uint64_t emission_amount_top64
Definition: core_rpc_server_commands_defs.h:2178
uint64_t fee_amount
Definition: core_rpc_server_commands_defs.h:2179
Definition: core_rpc_server_commands_defs.h:2160
Definition: core_rpc_server_commands_defs.h:1683
Definition: core_rpc_server_commands_defs.h:1691
std::list< connection_info > connections
Definition: core_rpc_server_commands_defs.h:1692
Definition: core_rpc_server_commands_defs.h:1681
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1688
Definition: core_rpc_server_commands_defs.h:266
std::list< crypto::hash > block_ids
Definition: core_rpc_server_commands_defs.h:267
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:268
Definition: core_rpc_server_commands_defs.h:278
uint64_t current_height
Definition: core_rpc_server_commands_defs.h:281
std::vector< crypto::hash > m_block_ids
Definition: core_rpc_server_commands_defs.h:279
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:280
Definition: core_rpc_server_commands_defs.h:263
Definition: core_rpc_server_commands_defs.h:141
Definition: core_rpc_server_commands_defs.h:149
uint64_t height
Definition: core_rpc_server_commands_defs.h:150
std::string hash
Definition: core_rpc_server_commands_defs.h:151
Definition: core_rpc_server_commands_defs.h:139
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:146
Definition: core_rpc_server_commands_defs.h:645
Definition: core_rpc_server_commands_defs.h:653
uint64_t difficulty_top64
Definition: core_rpc_server_commands_defs.h:658
uint64_t block_size_limit
Definition: core_rpc_server_commands_defs.h:676
uint64_t cumulative_difficulty_top64
Definition: core_rpc_server_commands_defs.h:675
uint64_t free_space
Definition: core_rpc_server_commands_defs.h:682
bool busy_syncing
Definition: core_rpc_server_commands_defs.h:689
uint64_t white_peerlist_size
Definition: core_rpc_server_commands_defs.h:666
bool was_bootstrap_ever_used
Definition: core_rpc_server_commands_defs.h:686
std::string bootstrap_daemon_address
Definition: core_rpc_server_commands_defs.h:684
uint64_t target
Definition: core_rpc_server_commands_defs.h:659
bool update_available
Definition: core_rpc_server_commands_defs.h:688
uint64_t block_size_median
Definition: core_rpc_server_commands_defs.h:678
bool offline
Definition: core_rpc_server_commands_defs.h:683
std::string version
Definition: core_rpc_server_commands_defs.h:690
uint64_t block_weight_median
Definition: core_rpc_server_commands_defs.h:679
uint64_t start_time
Definition: core_rpc_server_commands_defs.h:681
uint64_t adjusted_time
Definition: core_rpc_server_commands_defs.h:680
uint64_t target_height
Definition: core_rpc_server_commands_defs.h:655
std::string wide_difficulty
Definition: core_rpc_server_commands_defs.h:657
uint64_t outgoing_connections_count
Definition: core_rpc_server_commands_defs.h:663
std::string top_block_hash
Definition: core_rpc_server_commands_defs.h:672
uint64_t database_size
Definition: core_rpc_server_commands_defs.h:687
std::string wide_cumulative_difficulty
Definition: core_rpc_server_commands_defs.h:674
uint64_t block_weight_limit
Definition: core_rpc_server_commands_defs.h:677
bool testnet
Definition: core_rpc_server_commands_defs.h:669
uint64_t incoming_connections_count
Definition: core_rpc_server_commands_defs.h:664
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:656
uint64_t tx_pool_size
Definition: core_rpc_server_commands_defs.h:661
uint64_t grey_peerlist_size
Definition: core_rpc_server_commands_defs.h:667
uint64_t cumulative_difficulty
Definition: core_rpc_server_commands_defs.h:673
bool mainnet
Definition: core_rpc_server_commands_defs.h:668
uint64_t alt_blocks_count
Definition: core_rpc_server_commands_defs.h:662
bool restricted
Definition: core_rpc_server_commands_defs.h:692
bool stagenet
Definition: core_rpc_server_commands_defs.h:670
uint64_t height
Definition: core_rpc_server_commands_defs.h:654
uint64_t rpc_connections_count
Definition: core_rpc_server_commands_defs.h:665
std::string nettype
Definition: core_rpc_server_commands_defs.h:671
uint64_t height_without_bootstrap
Definition: core_rpc_server_commands_defs.h:685
uint64_t tx_count
Definition: core_rpc_server_commands_defs.h:660
Definition: core_rpc_server_commands_defs.h:643
Definition: core_rpc_server_commands_defs.h:1163
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1164
Definition: core_rpc_server_commands_defs.h:1174
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1175
Definition: core_rpc_server_commands_defs.h:1161
Definition: core_rpc_server_commands_defs.h:1801
Definition: core_rpc_server_commands_defs.h:1809
uint64_t limit_up
Definition: core_rpc_server_commands_defs.h:1810
uint64_t limit_down
Definition: core_rpc_server_commands_defs.h:1811
Definition: core_rpc_server_commands_defs.h:1799
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1806
Definition: core_rpc_server_commands_defs.h:745
Definition: core_rpc_server_commands_defs.h:754
uint64_t total_bytes_out
Definition: core_rpc_server_commands_defs.h:759
uint64_t start_time
Definition: core_rpc_server_commands_defs.h:755
uint64_t total_bytes_in
Definition: core_rpc_server_commands_defs.h:757
uint64_t total_packets_in
Definition: core_rpc_server_commands_defs.h:756
uint64_t total_packets_out
Definition: core_rpc_server_commands_defs.h:758
Definition: core_rpc_server_commands_defs.h:743
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:750
Definition: core_rpc_server_commands_defs.h:536
std::string mask
Definition: core_rpc_server_commands_defs.h:538
bool unlocked
Definition: core_rpc_server_commands_defs.h:539
uint64_t height
Definition: core_rpc_server_commands_defs.h:540
std::string key
Definition: core_rpc_server_commands_defs.h:537
std::string txid
Definition: core_rpc_server_commands_defs.h:541
Definition: core_rpc_server_commands_defs.h:523
std::vector< get_outputs_out > outputs
Definition: core_rpc_server_commands_defs.h:524
bool get_txid
Definition: core_rpc_server_commands_defs.h:525
Definition: core_rpc_server_commands_defs.h:553
std::vector< outkey > outs
Definition: core_rpc_server_commands_defs.h:554
Definition: core_rpc_server_commands_defs.h:492
crypto::public_key key
Definition: core_rpc_server_commands_defs.h:493
rct::key mask
Definition: core_rpc_server_commands_defs.h:494
uint64_t height
Definition: core_rpc_server_commands_defs.h:496
bool unlocked
Definition: core_rpc_server_commands_defs.h:495
crypto::hash txid
Definition: core_rpc_server_commands_defs.h:497
Definition: core_rpc_server_commands_defs.h:479
std::vector< get_outputs_out > outputs
Definition: core_rpc_server_commands_defs.h:480
bool get_txid
Definition: core_rpc_server_commands_defs.h:481
Definition: core_rpc_server_commands_defs.h:509
std::vector< outkey > outs
Definition: core_rpc_server_commands_defs.h:510
Definition: core_rpc_server_commands_defs.h:477
Definition: core_rpc_server_commands_defs.h:521
Definition: core_rpc_server_commands_defs.h:2415
bool binary
Definition: core_rpc_server_commands_defs.h:2419
rpc::output_distribution_data data
Definition: core_rpc_server_commands_defs.h:2416
std::string compressed_data
Definition: core_rpc_server_commands_defs.h:2418
bool compress
Definition: core_rpc_server_commands_defs.h:2420
uint64_t amount
Definition: core_rpc_server_commands_defs.h:2417
Definition: core_rpc_server_commands_defs.h:2394
uint64_t from_height
Definition: core_rpc_server_commands_defs.h:2396
bool compress
Definition: core_rpc_server_commands_defs.h:2400
uint64_t to_height
Definition: core_rpc_server_commands_defs.h:2397
bool binary
Definition: core_rpc_server_commands_defs.h:2399
std::vector< uint64_t > amounts
Definition: core_rpc_server_commands_defs.h:2395
bool cumulative
Definition: core_rpc_server_commands_defs.h:2398
Definition: core_rpc_server_commands_defs.h:2457
std::vector< distribution > distributions
Definition: core_rpc_server_commands_defs.h:2458
Definition: core_rpc_server_commands_defs.h:2392
Definition: core_rpc_server_commands_defs.h:2086
uint64_t unlocked_instances
Definition: core_rpc_server_commands_defs.h:2089
uint64_t recent_instances
Definition: core_rpc_server_commands_defs.h:2090
uint64_t total_instances
Definition: core_rpc_server_commands_defs.h:2088
entry()
Definition: core_rpc_server_commands_defs.h:2101
uint64_t amount
Definition: core_rpc_server_commands_defs.h:2087
Definition: core_rpc_server_commands_defs.h:2067
uint64_t max_count
Definition: core_rpc_server_commands_defs.h:2070
uint64_t min_count
Definition: core_rpc_server_commands_defs.h:2069
bool unlocked
Definition: core_rpc_server_commands_defs.h:2071
uint64_t recent_cutoff
Definition: core_rpc_server_commands_defs.h:2072
std::vector< uint64_t > amounts
Definition: core_rpc_server_commands_defs.h:2068
Definition: core_rpc_server_commands_defs.h:2105
std::vector< entry > histogram
Definition: core_rpc_server_commands_defs.h:2106
Definition: core_rpc_server_commands_defs.h:2065
Definition: core_rpc_server_commands_defs.h:1318
bool public_only
Definition: core_rpc_server_commands_defs.h:1319
bool include_blocked
Definition: core_rpc_server_commands_defs.h:1320
Definition: core_rpc_server_commands_defs.h:1331
std::vector< peer > white_list
Definition: core_rpc_server_commands_defs.h:1332
std::vector< peer > gray_list
Definition: core_rpc_server_commands_defs.h:1333
Definition: core_rpc_server_commands_defs.h:1316
Definition: core_rpc_server_commands_defs.h:1368
bool gray
Definition: core_rpc_server_commands_defs.h:1369
bool include_blocked
Definition: core_rpc_server_commands_defs.h:1371
bool white
Definition: core_rpc_server_commands_defs.h:1370
Definition: core_rpc_server_commands_defs.h:1383
std::vector< public_node > gray
Definition: core_rpc_server_commands_defs.h:1384
std::vector< public_node > white
Definition: core_rpc_server_commands_defs.h:1385
Definition: core_rpc_server_commands_defs.h:1366
Definition: core_rpc_server_commands_defs.h:343
uint64_t confirmations
Definition: core_rpc_server_commands_defs.h:353
uint64_t block_height
Definition: core_rpc_server_commands_defs.h:352
std::string as_json
Definition: core_rpc_server_commands_defs.h:349
bool in_pool
Definition: core_rpc_server_commands_defs.h:350
bool relayed
Definition: core_rpc_server_commands_defs.h:357
uint64_t received_timestamp
Definition: core_rpc_server_commands_defs.h:355
std::string as_hex
Definition: core_rpc_server_commands_defs.h:345
std::string prunable_as_hex
Definition: core_rpc_server_commands_defs.h:347
std::string prunable_hash
Definition: core_rpc_server_commands_defs.h:348
std::vector< uint64_t > output_indices
Definition: core_rpc_server_commands_defs.h:356
std::string pruned_as_hex
Definition: core_rpc_server_commands_defs.h:346
std::string tx_hash
Definition: core_rpc_server_commands_defs.h:344
uint64_t block_timestamp
Definition: core_rpc_server_commands_defs.h:354
bool double_spend_seen
Definition: core_rpc_server_commands_defs.h:351
Definition: core_rpc_server_commands_defs.h:326
bool split
Definition: core_rpc_server_commands_defs.h:330
std::vector< std::string > txs_hashes
Definition: core_rpc_server_commands_defs.h:327
bool prune
Definition: core_rpc_server_commands_defs.h:329
bool decode_as_json
Definition: core_rpc_server_commands_defs.h:328
Definition: core_rpc_server_commands_defs.h:384
std::vector< std::string > txs_as_hex
Definition: core_rpc_server_commands_defs.h:386
std::vector< std::string > txs_as_json
Definition: core_rpc_server_commands_defs.h:387
std::vector< entry > txs
Definition: core_rpc_server_commands_defs.h:393
std::vector< std::string > missed_tx
Definition: core_rpc_server_commands_defs.h:390
Definition: core_rpc_server_commands_defs.h:324
Definition: core_rpc_server_commands_defs.h:1518
Definition: core_rpc_server_commands_defs.h:1526
std::vector< spent_key_image_info > spent_key_images
Definition: core_rpc_server_commands_defs.h:1528
std::vector< tx_info > transactions
Definition: core_rpc_server_commands_defs.h:1527
Definition: core_rpc_server_commands_defs.h:1593
Definition: core_rpc_server_commands_defs.h:1601
std::vector< tx_backlog_entry > backlog
Definition: core_rpc_server_commands_defs.h:1602
Definition: core_rpc_server_commands_defs.h:1591
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1598
Definition: core_rpc_server_commands_defs.h:1564
Definition: core_rpc_server_commands_defs.h:1572
std::vector< std::string > tx_hashes
Definition: core_rpc_server_commands_defs.h:1573
Definition: core_rpc_server_commands_defs.h:1542
Definition: core_rpc_server_commands_defs.h:1550
std::vector< crypto::hash > tx_hashes
Definition: core_rpc_server_commands_defs.h:1551
Definition: core_rpc_server_commands_defs.h:1540
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1547
Definition: core_rpc_server_commands_defs.h:1562
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1569
Definition: core_rpc_server_commands_defs.h:1661
Definition: core_rpc_server_commands_defs.h:1669
txpool_stats pool_stats
Definition: core_rpc_server_commands_defs.h:1670
Definition: core_rpc_server_commands_defs.h:1659
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1666
Definition: core_rpc_server_commands_defs.h:1516
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1523
Definition: core_rpc_server_commands_defs.h:443
crypto::hash txid
Definition: core_rpc_server_commands_defs.h:444
Definition: core_rpc_server_commands_defs.h:454
std::vector< uint64_t > o_indexes
Definition: core_rpc_server_commands_defs.h:455
Definition: core_rpc_server_commands_defs.h:441
Definition: core_rpc_server_commands_defs.h:2127
uint64_t height
Definition: core_rpc_server_commands_defs.h:2129
uint8_t hf_version
Definition: core_rpc_server_commands_defs.h:2128
bool operator==(const hf_entry &hfe) const
Definition: core_rpc_server_commands_defs.h:2131
Definition: core_rpc_server_commands_defs.h:2119
Definition: core_rpc_server_commands_defs.h:2140
bool release
Definition: core_rpc_server_commands_defs.h:2142
uint32_t version
Definition: core_rpc_server_commands_defs.h:2141
uint64_t current_height
Definition: core_rpc_server_commands_defs.h:2143
uint64_t target_height
Definition: core_rpc_server_commands_defs.h:2144
std::vector< hf_entry > hard_forks
Definition: core_rpc_server_commands_defs.h:2145
Definition: core_rpc_server_commands_defs.h:2117
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:2124
Definition: core_rpc_server_commands_defs.h:1907
uint8_t version
Definition: core_rpc_server_commands_defs.h:1908
Definition: core_rpc_server_commands_defs.h:1918
uint32_t state
Definition: core_rpc_server_commands_defs.h:1925
bool enabled
Definition: core_rpc_server_commands_defs.h:1920
uint32_t window
Definition: core_rpc_server_commands_defs.h:1921
uint8_t voting
Definition: core_rpc_server_commands_defs.h:1924
uint32_t votes
Definition: core_rpc_server_commands_defs.h:1922
uint8_t version
Definition: core_rpc_server_commands_defs.h:1919
uint64_t earliest_height
Definition: core_rpc_server_commands_defs.h:1926
uint32_t threshold
Definition: core_rpc_server_commands_defs.h:1923
Definition: core_rpc_server_commands_defs.h:1905
Definition: core_rpc_server_commands_defs.h:1881
uint32_t in_peers
Definition: core_rpc_server_commands_defs.h:1883
bool set
Definition: core_rpc_server_commands_defs.h:1882
Definition: core_rpc_server_commands_defs.h:1893
uint32_t in_peers
Definition: core_rpc_server_commands_defs.h:1894
Definition: core_rpc_server_commands_defs.h:1879
Definition: core_rpc_server_commands_defs.h:416
std::vector< std::string > key_images
Definition: core_rpc_server_commands_defs.h:417
Definition: core_rpc_server_commands_defs.h:428
std::vector< int > spent_status
Definition: core_rpc_server_commands_defs.h:429
Definition: core_rpc_server_commands_defs.h:408
STATUS
Definition: core_rpc_server_commands_defs.h:409
Definition: core_rpc_server_commands_defs.h:798
Definition: core_rpc_server_commands_defs.h:807
uint32_t threads_count
Definition: core_rpc_server_commands_defs.h:810
bool bg_ignore_battery
Definition: core_rpc_server_commands_defs.h:816
bool active
Definition: core_rpc_server_commands_defs.h:808
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:820
uint64_t speed
Definition: core_rpc_server_commands_defs.h:809
uint8_t bg_idle_threshold
Definition: core_rpc_server_commands_defs.h:814
bool is_background_mining_enabled
Definition: core_rpc_server_commands_defs.h:813
uint64_t block_reward
Definition: core_rpc_server_commands_defs.h:819
uint64_t difficulty_top64
Definition: core_rpc_server_commands_defs.h:822
std::string pow_algorithm
Definition: core_rpc_server_commands_defs.h:812
std::string wide_difficulty
Definition: core_rpc_server_commands_defs.h:821
uint32_t block_target
Definition: core_rpc_server_commands_defs.h:818
uint8_t bg_target
Definition: core_rpc_server_commands_defs.h:817
uint8_t bg_min_idle_seconds
Definition: core_rpc_server_commands_defs.h:815
std::string address
Definition: core_rpc_server_commands_defs.h:811
Definition: core_rpc_server_commands_defs.h:796
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:803
Definition: core_rpc_server_commands_defs.h:1854
uint32_t out_peers
Definition: core_rpc_server_commands_defs.h:1856
bool set
Definition: core_rpc_server_commands_defs.h:1855
Definition: core_rpc_server_commands_defs.h:1867
uint32_t out_peers
Definition: core_rpc_server_commands_defs.h:1868
Definition: core_rpc_server_commands_defs.h:1852
Definition: core_rpc_server_commands_defs.h:2671
uint64_t nblocks
Definition: core_rpc_server_commands_defs.h:2672
Definition: core_rpc_server_commands_defs.h:2682
uint64_t height
Definition: core_rpc_server_commands_defs.h:2683
Definition: core_rpc_server_commands_defs.h:2669
Definition: core_rpc_server_commands_defs.h:2696
bool check
Definition: core_rpc_server_commands_defs.h:2697
Definition: core_rpc_server_commands_defs.h:2707
bool pruned
Definition: core_rpc_server_commands_defs.h:2708
uint32_t pruning_seed
Definition: core_rpc_server_commands_defs.h:2709
Definition: core_rpc_server_commands_defs.h:2694
Definition: core_rpc_server_commands_defs.h:2310
std::vector< std::string > txids
Definition: core_rpc_server_commands_defs.h:2311
Definition: core_rpc_server_commands_defs.h:2321
Definition: core_rpc_server_commands_defs.h:2308
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:2326
Definition: core_rpc_server_commands_defs.h:850
Definition: core_rpc_server_commands_defs.h:859
Definition: core_rpc_server_commands_defs.h:848
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:864
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:855
Definition: core_rpc_server_commands_defs.h:567
bool do_not_relay
Definition: core_rpc_server_commands_defs.h:569
bool do_sanity_checks
Definition: core_rpc_server_commands_defs.h:570
std::string tx_as_hex
Definition: core_rpc_server_commands_defs.h:568
Definition: core_rpc_server_commands_defs.h:583
bool sanity_check_failed
Definition: core_rpc_server_commands_defs.h:594
bool not_relayed
Definition: core_rpc_server_commands_defs.h:585
bool fee_too_low
Definition: core_rpc_server_commands_defs.h:592
bool invalid_input
Definition: core_rpc_server_commands_defs.h:588
bool low_mixin
Definition: core_rpc_server_commands_defs.h:586
bool too_few_outputs
Definition: core_rpc_server_commands_defs.h:593
bool double_spend
Definition: core_rpc_server_commands_defs.h:587
bool overspend
Definition: core_rpc_server_commands_defs.h:591
bool invalid_output
Definition: core_rpc_server_commands_defs.h:589
std::string reason
Definition: core_rpc_server_commands_defs.h:584
bool too_big
Definition: core_rpc_server_commands_defs.h:590
Definition: core_rpc_server_commands_defs.h:565
Definition: core_rpc_server_commands_defs.h:1981
uint32_t seconds
Definition: core_rpc_server_commands_defs.h:1985
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1983
bool ban
Definition: core_rpc_server_commands_defs.h:1984
std::string host
Definition: core_rpc_server_commands_defs.h:1982
Definition: core_rpc_server_commands_defs.h:1996
std::vector< ban > bans
Definition: core_rpc_server_commands_defs.h:1997
Definition: core_rpc_server_commands_defs.h:2007
Definition: core_rpc_server_commands_defs.h:1979
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:2012
Definition: core_rpc_server_commands_defs.h:1734
std::string username
Definition: core_rpc_server_commands_defs.h:1736
std::string password
Definition: core_rpc_server_commands_defs.h:1737
std::string address
Definition: core_rpc_server_commands_defs.h:1735
std::string proxy
Definition: core_rpc_server_commands_defs.h:1738
Definition: core_rpc_server_commands_defs.h:1750
std::string status
Definition: core_rpc_server_commands_defs.h:1751
Definition: core_rpc_server_commands_defs.h:1732
Definition: core_rpc_server_commands_defs.h:1825
int64_t limit_down
Definition: core_rpc_server_commands_defs.h:1826
int64_t limit_up
Definition: core_rpc_server_commands_defs.h:1827
Definition: core_rpc_server_commands_defs.h:1838
int64_t limit_down
Definition: core_rpc_server_commands_defs.h:1840
int64_t limit_up
Definition: core_rpc_server_commands_defs.h:1839
Definition: core_rpc_server_commands_defs.h:1823
Definition: core_rpc_server_commands_defs.h:1443
std::string categories
Definition: core_rpc_server_commands_defs.h:1444
Definition: core_rpc_server_commands_defs.h:1454
std::string categories
Definition: core_rpc_server_commands_defs.h:1455
Definition: core_rpc_server_commands_defs.h:1441
Definition: core_rpc_server_commands_defs.h:1399
bool visible
Definition: core_rpc_server_commands_defs.h:1400
Definition: core_rpc_server_commands_defs.h:1410
Definition: core_rpc_server_commands_defs.h:1397
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:1415
Definition: core_rpc_server_commands_defs.h:1421
int8_t level
Definition: core_rpc_server_commands_defs.h:1422
Definition: core_rpc_server_commands_defs.h:1432
Definition: core_rpc_server_commands_defs.h:1419
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:1437
Definition: core_rpc_server_commands_defs.h:617
bool do_background_mining
Definition: core_rpc_server_commands_defs.h:620
uint64_t threads_count
Definition: core_rpc_server_commands_defs.h:619
std::string miner_address
Definition: core_rpc_server_commands_defs.h:618
bool ignore_battery
Definition: core_rpc_server_commands_defs.h:621
Definition: core_rpc_server_commands_defs.h:634
Definition: core_rpc_server_commands_defs.h:615
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:639
Definition: core_rpc_server_commands_defs.h:1763
Definition: core_rpc_server_commands_defs.h:1771
Definition: core_rpc_server_commands_defs.h:1761
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:1776
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:1768
Definition: core_rpc_server_commands_defs.h:777
Definition: core_rpc_server_commands_defs.h:786
Definition: core_rpc_server_commands_defs.h:775
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:791
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:782
Definition: core_rpc_server_commands_defs.h:1068
Definition: core_rpc_server_commands_defs.h:1064
std::vector< std::string > request
Definition: core_rpc_server_commands_defs.h:1065
epee::misc_utils::struct_init< response_t > response
Definition: core_rpc_server_commands_defs.h:1073
Definition: core_rpc_server_commands_defs.h:296
std::string address
Definition: core_rpc_server_commands_defs.h:297
std::string tx
Definition: core_rpc_server_commands_defs.h:299
std::string view_key
Definition: core_rpc_server_commands_defs.h:298
Definition: core_rpc_server_commands_defs.h:311
std::string status
Definition: core_rpc_server_commands_defs.h:312
std::string error
Definition: core_rpc_server_commands_defs.h:313
Definition: core_rpc_server_commands_defs.h:294
Definition: core_rpc_server_commands_defs.h:2340
connection_info info
Definition: core_rpc_server_commands_defs.h:2341
Definition: core_rpc_server_commands_defs.h:2332
Definition: core_rpc_server_commands_defs.h:2370
uint64_t target_height
Definition: core_rpc_server_commands_defs.h:2372
std::list< peer > peers
Definition: core_rpc_server_commands_defs.h:2374
uint32_t next_needed_pruning_seed
Definition: core_rpc_server_commands_defs.h:2373
uint64_t height
Definition: core_rpc_server_commands_defs.h:2371
std::string overview
Definition: core_rpc_server_commands_defs.h:2376
std::list< span > spans
Definition: core_rpc_server_commands_defs.h:2375
Definition: core_rpc_server_commands_defs.h:2349
std::string remote_address
Definition: core_rpc_server_commands_defs.h:2356
std::string connection_id
Definition: core_rpc_server_commands_defs.h:2352
uint64_t size
Definition: core_rpc_server_commands_defs.h:2355
uint32_t speed
Definition: core_rpc_server_commands_defs.h:2354
uint32_t rate
Definition: core_rpc_server_commands_defs.h:2353
uint64_t nblocks
Definition: core_rpc_server_commands_defs.h:2351
uint64_t start_block_height
Definition: core_rpc_server_commands_defs.h:2350
Definition: core_rpc_server_commands_defs.h:2330
epee::misc_utils::struct_init< request_t > request
Definition: core_rpc_server_commands_defs.h:2337
Definition: core_rpc_server_commands_defs.h:2273
std::string command
Definition: core_rpc_server_commands_defs.h:2274
std::string path
Definition: core_rpc_server_commands_defs.h:2275
Definition: core_rpc_server_commands_defs.h:2286
std::string hash
Definition: core_rpc_server_commands_defs.h:2291
std::string user_uri
Definition: core_rpc_server_commands_defs.h:2289
std::string path
Definition: core_rpc_server_commands_defs.h:2292
std::string auto_uri
Definition: core_rpc_server_commands_defs.h:2290
bool update
Definition: core_rpc_server_commands_defs.h:2287
std::string version
Definition: core_rpc_server_commands_defs.h:2288
Definition: core_rpc_server_commands_defs.h:2271
Definition: core_rpc_server_commands_defs.h:1110
uint8_t minor_version
Definition: core_rpc_server_commands_defs.h:1112
uint64_t difficulty_top64
Definition: core_rpc_server_commands_defs.h:1122
uint64_t reward
Definition: core_rpc_server_commands_defs.h:1126
uint64_t timestamp
Definition: core_rpc_server_commands_defs.h:1113
std::string pow_hash
Definition: core_rpc_server_commands_defs.h:1130
uint8_t major_version
Definition: core_rpc_server_commands_defs.h:1111
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:1120
std::string miner_tx_hash
Definition: core_rpc_server_commands_defs.h:1132
uint32_t nonce
Definition: core_rpc_server_commands_defs.h:1115
std::string hash
Definition: core_rpc_server_commands_defs.h:1119
bool orphan_status
Definition: core_rpc_server_commands_defs.h:1116
uint64_t long_term_weight
Definition: core_rpc_server_commands_defs.h:1131
uint64_t block_size
Definition: core_rpc_server_commands_defs.h:1127
uint64_t cumulative_difficulty
Definition: core_rpc_server_commands_defs.h:1123
uint64_t cumulative_difficulty_top64
Definition: core_rpc_server_commands_defs.h:1125
uint64_t height
Definition: core_rpc_server_commands_defs.h:1117
std::string wide_difficulty
Definition: core_rpc_server_commands_defs.h:1121
uint64_t num_txes
Definition: core_rpc_server_commands_defs.h:1129
uint64_t depth
Definition: core_rpc_server_commands_defs.h:1118
uint64_t block_weight
Definition: core_rpc_server_commands_defs.h:1128
std::string prev_hash
Definition: core_rpc_server_commands_defs.h:1114
std::string wide_cumulative_difficulty
Definition: core_rpc_server_commands_defs.h:1124
Definition: cryptonote_basic.h:458
Definition: cryptonote_protocol_defs.h:48
Definition: core_rpc_server_commands_defs.h:466
uint64_t amount
Definition: core_rpc_server_commands_defs.h:467
uint64_t index
Definition: core_rpc_server_commands_defs.h:468
Definition: core_rpc_server_commands_defs.h:1281
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1284
uint32_t pruning_seed
Definition: core_rpc_server_commands_defs.h:1289
uint32_t rpc_credits_per_hash
Definition: core_rpc_server_commands_defs.h:1287
uint64_t last_seen
Definition: core_rpc_server_commands_defs.h:1288
peer(uint64_t id, uint32_t ip, uint16_t port, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port, uint32_t rpc_credits_per_hash)
Definition: core_rpc_server_commands_defs.h:1299
peer(uint64_t id, const std::string &host, uint16_t port, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port, uint32_t rpc_credits_per_hash)
Definition: core_rpc_server_commands_defs.h:1296
uint16_t port
Definition: core_rpc_server_commands_defs.h:1285
std::string host
Definition: core_rpc_server_commands_defs.h:1283
uint16_t rpc_port
Definition: core_rpc_server_commands_defs.h:1286
uint64_t id
Definition: core_rpc_server_commands_defs.h:1282
peer(uint64_t id, const std::string &host, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port, uint32_t rpc_credits_per_hash)
Definition: core_rpc_server_commands_defs.h:1293
Definition: core_rpc_server_commands_defs.h:1345
std::string host
Definition: core_rpc_server_commands_defs.h:1346
uint64_t last_seen
Definition: core_rpc_server_commands_defs.h:1347
uint32_t rpc_credits_per_hash
Definition: core_rpc_server_commands_defs.h:1349
public_node()
Definition: core_rpc_server_commands_defs.h:1351
public_node(const peer &peer)
Definition: core_rpc_server_commands_defs.h:1353
uint16_t rpc_port
Definition: core_rpc_server_commands_defs.h:1348
Definition: rpc_handler.h:46
Definition: core_rpc_server_commands_defs.h:115
std::string client
Definition: core_rpc_server_commands_defs.h:116
Definition: core_rpc_server_commands_defs.h:125
uint64_t credits
Definition: core_rpc_server_commands_defs.h:126
std::string top_hash
Definition: core_rpc_server_commands_defs.h:127
rpc_access_response_base()
Definition: core_rpc_server_commands_defs.h:129
Definition: core_rpc_server_commands_defs.h:96
Definition: core_rpc_server_commands_defs.h:102
std::string status
Definition: core_rpc_server_commands_defs.h:103
bool untrusted
Definition: core_rpc_server_commands_defs.h:104
rpc_response_base()
Definition: core_rpc_server_commands_defs.h:106
Definition: core_rpc_server_commands_defs.h:1505
std::string id_hash
Definition: core_rpc_server_commands_defs.h:1506
std::vector< std::string > txs_hashes
Definition: core_rpc_server_commands_defs.h:1507
Definition: core_rpc_server_commands_defs.h:1584
uint64_t weight
Definition: core_rpc_server_commands_defs.h:1585
uint64_t fee
Definition: core_rpc_server_commands_defs.h:1586
uint64_t time_in_pool
Definition: core_rpc_server_commands_defs.h:1587
Definition: core_rpc_server_commands_defs.h:1466
std::string max_used_block_id_hash
Definition: core_rpc_server_commands_defs.h:1472
uint64_t max_used_block_height
Definition: core_rpc_server_commands_defs.h:1473
uint64_t blob_size
Definition: core_rpc_server_commands_defs.h:1469
bool relayed
Definition: core_rpc_server_commands_defs.h:1478
uint64_t last_failed_height
Definition: core_rpc_server_commands_defs.h:1475
bool do_not_relay
Definition: core_rpc_server_commands_defs.h:1480
uint64_t receive_time
Definition: core_rpc_server_commands_defs.h:1477
bool kept_by_block
Definition: core_rpc_server_commands_defs.h:1474
std::string tx_json
Definition: core_rpc_server_commands_defs.h:1468
uint64_t fee
Definition: core_rpc_server_commands_defs.h:1471
std::string last_failed_id_hash
Definition: core_rpc_server_commands_defs.h:1476
uint64_t last_relayed_time
Definition: core_rpc_server_commands_defs.h:1479
uint64_t weight
Definition: core_rpc_server_commands_defs.h:1470
std::string tx_blob
Definition: core_rpc_server_commands_defs.h:1482
std::string id_hash
Definition: core_rpc_server_commands_defs.h:1467
bool double_spend_seen
Definition: core_rpc_server_commands_defs.h:1481
Definition: core_rpc_server_commands_defs.h:1613
uint64_t bytes
Definition: core_rpc_server_commands_defs.h:1615
uint32_t txs
Definition: core_rpc_server_commands_defs.h:1614
Definition: core_rpc_server_commands_defs.h:1624
uint64_t oldest
Definition: core_rpc_server_commands_defs.h:1630
uint32_t num_not_relayed
Definition: core_rpc_server_commands_defs.h:1634
uint32_t num_10m
Definition: core_rpc_server_commands_defs.h:1633
uint32_t num_double_spends
Definition: core_rpc_server_commands_defs.h:1637
txpool_stats()
Definition: core_rpc_server_commands_defs.h:1639
uint64_t bytes_total
Definition: core_rpc_server_commands_defs.h:1625
std::vector< txpool_histo > histo
Definition: core_rpc_server_commands_defs.h:1636
uint64_t histo_98pc
Definition: core_rpc_server_commands_defs.h:1635
uint32_t txs_total
Definition: core_rpc_server_commands_defs.h:1631
uint32_t num_failing
Definition: core_rpc_server_commands_defs.h:1632
uint64_t fee_total
Definition: core_rpc_server_commands_defs.h:1629
uint32_t bytes_max
Definition: core_rpc_server_commands_defs.h:1627
uint32_t bytes_min
Definition: core_rpc_server_commands_defs.h:1626
uint32_t bytes_med
Definition: core_rpc_server_commands_defs.h:1628
Definition: misc_language.h:104
Definition: rctTypes.h:79
Definition: blake256.h:36
std::string data
Definition: base58.cpp:37
struct hash_func hashes[]
cryptonote::transaction tx
Definition: transaction.cpp:40
rapidjson::Document json
Definition: transport.cpp:50
provides the implementation of varint's
#define T(x)