Electroneum
core_rpc_server_commands_defs.h
Go to the documentation of this file.
1 // Copyrights(c) 2017-2019, The Electroneum Project
2 // Copyrights(c) 2014-2017, The Monero Project
3 //
4 // All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without modification, are
7 // permitted provided that the following conditions are met:
8 //
9 // 1. Redistributions of source code must retain the above copyright notice, this list of
10 // conditions and the following disclaimer.
11 //
12 // 2. Redistributions in binary form must reproduce the above copyright notice, this list
13 // of conditions and the following disclaimer in the documentation and/or other
14 // materials provided with the distribution.
15 //
16 // 3. Neither the name of the copyright holder nor the names of its contributors may be
17 // used to endorse or promote products derived from this software without specific
18 // prior written permission.
19 //
20 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
21 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23 // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27 // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
28 // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
31 
32 #pragma once
36 #include "crypto/hash.h"
37 
38 namespace cryptonote
39 {
40  //-----------------------------------------------
41 #define CORE_RPC_STATUS_OK "OK"
42 #define CORE_RPC_STATUS_BUSY "BUSY"
43 #define CORE_RPC_STATUS_NOT_MINING "NOT MINING"
44 
45 // When making *any* change here, bump minor
46 // If the change is incompatible, then bump major and set minor to 0
47 // This ensures CORE_RPC_VERSION always increases, that every change
48 // has its own version, and that clients can just test major to see
49 // whether they can talk to a given daemon without having to know in
50 // advance which version they will stop working with
51 // Don't go over 32767 for any of these
52 #define CORE_RPC_VERSION_MAJOR 1
53 #define CORE_RPC_VERSION_MINOR 13
54 #define MAKE_CORE_RPC_VERSION(major,minor) (((major)<<16)|(minor))
55 #define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR)
56 
58  {
59  struct request
60  {
61  BEGIN_KV_SERIALIZE_MAP()
62  END_KV_SERIALIZE_MAP()
63  };
64 
65  struct response
66  {
67  uint64_t height;
68  std::string status;
69 
70  BEGIN_KV_SERIALIZE_MAP()
71  KV_SERIALIZE(height)
72  KV_SERIALIZE(status)
73  END_KV_SERIALIZE_MAP()
74  };
75  };
76 
78  {
79 
80  struct request
81  {
82  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 */
83  uint64_t start_height;
84  bool prune;
85  BEGIN_KV_SERIALIZE_MAP()
86  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(block_ids)
87  KV_SERIALIZE(start_height)
88  KV_SERIALIZE(prune)
89  END_KV_SERIALIZE_MAP()
90  };
91 
93  {
94  std::vector<uint64_t> indices;
95 
96  BEGIN_KV_SERIALIZE_MAP()
97  KV_SERIALIZE(indices)
98  END_KV_SERIALIZE_MAP()
99  };
100 
102  {
103  std::vector<tx_output_indices> indices;
104 
105  BEGIN_KV_SERIALIZE_MAP()
106  KV_SERIALIZE(indices)
107  END_KV_SERIALIZE_MAP()
108  };
109 
110  struct response
111  {
112  std::list<block_complete_entry> blocks;
113  uint64_t start_height;
114  uint64_t current_height;
115  std::string status;
116  std::vector<block_output_indices> output_indices;
117 
118  BEGIN_KV_SERIALIZE_MAP()
119  KV_SERIALIZE(blocks)
120  KV_SERIALIZE(start_height)
121  KV_SERIALIZE(current_height)
122  KV_SERIALIZE(status)
123  KV_SERIALIZE(output_indices)
124  END_KV_SERIALIZE_MAP()
125  };
126  };
127 
129  {
130  struct request
131  {
132  std::vector<uint64_t> heights;
133  BEGIN_KV_SERIALIZE_MAP()
134  KV_SERIALIZE(heights)
135  END_KV_SERIALIZE_MAP()
136  };
137 
138  struct response
139  {
140  std::vector<block_complete_entry> blocks;
141  std::string status;
142 
143  BEGIN_KV_SERIALIZE_MAP()
144  KV_SERIALIZE(blocks)
145  KV_SERIALIZE(status)
146  END_KV_SERIALIZE_MAP()
147  };
148  };
149 
151  {
152  struct request
153  {
154  BEGIN_KV_SERIALIZE_MAP()
155  END_KV_SERIALIZE_MAP()
156  };
157 
158  struct response
159  {
160  std::vector<std::string> blks_hashes;
161  std::string status;
162 
163  BEGIN_KV_SERIALIZE_MAP()
164  KV_SERIALIZE(blks_hashes)
165  KV_SERIALIZE(status)
166  END_KV_SERIALIZE_MAP()
167  };
168  };
170  {
171 
172  struct request
173  {
174  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 */
175  uint64_t start_height;
176  BEGIN_KV_SERIALIZE_MAP()
177  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(block_ids)
178  KV_SERIALIZE(start_height)
179  END_KV_SERIALIZE_MAP()
180  };
181 
182  struct response
183  {
184  std::list<crypto::hash> m_block_ids;
185  uint64_t start_height;
186  uint64_t current_height;
187  std::string status;
188 
189  BEGIN_KV_SERIALIZE_MAP()
190  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(m_block_ids)
191  KV_SERIALIZE(start_height)
192  KV_SERIALIZE(current_height)
193  KV_SERIALIZE(status)
194  END_KV_SERIALIZE_MAP()
195  };
196  };
197 
198  //-----------------------------------------------
200  {
201  struct request
202  {
203  std::list<std::string> txs_hashes;
205 
206  BEGIN_KV_SERIALIZE_MAP()
207  KV_SERIALIZE(txs_hashes)
208  KV_SERIALIZE(decode_as_json)
209  END_KV_SERIALIZE_MAP()
210  };
211 
212  struct entry
213  {
214  std::string tx_hash;
215  std::string as_hex;
216  std::string as_json;
217  bool in_pool;
218  uint64_t block_height;
219  std::vector<uint64_t> output_indices;
220 
221  BEGIN_KV_SERIALIZE_MAP()
222  KV_SERIALIZE(tx_hash)
223  KV_SERIALIZE(as_hex)
224  KV_SERIALIZE(as_json)
225  KV_SERIALIZE(in_pool)
226  KV_SERIALIZE(block_height)
227  KV_SERIALIZE(output_indices)
228  END_KV_SERIALIZE_MAP()
229  };
230 
231  struct response
232  {
233  // older compatibility stuff
234  std::list<std::string> txs_as_hex; //transactions blobs as hex (old compat)
235  std::list<std::string> txs_as_json; //transactions decoded as json (old compat)
236 
237  // in both old and new
238  std::list<std::string> missed_tx; //not found transactions
239 
240  // new style
241  std::vector<entry> txs;
242  std::string status;
243 
244  BEGIN_KV_SERIALIZE_MAP()
245  KV_SERIALIZE(txs_as_hex)
246  KV_SERIALIZE(txs_as_json)
247  KV_SERIALIZE(txs)
248  KV_SERIALIZE(missed_tx)
249  KV_SERIALIZE(status)
250  END_KV_SERIALIZE_MAP()
251  };
252  };
253 
254  //-----------------------------------------------
256  {
257  enum STATUS {
258  UNSPENT = 0,
259  SPENT_IN_BLOCKCHAIN = 1,
260  SPENT_IN_POOL = 2,
261  };
262 
263  struct request
264  {
265  std::vector<std::string> key_images;
266 
267  BEGIN_KV_SERIALIZE_MAP()
268  KV_SERIALIZE(key_images)
269  END_KV_SERIALIZE_MAP()
270  };
271 
272 
273  struct response
274  {
275  std::vector<int> spent_status;
276  std::string status;
277 
278  BEGIN_KV_SERIALIZE_MAP()
279  KV_SERIALIZE(spent_status)
280  KV_SERIALIZE(status)
281  END_KV_SERIALIZE_MAP()
282  };
283  };
284 
285  //-----------------------------------------------
287  {
288  struct request
289  {
291  BEGIN_KV_SERIALIZE_MAP()
292  KV_SERIALIZE_VAL_POD_AS_BLOB(txid)
293  END_KV_SERIALIZE_MAP()
294  };
295 
296 
297  struct response
298  {
299  std::vector<uint64_t> o_indexes;
300  std::string status;
301  BEGIN_KV_SERIALIZE_MAP()
302  KV_SERIALIZE(o_indexes)
303  KV_SERIALIZE(status)
304  END_KV_SERIALIZE_MAP()
305  };
306  };
307  //-----------------------------------------------
309  {
310  struct request
311  {
312  std::vector<uint64_t> amounts;
313  uint64_t outs_count;
314  BEGIN_KV_SERIALIZE_MAP()
315  KV_SERIALIZE(amounts)
316  KV_SERIALIZE(outs_count)
317  END_KV_SERIALIZE_MAP()
318  };
319 
320 #pragma pack (push, 1)
321  struct out_entry
322  {
325  };
326 #pragma pack(pop)
327 
329  {
330  uint64_t amount;
331  std::list<out_entry> outs;
332 
333  BEGIN_KV_SERIALIZE_MAP()
334  KV_SERIALIZE(amount)
335  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(outs)
336  END_KV_SERIALIZE_MAP()
337  };
338 
339  struct response
340  {
341  std::vector<outs_for_amount> outs;
342  std::string status;
343  BEGIN_KV_SERIALIZE_MAP()
344  KV_SERIALIZE(outs)
345  KV_SERIALIZE(status)
346  END_KV_SERIALIZE_MAP()
347  };
348  };
349  //-----------------------------------------------
351  {
352  uint64_t amount;
353  uint64_t index;
354 
355  BEGIN_KV_SERIALIZE_MAP()
356  KV_SERIALIZE(amount)
357  KV_SERIALIZE(index)
358  END_KV_SERIALIZE_MAP()
359  };
360 
362  {
363  struct request
364  {
365  std::vector<get_outputs_out> outputs;
366 
367  BEGIN_KV_SERIALIZE_MAP()
368  KV_SERIALIZE(outputs)
369  END_KV_SERIALIZE_MAP()
370  };
371 
372  struct outkey
373  {
376  bool unlocked;
377  uint64_t height;
379 
380  BEGIN_KV_SERIALIZE_MAP()
381  KV_SERIALIZE_VAL_POD_AS_BLOB(key)
382  KV_SERIALIZE_VAL_POD_AS_BLOB(mask)
383  KV_SERIALIZE(unlocked)
384  KV_SERIALIZE(height)
385  KV_SERIALIZE_VAL_POD_AS_BLOB(txid)
386  END_KV_SERIALIZE_MAP()
387  };
388 
389  struct response
390  {
391  std::vector<outkey> outs;
392  std::string status;
393 
394  BEGIN_KV_SERIALIZE_MAP()
395  KV_SERIALIZE(outs)
396  KV_SERIALIZE(status)
397  END_KV_SERIALIZE_MAP()
398  };
399  };
400  //-----------------------------------------------
402  {
403  struct request
404  {
405  std::vector<get_outputs_out> outputs;
406 
407  BEGIN_KV_SERIALIZE_MAP()
408  KV_SERIALIZE(outputs)
409  END_KV_SERIALIZE_MAP()
410  };
411 
412  struct outkey
413  {
414  std::string key;
415  std::string mask;
416  bool unlocked;
417  uint64_t height;
418  std::string txid;
419 
420  BEGIN_KV_SERIALIZE_MAP()
421  KV_SERIALIZE(key)
422  KV_SERIALIZE(mask)
423  KV_SERIALIZE(unlocked)
424  KV_SERIALIZE(height)
425  KV_SERIALIZE(txid)
426  END_KV_SERIALIZE_MAP()
427  };
428 
429  struct response
430  {
431  std::vector<outkey> outs;
432  std::string status;
433 
434  BEGIN_KV_SERIALIZE_MAP()
435  KV_SERIALIZE(outs)
436  KV_SERIALIZE(status)
437  END_KV_SERIALIZE_MAP()
438  };
439  };
440 
442  {
443  struct request
444  {
445  uint64_t outs_count;
446  BEGIN_KV_SERIALIZE_MAP()
447  KV_SERIALIZE(outs_count)
448  END_KV_SERIALIZE_MAP()
449  };
450 
451 #pragma pack (push, 1)
452  struct out_entry
453  {
454  uint64_t amount;
458  };
459 #pragma pack(pop)
460 
461  struct response
462  {
463  std::list<out_entry> outs;
464  std::string status;
465  BEGIN_KV_SERIALIZE_MAP()
466  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(outs)
467  KV_SERIALIZE(status)
468  END_KV_SERIALIZE_MAP()
469  };
470  };
471  //-----------------------------------------------
473  {
474  struct request
475  {
476  std::string tx_as_hex;
478 
479  request() {}
480  explicit request(const transaction &);
481 
482  BEGIN_KV_SERIALIZE_MAP()
483  KV_SERIALIZE(tx_as_hex)
484  KV_SERIALIZE(do_not_relay)
485  END_KV_SERIALIZE_MAP()
486  };
487 
488 
489  struct response
490  {
491  std::string status;
492  std::string reason;
494  bool low_mixin;
498  bool too_big;
499  bool overspend;
501  bool not_rct;
502 
503  BEGIN_KV_SERIALIZE_MAP()
504  KV_SERIALIZE(status)
505  KV_SERIALIZE(reason)
506  KV_SERIALIZE(not_relayed)
507  KV_SERIALIZE(low_mixin)
508  KV_SERIALIZE(double_spend)
509  KV_SERIALIZE(invalid_input)
510  KV_SERIALIZE(invalid_output)
511  KV_SERIALIZE(too_big)
512  KV_SERIALIZE(overspend)
513  KV_SERIALIZE(fee_too_low)
514  KV_SERIALIZE(not_rct)
515  END_KV_SERIALIZE_MAP()
516  };
517  };
518  //-----------------------------------------------
520  {
521  struct request
522  {
523  std::string miner_address;
524  uint64_t threads_count;
527 
528  BEGIN_KV_SERIALIZE_MAP()
529  KV_SERIALIZE(miner_address)
530  KV_SERIALIZE(threads_count)
531  KV_SERIALIZE(do_background_mining)
532  KV_SERIALIZE(ignore_battery)
533  END_KV_SERIALIZE_MAP()
534  };
535 
536  struct response
537  {
538  std::string status;
539 
540  BEGIN_KV_SERIALIZE_MAP()
541  KV_SERIALIZE(status)
542  END_KV_SERIALIZE_MAP()
543  };
544  };
545  //-----------------------------------------------
547  {
548  struct request
549  {
550 
551  BEGIN_KV_SERIALIZE_MAP()
552  END_KV_SERIALIZE_MAP()
553  };
554 
555  struct response
556  {
557  std::string status;
558  uint64_t height;
559  uint64_t target_height;
560  uint64_t difficulty;
561  uint64_t target;
562  uint64_t tx_count;
563  uint64_t tx_pool_size;
569  bool testnet;
570  std::string top_block_hash;
573  uint64_t start_time;
574 
575  std::string daemon_release_name;
576  std::string daemon_version;
577  std::string daemon_version_full;
578  std::string daemon_version_tag;
579 
580  BEGIN_KV_SERIALIZE_MAP()
581  KV_SERIALIZE(status)
582  KV_SERIALIZE(height)
583  KV_SERIALIZE(target_height)
584  KV_SERIALIZE(difficulty)
585  KV_SERIALIZE(target)
586  KV_SERIALIZE(tx_count)
587  KV_SERIALIZE(tx_pool_size)
588  KV_SERIALIZE(alt_blocks_count)
589  KV_SERIALIZE(outgoing_connections_count)
590  KV_SERIALIZE(incoming_connections_count)
591  KV_SERIALIZE(white_peerlist_size)
592  KV_SERIALIZE(grey_peerlist_size)
593  KV_SERIALIZE(testnet)
594  KV_SERIALIZE(top_block_hash)
595  KV_SERIALIZE(cumulative_difficulty)
596  KV_SERIALIZE(block_size_limit)
597  KV_SERIALIZE(start_time)
598 
599  KV_SERIALIZE(daemon_release_name)
600  KV_SERIALIZE(daemon_version)
601  KV_SERIALIZE(daemon_version_full)
602  KV_SERIALIZE(daemon_version_tag)
603  END_KV_SERIALIZE_MAP()
604  };
605  };
606 
607 
608  //-----------------------------------------------
610  {
611  struct request
612  {
613 
614  BEGIN_KV_SERIALIZE_MAP()
615  END_KV_SERIALIZE_MAP()
616  };
617 
618 
619  struct response
620  {
621  std::string status;
622 
623  BEGIN_KV_SERIALIZE_MAP()
624  KV_SERIALIZE(status)
625  END_KV_SERIALIZE_MAP()
626  };
627  };
628 
629  //-----------------------------------------------
631  {
632  struct request
633  {
634 
635  BEGIN_KV_SERIALIZE_MAP()
636  END_KV_SERIALIZE_MAP()
637  };
638 
639 
640  struct response
641  {
642  std::string status;
643  bool active;
644  uint64_t speed;
645  uint32_t threads_count;
646  std::string address;
648 
649  BEGIN_KV_SERIALIZE_MAP()
650  KV_SERIALIZE(status)
651  KV_SERIALIZE(active)
652  KV_SERIALIZE(speed)
653  KV_SERIALIZE(threads_count)
654  KV_SERIALIZE(address)
655  KV_SERIALIZE(is_background_mining_enabled)
656  END_KV_SERIALIZE_MAP()
657  };
658  };
659 
660  //-----------------------------------------------
662  {
663  struct request
664  {
665 
666  BEGIN_KV_SERIALIZE_MAP()
667  END_KV_SERIALIZE_MAP()
668  };
669 
670 
671  struct response
672  {
673  std::string status;
674 
675  BEGIN_KV_SERIALIZE_MAP()
676  KV_SERIALIZE(status)
677  END_KV_SERIALIZE_MAP()
678  };
679  };
680 
681  //
683  {
684  typedef std::list<std::string> request;
685 
686  struct response
687  {
688  uint64_t count;
689  std::string status;
690 
691  BEGIN_KV_SERIALIZE_MAP()
692  KV_SERIALIZE(count)
693  KV_SERIALIZE(status)
694  END_KV_SERIALIZE_MAP()
695  };
696 
697  };
698 
700  {
701  typedef std::vector<uint64_t> request;
702 
703  typedef std::string response;
704  };
705 
706 
708  {
709  struct request
710  {
711  uint64_t reserve_size; //max 255 bytes
712  std::string wallet_address;
713 
714  BEGIN_KV_SERIALIZE_MAP()
715  KV_SERIALIZE(reserve_size)
716  KV_SERIALIZE(wallet_address)
717  END_KV_SERIALIZE_MAP()
718  };
719 
720  struct response
721  {
722  uint64_t difficulty;
723  uint64_t height;
724  uint64_t reserved_offset;
725  uint64_t expected_reward;
726  std::string prev_hash;
729  std::string status;
730 
731  BEGIN_KV_SERIALIZE_MAP()
732  KV_SERIALIZE(difficulty)
733  KV_SERIALIZE(height)
734  KV_SERIALIZE(reserved_offset)
735  KV_SERIALIZE(expected_reward)
736  KV_SERIALIZE(prev_hash)
737  KV_SERIALIZE(blocktemplate_blob)
738  KV_SERIALIZE(blockhashing_blob)
739  KV_SERIALIZE(status)
740  END_KV_SERIALIZE_MAP()
741  };
742  };
743 
745  {
746  typedef std::vector<std::string> request;
747 
748  struct response
749  {
750  std::string status;
751 
752  BEGIN_KV_SERIALIZE_MAP()
753  KV_SERIALIZE(status)
754  END_KV_SERIALIZE_MAP()
755  };
756  };
757 
759  {
760  uint8_t major_version;
761  uint8_t minor_version;
762  uint64_t timestamp;
763  std::string prev_hash;
764  uint32_t nonce;
766  uint64_t height;
767  uint64_t depth;
768  std::string hash;
770  uint64_t reward;
771  uint64_t block_size;
772  uint64_t num_txes;
773 
774  BEGIN_KV_SERIALIZE_MAP()
775  KV_SERIALIZE(major_version)
776  KV_SERIALIZE(minor_version)
777  KV_SERIALIZE(timestamp)
778  KV_SERIALIZE(prev_hash)
779  KV_SERIALIZE(nonce)
780  KV_SERIALIZE(orphan_status)
781  KV_SERIALIZE(height)
782  KV_SERIALIZE(depth)
783  KV_SERIALIZE(hash)
784  KV_SERIALIZE(difficulty)
785  KV_SERIALIZE(reward)
786  KV_SERIALIZE(block_size)
787  KV_SERIALIZE(num_txes)
788  END_KV_SERIALIZE_MAP()
789  };
790 
792  {
793  struct request
794  {
795  BEGIN_KV_SERIALIZE_MAP()
796  END_KV_SERIALIZE_MAP()
797  };
798 
799  struct response
800  {
801  std::string status;
803 
804  BEGIN_KV_SERIALIZE_MAP()
805  KV_SERIALIZE(block_header)
806  KV_SERIALIZE(status)
807  END_KV_SERIALIZE_MAP()
808  };
809 
810  };
811 
813  {
814  struct request
815  {
816  std::string hash;
817 
818  BEGIN_KV_SERIALIZE_MAP()
819  KV_SERIALIZE(hash)
820  END_KV_SERIALIZE_MAP()
821  };
822 
823  struct response
824  {
825  std::string status;
827 
828  BEGIN_KV_SERIALIZE_MAP()
829  KV_SERIALIZE(block_header)
830  KV_SERIALIZE(status)
831  END_KV_SERIALIZE_MAP()
832  };
833 
834  };
835 
837  {
838  struct request
839  {
840  uint64_t height;
841 
842  BEGIN_KV_SERIALIZE_MAP()
843  KV_SERIALIZE(height)
844  END_KV_SERIALIZE_MAP()
845  };
846 
847  struct response
848  {
849  std::string status;
851 
852  BEGIN_KV_SERIALIZE_MAP()
853  KV_SERIALIZE(block_header)
854  KV_SERIALIZE(status)
855  END_KV_SERIALIZE_MAP()
856  };
857 
858  };
859 
861  {
862  struct request
863  {
864  std::string hash;
865  uint64_t height;
866 
867  BEGIN_KV_SERIALIZE_MAP()
868  KV_SERIALIZE(hash)
869  KV_SERIALIZE(height)
870  END_KV_SERIALIZE_MAP()
871  };
872 
873  struct response
874  {
875  std::string status;
877  std::vector<std::string> tx_hashes;
878  std::string blob;
879  std::string json;
880 
881  BEGIN_KV_SERIALIZE_MAP()
882  KV_SERIALIZE(block_header)
883  KV_SERIALIZE(tx_hashes)
884  KV_SERIALIZE(status)
885  KV_SERIALIZE(blob)
886  KV_SERIALIZE(json)
887  END_KV_SERIALIZE_MAP()
888  };
889 
890  };
891 
892  struct peer {
893  uint64_t id;
894  std::string host;
895  uint32_t ip;
896  uint16_t port;
897  uint64_t last_seen;
898 
899  peer() = default;
900 
901  peer(uint64_t id, const std::string &host, uint64_t last_seen)
902  : id(id), host(host), ip(0), port(0), last_seen(last_seen)
903  {}
904  peer(uint64_t id, uint32_t ip, uint16_t port, uint64_t last_seen)
905  : id(id), host(std::to_string(ip)), ip(ip), port(port), last_seen(last_seen)
906  {}
907 
908  BEGIN_KV_SERIALIZE_MAP()
909  KV_SERIALIZE(id)
910  KV_SERIALIZE(host)
911  KV_SERIALIZE(ip)
912  KV_SERIALIZE(port)
913  KV_SERIALIZE(last_seen)
914  END_KV_SERIALIZE_MAP()
915  };
916 
918  {
919  struct request
920  {
921  BEGIN_KV_SERIALIZE_MAP()
922  END_KV_SERIALIZE_MAP()
923  };
924 
925  struct response
926  {
927  std::string status;
928  std::vector<peer> white_list;
929  std::vector<peer> gray_list;
930 
931  BEGIN_KV_SERIALIZE_MAP()
932  KV_SERIALIZE(status)
933  KV_SERIALIZE(white_list)
934  KV_SERIALIZE(gray_list)
935  END_KV_SERIALIZE_MAP()
936  };
937  };
938 
940  {
941  struct request
942  {
943  bool visible;
944 
945  BEGIN_KV_SERIALIZE_MAP()
946  KV_SERIALIZE(visible)
947  END_KV_SERIALIZE_MAP()
948  };
949 
950  struct response
951  {
952  std::string status;
953  BEGIN_KV_SERIALIZE_MAP()
954  KV_SERIALIZE(status)
955  END_KV_SERIALIZE_MAP()
956  };
957  };
958 
960  {
961  struct request
962  {
963  int8_t level;
964 
965  BEGIN_KV_SERIALIZE_MAP()
966  KV_SERIALIZE(level)
967  END_KV_SERIALIZE_MAP()
968  };
969 
970  struct response
971  {
972  std::string status;
973  BEGIN_KV_SERIALIZE_MAP()
974  KV_SERIALIZE(status)
975  END_KV_SERIALIZE_MAP()
976  };
977  };
978 
980  {
981  struct request
982  {
983  std::string categories;
984 
985  BEGIN_KV_SERIALIZE_MAP()
986  KV_SERIALIZE(categories)
987  END_KV_SERIALIZE_MAP()
988  };
989 
990  struct response
991  {
992  std::string status;
993  BEGIN_KV_SERIALIZE_MAP()
994  KV_SERIALIZE(status)
995  END_KV_SERIALIZE_MAP()
996  };
997  };
998 
999  struct tx_info
1000  {
1001  std::string id_hash;
1002  std::string tx_json; // TODO - expose this data directly
1003  uint64_t blob_size;
1004  uint64_t fee;
1009  std::string last_failed_id_hash;
1010  uint64_t receive_time;
1011  bool relayed;
1014 
1015  BEGIN_KV_SERIALIZE_MAP()
1016  KV_SERIALIZE(id_hash)
1017  KV_SERIALIZE(tx_json)
1018  KV_SERIALIZE(blob_size)
1019  KV_SERIALIZE(fee)
1020  KV_SERIALIZE(max_used_block_id_hash)
1021  KV_SERIALIZE(max_used_block_height)
1022  KV_SERIALIZE(kept_by_block)
1023  KV_SERIALIZE(last_failed_height)
1024  KV_SERIALIZE(last_failed_id_hash)
1025  KV_SERIALIZE(receive_time)
1026  KV_SERIALIZE(relayed)
1027  KV_SERIALIZE(last_relayed_time)
1028  KV_SERIALIZE(do_not_relay)
1029  END_KV_SERIALIZE_MAP()
1030  };
1031 
1033  {
1034  std::string id_hash;
1035  std::vector<std::string> txs_hashes;
1036 
1037  BEGIN_KV_SERIALIZE_MAP()
1038  KV_SERIALIZE(id_hash)
1039  KV_SERIALIZE(txs_hashes)
1040  END_KV_SERIALIZE_MAP()
1041  };
1042 
1044  {
1045  struct request
1046  {
1047  BEGIN_KV_SERIALIZE_MAP()
1048  END_KV_SERIALIZE_MAP()
1049  };
1050 
1051  struct response
1052  {
1053  std::string status;
1054  std::vector<tx_info> transactions;
1055  std::vector<spent_key_image_info> spent_key_images;
1056 
1057  BEGIN_KV_SERIALIZE_MAP()
1058  KV_SERIALIZE(status)
1059  KV_SERIALIZE(transactions)
1060  KV_SERIALIZE(spent_key_images)
1061  END_KV_SERIALIZE_MAP()
1062  };
1063  };
1064 
1066  {
1067  struct request
1068  {
1069  BEGIN_KV_SERIALIZE_MAP()
1070  END_KV_SERIALIZE_MAP()
1071  };
1072 
1073  struct response
1074  {
1075  std::string status;
1076  std::vector<crypto::hash> tx_hashes;
1077 
1078  BEGIN_KV_SERIALIZE_MAP()
1079  KV_SERIALIZE(status)
1080  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(tx_hashes)
1081  END_KV_SERIALIZE_MAP()
1082  };
1083  };
1084 
1086  {
1087  uint64_t blob_size;
1088  uint64_t fee;
1089  uint64_t time_in_pool;
1090  };
1091 
1093  {
1094  struct request
1095  {
1096  BEGIN_KV_SERIALIZE_MAP()
1097  END_KV_SERIALIZE_MAP()
1098  };
1099 
1100  struct response
1101  {
1102  std::string status;
1103  std::vector<tx_backlog_entry> backlog;
1104 
1105  BEGIN_KV_SERIALIZE_MAP()
1106  KV_SERIALIZE(status)
1107  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(backlog)
1108  END_KV_SERIALIZE_MAP()
1109  };
1110  };
1111 
1113  {
1114  uint32_t txs;
1115  uint64_t bytes;
1116 
1117  BEGIN_KV_SERIALIZE_MAP()
1118  KV_SERIALIZE(txs)
1119  KV_SERIALIZE(bytes)
1120  END_KV_SERIALIZE_MAP()
1121  };
1122 
1124  {
1125  uint64_t bytes_total;
1126  uint32_t bytes_min;
1127  uint32_t bytes_max;
1128  uint64_t fee_total;
1129  uint64_t oldest;
1130  uint32_t txs_total;
1131  uint32_t num_failing;
1132  uint32_t num_10m;
1134  uint64_t histo_98pc;
1135  std::vector<txpool_histo> histo;
1136 
1137  BEGIN_KV_SERIALIZE_MAP()
1138  KV_SERIALIZE(bytes_total)
1139  KV_SERIALIZE(bytes_min)
1140  KV_SERIALIZE(bytes_max)
1141  KV_SERIALIZE(fee_total)
1142  KV_SERIALIZE(oldest)
1143  KV_SERIALIZE(txs_total)
1144  KV_SERIALIZE(num_failing)
1145  KV_SERIALIZE(num_10m)
1146  KV_SERIALIZE(num_not_relayed)
1147  KV_SERIALIZE(histo_98pc)
1148  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(histo)
1149  END_KV_SERIALIZE_MAP()
1150  };
1151 
1153  {
1154  struct request
1155  {
1156  BEGIN_KV_SERIALIZE_MAP()
1157  END_KV_SERIALIZE_MAP()
1158  };
1159 
1160  struct response
1161  {
1162  std::string status;
1164 
1165  BEGIN_KV_SERIALIZE_MAP()
1166  KV_SERIALIZE(status)
1167  KV_SERIALIZE(pool_stats)
1168  END_KV_SERIALIZE_MAP()
1169  };
1170  };
1171 
1173  {
1174  struct request
1175  {
1176  BEGIN_KV_SERIALIZE_MAP()
1177  END_KV_SERIALIZE_MAP()
1178  };
1179 
1180  struct response
1181  {
1182  std::string status;
1183  std::list<connection_info> connections;
1184 
1185  BEGIN_KV_SERIALIZE_MAP()
1186  KV_SERIALIZE(status)
1187  KV_SERIALIZE(connections)
1188  END_KV_SERIALIZE_MAP()
1189  };
1190 
1191  };
1192 
1194  {
1195  struct request
1196  {
1197  uint64_t start_height;
1198  uint64_t end_height;
1199 
1200  BEGIN_KV_SERIALIZE_MAP()
1201  KV_SERIALIZE(start_height)
1202  KV_SERIALIZE(end_height)
1203  END_KV_SERIALIZE_MAP()
1204  };
1205 
1206  struct response
1207  {
1208  std::string status;
1209  std::vector<block_header_response> headers;
1210 
1211  BEGIN_KV_SERIALIZE_MAP()
1212  KV_SERIALIZE(status)
1213  KV_SERIALIZE(headers)
1214  END_KV_SERIALIZE_MAP()
1215  };
1216  };
1217 
1219  {
1220  struct request
1221  {
1222  BEGIN_KV_SERIALIZE_MAP()
1223  END_KV_SERIALIZE_MAP()
1224  };
1225 
1226  struct response
1227  {
1228  std::string status;
1229 
1230  BEGIN_KV_SERIALIZE_MAP()
1231  KV_SERIALIZE(status)
1232  END_KV_SERIALIZE_MAP()
1233  };
1234  };
1235 
1237  {
1238  struct request
1239  {
1240  BEGIN_KV_SERIALIZE_MAP()
1241  END_KV_SERIALIZE_MAP()
1242  };
1243 
1244  struct response
1245  {
1246  std::string status;
1247 
1248  BEGIN_KV_SERIALIZE_MAP()
1249  KV_SERIALIZE(status)
1250  END_KV_SERIALIZE_MAP()
1251  };
1252  };
1253 
1255  {
1256  struct request
1257  {
1258  uint64_t out_peers;
1259  BEGIN_KV_SERIALIZE_MAP()
1260  KV_SERIALIZE(out_peers)
1261  END_KV_SERIALIZE_MAP()
1262  };
1263 
1264  struct response
1265  {
1266  std::string status;
1267 
1268  BEGIN_KV_SERIALIZE_MAP()
1269  KV_SERIALIZE(status)
1270  END_KV_SERIALIZE_MAP()
1271  };
1272  };
1273 
1275  {
1276  struct request
1277  {
1278  BEGIN_KV_SERIALIZE_MAP()
1279  END_KV_SERIALIZE_MAP()
1280  };
1281 
1282  struct response
1283  {
1284  std::string status;
1285 
1286  BEGIN_KV_SERIALIZE_MAP()
1287  KV_SERIALIZE(status)
1288  END_KV_SERIALIZE_MAP()
1289  };
1290  };
1291 
1293  {
1294  struct request
1295  {
1296  BEGIN_KV_SERIALIZE_MAP()
1297  END_KV_SERIALIZE_MAP()
1298  };
1299 
1300  struct response
1301  {
1302  std::string status;
1303 
1304  BEGIN_KV_SERIALIZE_MAP()
1305  KV_SERIALIZE(status)
1306  END_KV_SERIALIZE_MAP()
1307  };
1308  };
1309 
1311  {
1312  struct request
1313  {
1314  uint8_t version;
1315 
1316  BEGIN_KV_SERIALIZE_MAP()
1317  KV_SERIALIZE(version)
1318  END_KV_SERIALIZE_MAP()
1319  };
1320 
1321  struct response
1322  {
1323  uint8_t version;
1324  bool enabled;
1325  uint32_t window;
1326  uint32_t votes;
1327  uint32_t threshold;
1328  uint8_t voting;
1329  uint32_t state;
1331  std::string status;
1332 
1333  BEGIN_KV_SERIALIZE_MAP()
1334  KV_SERIALIZE(version)
1335  KV_SERIALIZE(enabled)
1336  KV_SERIALIZE(window)
1337  KV_SERIALIZE(votes)
1338  KV_SERIALIZE(threshold)
1339  KV_SERIALIZE(voting)
1340  KV_SERIALIZE(state)
1341  KV_SERIALIZE(earliest_height)
1342  KV_SERIALIZE(status)
1343  END_KV_SERIALIZE_MAP()
1344  };
1345  };
1346 
1348  {
1349  struct ban
1350  {
1351  std::string host;
1352  uint32_t ip;
1353  uint32_t seconds;
1354 
1355  BEGIN_KV_SERIALIZE_MAP()
1356  KV_SERIALIZE(host)
1357  KV_SERIALIZE(ip)
1358  KV_SERIALIZE(seconds)
1359  END_KV_SERIALIZE_MAP()
1360  };
1361 
1362  struct request
1363  {
1364  BEGIN_KV_SERIALIZE_MAP()
1365  END_KV_SERIALIZE_MAP()
1366  };
1367 
1368  struct response
1369  {
1370  std::string status;
1371  std::vector<ban> bans;
1372 
1373  BEGIN_KV_SERIALIZE_MAP()
1374  KV_SERIALIZE(status)
1375  KV_SERIALIZE(bans)
1376  END_KV_SERIALIZE_MAP()
1377  };
1378  };
1379 
1381  {
1382  struct ban
1383  {
1384  std::string host;
1385  uint32_t ip;
1386  bool ban;
1387  uint32_t seconds;
1388 
1389  BEGIN_KV_SERIALIZE_MAP()
1390  KV_SERIALIZE(host)
1391  KV_SERIALIZE(ip)
1392  KV_SERIALIZE(ban)
1393  KV_SERIALIZE(seconds)
1394  END_KV_SERIALIZE_MAP()
1395  };
1396 
1397  struct request
1398  {
1399  std::vector<ban> bans;
1400 
1401  BEGIN_KV_SERIALIZE_MAP()
1402  KV_SERIALIZE(bans)
1403  END_KV_SERIALIZE_MAP()
1404  };
1405 
1406  struct response
1407  {
1408  std::string status;
1409 
1410  BEGIN_KV_SERIALIZE_MAP()
1411  KV_SERIALIZE(status)
1412  END_KV_SERIALIZE_MAP()
1413  };
1414  };
1415 
1417  {
1418  struct request
1419  {
1420  std::list<std::string> txids;
1421 
1422  BEGIN_KV_SERIALIZE_MAP()
1423  KV_SERIALIZE(txids)
1424  END_KV_SERIALIZE_MAP()
1425  };
1426 
1427  struct response
1428  {
1429  std::string status;
1430 
1431  BEGIN_KV_SERIALIZE_MAP()
1432  KV_SERIALIZE(status)
1433  END_KV_SERIALIZE_MAP()
1434  };
1435  };
1436 
1438  {
1439  struct request
1440  {
1441  std::vector<uint64_t> amounts;
1442  uint64_t min_count;
1443  uint64_t max_count;
1444  bool unlocked;
1445  uint64_t recent_cutoff;
1446 
1447  BEGIN_KV_SERIALIZE_MAP()
1448  KV_SERIALIZE(amounts);
1449  KV_SERIALIZE(min_count);
1450  KV_SERIALIZE(max_count);
1451  KV_SERIALIZE(unlocked);
1452  KV_SERIALIZE(recent_cutoff);
1453  END_KV_SERIALIZE_MAP()
1454  };
1455 
1456  struct entry
1457  {
1458  uint64_t amount;
1462 
1463  BEGIN_KV_SERIALIZE_MAP()
1464  KV_SERIALIZE(amount);
1465  KV_SERIALIZE(total_instances);
1466  KV_SERIALIZE(unlocked_instances);
1467  KV_SERIALIZE(recent_instances);
1468  END_KV_SERIALIZE_MAP()
1469 
1470  entry(uint64_t amount, uint64_t total_instances, uint64_t unlocked_instances, uint64_t recent_instances):
1471  amount(amount), total_instances(total_instances), unlocked_instances(unlocked_instances), recent_instances(recent_instances) {}
1472  entry() {}
1473  };
1474 
1475  struct response
1476  {
1477  std::string status;
1478  std::vector<entry> histogram;
1479 
1480  BEGIN_KV_SERIALIZE_MAP()
1481  KV_SERIALIZE(status)
1482  KV_SERIALIZE(histogram)
1483  END_KV_SERIALIZE_MAP()
1484  };
1485  };
1486 
1488  {
1489  struct request
1490  {
1491  BEGIN_KV_SERIALIZE_MAP()
1492  END_KV_SERIALIZE_MAP()
1493  };
1494 
1495  struct response
1496  {
1497  std::string status;
1498  uint32_t version;
1499 
1500  BEGIN_KV_SERIALIZE_MAP()
1501  KV_SERIALIZE(status)
1502  KV_SERIALIZE(version)
1503  END_KV_SERIALIZE_MAP()
1504  };
1505  };
1506 
1508  {
1509  struct request
1510  {
1511  uint64_t height;
1512  uint64_t count;
1513 
1514  BEGIN_KV_SERIALIZE_MAP()
1515  KV_SERIALIZE(height);
1516  KV_SERIALIZE(count);
1517  END_KV_SERIALIZE_MAP()
1518  };
1519 
1520  struct response
1521  {
1522  std::string status;
1524  uint64_t fee_amount;
1525 
1526  BEGIN_KV_SERIALIZE_MAP()
1527  KV_SERIALIZE(status)
1528  KV_SERIALIZE(emission_amount)
1529  KV_SERIALIZE(fee_amount)
1530  END_KV_SERIALIZE_MAP()
1531  };
1532  };
1533 
1535  {
1536  struct request
1537  {
1538  uint64_t grace_blocks;
1539 
1540  BEGIN_KV_SERIALIZE_MAP()
1541  KV_SERIALIZE(grace_blocks)
1542  END_KV_SERIALIZE_MAP()
1543  };
1544 
1545  struct response
1546  {
1547  std::string status;
1548  uint64_t fee;
1549 
1550  BEGIN_KV_SERIALIZE_MAP()
1551  KV_SERIALIZE(status)
1552  KV_SERIALIZE(fee)
1553  END_KV_SERIALIZE_MAP()
1554  };
1555  };
1556 
1558  {
1559  struct request
1560  {
1561  BEGIN_KV_SERIALIZE_MAP()
1562  END_KV_SERIALIZE_MAP()
1563  };
1564 
1565  struct chain_info
1566  {
1567  std::string block_hash;
1568  uint64_t height;
1569  uint64_t length;
1570  uint64_t difficulty;
1571 
1572  BEGIN_KV_SERIALIZE_MAP()
1573  KV_SERIALIZE(block_hash)
1574  KV_SERIALIZE(height)
1575  KV_SERIALIZE(length)
1576  KV_SERIALIZE(difficulty)
1577  END_KV_SERIALIZE_MAP()
1578  };
1579 
1580  struct response
1581  {
1582  std::string status;
1583  std::list<chain_info> chains;
1584 
1585  BEGIN_KV_SERIALIZE_MAP()
1586  KV_SERIALIZE(status)
1587  KV_SERIALIZE(chains)
1588  END_KV_SERIALIZE_MAP()
1589  };
1590  };
1591 
1593  {
1594  struct request
1595  {
1596  std::string command;
1597  std::string path;
1598 
1599  BEGIN_KV_SERIALIZE_MAP()
1600  KV_SERIALIZE(command);
1601  KV_SERIALIZE(path);
1602  END_KV_SERIALIZE_MAP()
1603  };
1604 
1605  struct response
1606  {
1607  std::string status;
1608  bool update;
1609  std::string version;
1610  std::string user_uri;
1611  std::string auto_uri;
1612  std::string hash;
1613  std::string path;
1614 
1615  BEGIN_KV_SERIALIZE_MAP()
1616  KV_SERIALIZE(status)
1617  KV_SERIALIZE(update)
1618  KV_SERIALIZE(version)
1619  KV_SERIALIZE(user_uri)
1620  KV_SERIALIZE(auto_uri)
1621  KV_SERIALIZE(hash)
1622  KV_SERIALIZE(path)
1623  END_KV_SERIALIZE_MAP()
1624  };
1625  };
1626 
1628  {
1629  struct request
1630  {
1631  std::list<std::string> txids;
1632 
1633  BEGIN_KV_SERIALIZE_MAP()
1634  KV_SERIALIZE(txids)
1635  END_KV_SERIALIZE_MAP()
1636  };
1637 
1638  struct response
1639  {
1640  std::string status;
1641 
1642  BEGIN_KV_SERIALIZE_MAP()
1643  KV_SERIALIZE(status)
1644  END_KV_SERIALIZE_MAP()
1645  };
1646  };
1647 
1649  {
1650  struct request
1651  {
1652  BEGIN_KV_SERIALIZE_MAP()
1653  END_KV_SERIALIZE_MAP()
1654  };
1655 
1656  struct peer
1657  {
1659 
1660  BEGIN_KV_SERIALIZE_MAP()
1661  KV_SERIALIZE(info)
1662  END_KV_SERIALIZE_MAP()
1663  };
1664 
1665  struct span
1666  {
1668  uint64_t nblocks;
1670  uint32_t rate;
1671  uint32_t speed;
1672  uint64_t size;
1673  std::string remote_address;
1674 
1675  BEGIN_KV_SERIALIZE_MAP()
1676  KV_SERIALIZE(start_block_height)
1677  KV_SERIALIZE(nblocks)
1678  KV_SERIALIZE_VAL_POD_AS_BLOB(connection_id)
1679  KV_SERIALIZE(rate)
1680  KV_SERIALIZE(speed)
1681  KV_SERIALIZE(size)
1682  KV_SERIALIZE(remote_address)
1683  END_KV_SERIALIZE_MAP()
1684  };
1685 
1686  struct response
1687  {
1688  std::string status;
1689  uint64_t height;
1690  uint64_t target_height;
1691  std::list<peer> peers;
1692  std::list<span> spans;
1693 
1694  BEGIN_KV_SERIALIZE_MAP()
1695  KV_SERIALIZE(status)
1696  KV_SERIALIZE(height)
1697  KV_SERIALIZE(target_height)
1698  KV_SERIALIZE(peers)
1699  KV_SERIALIZE(spans)
1700  END_KV_SERIALIZE_MAP()
1701  };
1702  };
1703 
1705  {
1706  struct request
1707  {
1708  std::string validator_key;
1709 
1710  BEGIN_KV_SERIALIZE_MAP()
1711  KV_SERIALIZE(validator_key)
1712  END_KV_SERIALIZE_MAP()
1713  };
1714 
1715  struct response
1716  {
1717  std::string status;
1718 
1719  BEGIN_KV_SERIALIZE_MAP()
1720  KV_SERIALIZE(status)
1721  END_KV_SERIALIZE_MAP()
1722  };
1723  };
1724 
1726  {
1727  struct request
1728  {
1729  BEGIN_KV_SERIALIZE_MAP()
1730  END_KV_SERIALIZE_MAP()
1731  };
1732 
1733  struct response
1734  {
1735  std::string privateKey;
1736  std::string publicKey;
1737  std::string status;
1738 
1739  BEGIN_KV_SERIALIZE_MAP()
1740  KV_SERIALIZE(privateKey)
1741  KV_SERIALIZE(publicKey)
1742  KV_SERIALIZE(status)
1743  END_KV_SERIALIZE_MAP()
1744  };
1745  };
1746 
1748  {
1749  struct request
1750  {
1751  std::string privateKey;
1752  std::string message;
1753 
1754  BEGIN_KV_SERIALIZE_MAP()
1755  KV_SERIALIZE(privateKey)
1756  KV_SERIALIZE(message)
1757  END_KV_SERIALIZE_MAP()
1758  };
1759 
1760  struct response
1761  {
1762  std::string signature;
1763  std::string status;
1764 
1765  BEGIN_KV_SERIALIZE_MAP()
1766  KV_SERIALIZE(signature)
1767  KV_SERIALIZE(status)
1768  END_KV_SERIALIZE_MAP()
1769  };
1770  };
1771 
1773  {
1774  struct request {
1775 
1776  std::string blob;
1777  int version = 0;
1778  std::vector<std::string> signatures;
1779  std::vector<std::string> pubkeys;
1780 
1781  BEGIN_KV_SERIALIZE_MAP()
1782  KV_SERIALIZE(blob)
1783  KV_SERIALIZE(version)
1784  KV_SERIALIZE(signatures)
1785  KV_SERIALIZE(pubkeys)
1786  END_KV_SERIALIZE_MAP()
1787  };
1788 
1789  struct response
1790  {
1791  BEGIN_KV_SERIALIZE_MAP()
1792  END_KV_SERIALIZE_MAP()
1793  };
1794  };
1795 
1796 }
Definition: core_rpc_server_commands_defs.h:1594
std::string remote_address
Definition: core_rpc_server_commands_defs.h:1673
Definition: core_rpc_server_commands_defs.h:892
bool fee_too_low
Definition: core_rpc_server_commands_defs.h:500
std::string hash
Definition: core_rpc_server_commands_defs.h:1612
STATUS
Definition: core_rpc_server_commands_defs.h:257
std::list< chain_info > chains
Definition: core_rpc_server_commands_defs.h:1583
std::vector< uint64_t > request
Definition: core_rpc_server_commands_defs.h:701
peer(uint64_t id, uint32_t ip, uint16_t port, uint64_t last_seen)
Definition: core_rpc_server_commands_defs.h:904
uint64_t height
Definition: core_rpc_server_commands_defs.h:67
bool not_relayed
Definition: core_rpc_server_commands_defs.h:493
uint16_t port
Definition: core_rpc_server_commands_defs.h:896
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:1197
uint64_t cumulative_difficulty
Definition: core_rpc_server_commands_defs.h:571
uint64_t reward
Definition: core_rpc_server_commands_defs.h:770
Definition: core_rpc_server_commands_defs.h:925
Definition: core_rpc_server_commands_defs.h:297
Definition: core_rpc_server_commands_defs.h:452
std::string status
Definition: core_rpc_server_commands_defs.h:1182
uint64_t outs_count
Definition: core_rpc_server_commands_defs.h:445
std::string status
Definition: core_rpc_server_commands_defs.h:1075
bool decode_as_json
Definition: core_rpc_server_commands_defs.h:204
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1385
bool active
Definition: core_rpc_server_commands_defs.h:643
Definition: core_rpc_server_commands_defs.h:1715
std::string status
Definition: core_rpc_server_commands_defs.h:1763
std::string address
Definition: core_rpc_server_commands_defs.h:646
uint64_t alt_blocks_count
Definition: core_rpc_server_commands_defs.h:564
Definition: core_rpc_server_commands_defs.h:77
std::string status
Definition: core_rpc_server_commands_defs.h:1370
std::string status
Definition: core_rpc_server_commands_defs.h:300
Definition: core_rpc_server_commands_defs.h:548
uint64_t current_height
Definition: core_rpc_server_commands_defs.h:186
Definition: core_rpc_server_commands_defs.h:339
uint64_t target
Definition: core_rpc_server_commands_defs.h:561
uint64_t start_time
Definition: core_rpc_server_commands_defs.h:573
uint64_t nblocks
Definition: core_rpc_server_commands_defs.h:1668
std::string prev_hash
Definition: core_rpc_server_commands_defs.h:726
bool ignore_battery
Definition: core_rpc_server_commands_defs.h:526
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:175
Definition: core_rpc_server_commands_defs.h:1051
Definition: core_rpc_server_commands_defs.h:1174
Definition: core_rpc_server_commands_defs.h:1321
std::list< crypto::hash > m_block_ids
Definition: core_rpc_server_commands_defs.h:184
std::string as_json
Definition: core_rpc_server_commands_defs.h:216
std::string status
Definition: core_rpc_server_commands_defs.h:1429
std::string status
Definition: core_rpc_server_commands_defs.h:750
bool invalid_output
Definition: core_rpc_server_commands_defs.h:497
uint64_t reserve_size
Definition: core_rpc_server_commands_defs.h:711
std::string block_hash
Definition: core_rpc_server_commands_defs.h:1567
Definition: core_rpc_server_commands_defs.h:1349
uint8_t version
Definition: core_rpc_server_commands_defs.h:1314
uint64_t receive_time
Definition: core_rpc_server_commands_defs.h:1010
std::vector< spent_key_image_info > spent_key_images
Definition: core_rpc_server_commands_defs.h:1055
std::string daemon_version_full
Definition: core_rpc_server_commands_defs.h:577
uint64_t height
Definition: core_rpc_server_commands_defs.h:417
Definition: core_rpc_server_commands_defs.h:1557
Definition: core_rpc_server_commands_defs.h:862
std::string message
Definition: core_rpc_server_commands_defs.h:1752
std::string id_hash
Definition: core_rpc_server_commands_defs.h:1001
boost::uuids::uuid uuid
Definition: net_node_common.h:41
Definition: core_rpc_server_commands_defs.h:793
Definition: core_rpc_server_commands_defs.h:1475
Definition: core_rpc_server_commands_defs.h:403
std::list< std::string > txids
Definition: core_rpc_server_commands_defs.h:1420
std::string status
Definition: core_rpc_server_commands_defs.h:642
bool orphan_status
Definition: core_rpc_server_commands_defs.h:765
uint32_t num_10m
Definition: core_rpc_server_commands_defs.h:1132
std::list< peer > peers
Definition: core_rpc_server_commands_defs.h:1691
std::string auto_uri
Definition: core_rpc_server_commands_defs.h:1611
std::list< std::string > missed_tx
Definition: core_rpc_server_commands_defs.h:238
std::string status
Definition: core_rpc_server_commands_defs.h:801
Definition: core_rpc_server_commands_defs.h:1094
std::vector< std::string > request
Definition: core_rpc_server_commands_defs.h:746
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:83
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:185
std::string publicKey
Definition: core_rpc_server_commands_defs.h:1736
Definition: core_rpc_server_commands_defs.h:1509
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1352
uint64_t index
Definition: core_rpc_server_commands_defs.h:353
Definition: core_rpc_server_commands_defs.h:979
crypto::public_key key
Definition: core_rpc_server_commands_defs.h:374
connection_info info
Definition: core_rpc_server_commands_defs.h:1658
std::string status
Definition: core_rpc_server_commands_defs.h:115
uint64_t fee_total
Definition: core_rpc_server_commands_defs.h:1128
Definition: cryptonote_basic.h:365
Definition: core_rpc_server_commands_defs.h:1073
Definition: core_rpc_server_commands_defs.h:791
Definition: core_rpc_server_commands_defs.h:128
uint64_t count
Definition: core_rpc_server_commands_defs.h:688
Definition: core_rpc_server_commands_defs.h:321
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:722
bool not_rct
Definition: core_rpc_server_commands_defs.h:501
Definition: core_rpc_server_commands_defs.h:1416
std::string response
Definition: core_rpc_server_commands_defs.h:703
uint64_t depth
Definition: core_rpc_server_commands_defs.h:767
Definition: core_rpc_server_commands_defs.h:1294
std::string status
Definition: core_rpc_server_commands_defs.h:1582
Definition: core_rpc_server_commands_defs.h:1418
bool low_mixin
Definition: core_rpc_server_commands_defs.h:494
peer(uint64_t id, const std::string &host, uint64_t last_seen)
Definition: core_rpc_server_commands_defs.h:901
Definition: core_rpc_server_commands_defs.h:1310
bool too_big
Definition: core_rpc_server_commands_defs.h:498
Definition: core_rpc_server_commands_defs.h:1220
std::vector< int > spent_status
Definition: core_rpc_server_commands_defs.h:275
Definition: core_rpc_server_commands_defs.h:389
std::string reason
Definition: core_rpc_server_commands_defs.h:492
Definition: core_rpc_server_commands_defs.h:1495
std::string status
Definition: core_rpc_server_commands_defs.h:952
Definition: core_rpc_server_commands_defs.h:110
std::string status
Definition: core_rpc_server_commands_defs.h:1246
Definition: core_rpc_server_commands_defs.h:941
crypto::public_key out_key
Definition: core_rpc_server_commands_defs.h:456
Definition: core_rpc_server_commands_defs.h:1236
bool update
Definition: core_rpc_server_commands_defs.h:1608
Definition: block_queue.cpp:41
std::list< block_complete_entry > blocks
Definition: core_rpc_server_commands_defs.h:112
Definition: core_rpc_server_commands_defs.h:152
std::string status
Definition: core_rpc_server_commands_defs.h:68
Definition: core_rpc_server_commands_defs.h:1629
Definition: cryptonote_protocol_defs.h:47
uint64_t min_count
Definition: core_rpc_server_commands_defs.h:1442
Definition: core_rpc_server_commands_defs.h:65
uint64_t timestamp
Definition: core_rpc_server_commands_defs.h:762
Definition: core_rpc_server_commands_defs.h:1300
Definition: core_rpc_server_commands_defs.h:1065
std::string status
Definition: core_rpc_server_commands_defs.h:875
Definition: core_rpc_server_commands_defs.h:1439
std::string status
Definition: core_rpc_server_commands_defs.h:242
Definition: core_rpc_server_commands_defs.h:169
Definition: core_rpc_server_commands_defs.h:671
Definition: core_rpc_server_commands_defs.h:1362
bool invalid_input
Definition: core_rpc_server_commands_defs.h:496
Definition: core_rpc_server_commands_defs.h:255
Definition: core_rpc_server_commands_defs.h:1580
std::string miner_address
Definition: core_rpc_server_commands_defs.h:523
bool in_pool
Definition: core_rpc_server_commands_defs.h:217
bool unlocked
Definition: core_rpc_server_commands_defs.h:416
std::string daemon_version_tag
Definition: core_rpc_server_commands_defs.h:578
bool visible
Definition: core_rpc_server_commands_defs.h:943
std::string status
Definition: core_rpc_server_commands_defs.h:1408
uint64_t oldest
Definition: core_rpc_server_commands_defs.h:1129
Definition: core_rpc_server_commands_defs.h:814
uint64_t height
Definition: core_rpc_server_commands_defs.h:558
std::string status
Definition: core_rpc_server_commands_defs.h:1162
uint64_t height
Definition: core_rpc_server_commands_defs.h:1511
uint64_t fee
Definition: core_rpc_server_commands_defs.h:1088
Definition: core_rpc_server_commands_defs.h:1627
Definition: core_rpc_server_commands_defs.h:1382
std::vector< uint64_t > amounts
Definition: core_rpc_server_commands_defs.h:1441
uint64_t height
Definition: core_rpc_server_commands_defs.h:723
Definition: core_rpc_server_commands_defs.h:632
std::string status
Definition: core_rpc_server_commands_defs.h:825
Definition: core_rpc_server_commands_defs.h:521
uint8_t minor_version
Definition: core_rpc_server_commands_defs.h:761
Definition: core_rpc_server_commands_defs.h:412
std::string status
Definition: core_rpc_server_commands_defs.h:1284
std::string status
Definition: core_rpc_server_commands_defs.h:538
Definition: core_rpc_server_commands_defs.h:1747
Definition: core_rpc_server_commands_defs.h:1706
std::string command
Definition: core_rpc_server_commands_defs.h:1596
Definition: core_rpc_server_commands_defs.h:959
std::vector< uint64_t > output_indices
Definition: core_rpc_server_commands_defs.h:219
std::string status
Definition: core_rpc_server_commands_defs.h:187
uint64_t speed
Definition: core_rpc_server_commands_defs.h:644
Definition: core_rpc_server_commands_defs.h:686
uint8_t major_version
Definition: core_rpc_server_commands_defs.h:760
Definition: core_rpc_server_commands_defs.h:1032
Definition: core_rpc_server_commands_defs.h:744
Definition: core_rpc_server_commands_defs.h:1437
Definition: core_rpc_server_commands_defs.h:350
std::vector< tx_output_indices > indices
Definition: core_rpc_server_commands_defs.h:103
std::list< std::string > request
Definition: core_rpc_server_commands_defs.h:684
uint32_t ip
Definition: core_rpc_server_commands_defs.h:895
Definition: core_rpc_server_commands_defs.h:536
uint64_t fee_amount
Definition: core_rpc_server_commands_defs.h:1524
uint64_t bytes
Definition: core_rpc_server_commands_defs.h:1115
Definition: core_rpc_server_commands_defs.h:1650
Definition: core_rpc_server_commands_defs.h:130
Definition: core_rpc_server_commands_defs.h:699
std::string json
Definition: core_rpc_server_commands_defs.h:879
crypto::hash txid
Definition: core_rpc_server_commands_defs.h:378
std::string status
Definition: core_rpc_server_commands_defs.h:972
uint64_t height
Definition: core_rpc_server_commands_defs.h:865
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:876
Definition: core_rpc_server_commands_defs.h:799
uint64_t max_used_block_height
Definition: core_rpc_server_commands_defs.h:1006
std::vector< entry > txs
Definition: core_rpc_server_commands_defs.h:241
std::string hash
Definition: core_rpc_server_commands_defs.h:816
rct::key mask
Definition: core_rpc_server_commands_defs.h:375
Definition: core_rpc_server_commands_defs.h:1789
bool ban
Definition: core_rpc_server_commands_defs.h:1386
Definition: core_rpc_server_commands_defs.h:1112
std::vector< tx_backlog_entry > backlog
Definition: core_rpc_server_commands_defs.h:1103
std::string status
Definition: core_rpc_server_commands_defs.h:1547
std::vector< crypto::hash > tx_hashes
Definition: core_rpc_server_commands_defs.h:1076
uint64_t last_failed_height
Definition: core_rpc_server_commands_defs.h:1008
std::string status
Definition: core_rpc_server_commands_defs.h:392
Definition: core_rpc_server_commands_defs.h:1092
Definition: core_rpc_server_commands_defs.h:1100
crypto::hash txid
Definition: core_rpc_server_commands_defs.h:290
uint64_t unlocked_instances
Definition: core_rpc_server_commands_defs.h:1460
uint32_t version
Definition: core_rpc_server_commands_defs.h:1498
std::string tx_hash
Definition: core_rpc_server_commands_defs.h:214
Holds cryptonote related classes and helpers.
Definition: db_bdb.cpp:225
std::string status
Definition: core_rpc_server_commands_defs.h:276
uint64_t block_size
Definition: core_rpc_server_commands_defs.h:771
uint64_t total_instances
Definition: core_rpc_server_commands_defs.h:1459
uint64_t incoming_connections_count
Definition: core_rpc_server_commands_defs.h:566
Definition: core_rpc_server_commands_defs.h:1276
Definition: core_rpc_server_commands_defs.h:630
Definition: core_rpc_server_commands_defs.h:1456
Definition: core_rpc_server_commands_defs.h:1605
Definition: core_rpc_server_commands_defs.h:310
uint64_t recent_cutoff
Definition: core_rpc_server_commands_defs.h:1445
bool prune
Definition: core_rpc_server_commands_defs.h:84
Definition: core_rpc_server_commands_defs.h:1704
uint32_t seconds
Definition: core_rpc_server_commands_defs.h:1387
std::string status
Definition: core_rpc_server_commands_defs.h:1717
std::string status
Definition: core_rpc_server_commands_defs.h:1053
Definition: core_rpc_server_commands_defs.h:950
boost::uuids::uuid connection_id
Definition: core_rpc_server_commands_defs.h:1669
std::vector< txpool_histo > histo
Definition: core_rpc_server_commands_defs.h:1135
uint32_t num_failing
Definition: core_rpc_server_commands_defs.h:1131
Definition: core_rpc_server_commands_defs.h:361
Definition: core_rpc_server_commands_defs.h:212
std::string top_block_hash
Definition: core_rpc_server_commands_defs.h:570
std::string status
Definition: core_rpc_server_commands_defs.h:1331
uint64_t bytes_total
Definition: core_rpc_server_commands_defs.h:1125
std::string status
Definition: core_rpc_server_commands_defs.h:1102
std::vector< uint64_t > o_indexes
Definition: core_rpc_server_commands_defs.h:299
Definition: core_rpc_server_commands_defs.h:1487
uint64_t amount
Definition: core_rpc_server_commands_defs.h:330
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:1570
uint64_t block_height
Definition: core_rpc_server_commands_defs.h:218
uint64_t blob_size
Definition: core_rpc_server_commands_defs.h:1087
Definition: core_rpc_server_commands_defs.h:1520
std::string blob
Definition: core_rpc_server_commands_defs.h:1776
std::vector< uint64_t > amounts
Definition: core_rpc_server_commands_defs.h:312
Definition: core_rpc_server_commands_defs.h:1648
uint32_t txs
Definition: core_rpc_server_commands_defs.h:1114
Definition: core_rpc_server_commands_defs.h:1264
uint64_t end_height
Definition: core_rpc_server_commands_defs.h:1198
Definition: core_rpc_server_commands_defs.h:441
uint32_t bytes_min
Definition: core_rpc_server_commands_defs.h:1126
uint64_t grace_blocks
Definition: core_rpc_server_commands_defs.h:1538
Definition: core_rpc_server_commands_defs.h:1774
Definition: core_rpc_server_commands_defs.h:1536
uint64_t block_size_limit
Definition: core_rpc_server_commands_defs.h:572
uint64_t global_amount_index
Definition: core_rpc_server_commands_defs.h:455
uint64_t outs_count
Definition: core_rpc_server_commands_defs.h:313
Definition: core_rpc_server_commands_defs.h:970
std::vector< outkey > outs
Definition: core_rpc_server_commands_defs.h:431
uint64_t blob_size
Definition: core_rpc_server_commands_defs.h:1003
Definition: core_rpc_server_commands_defs.h:519
Definition: core_rpc_server_commands_defs.h:158
Definition: core_rpc_server_commands_defs.h:990
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:826
uint8_t version
Definition: core_rpc_server_commands_defs.h:1323
bool double_spend
Definition: core_rpc_server_commands_defs.h:495
std::vector< peer > white_list
Definition: core_rpc_server_commands_defs.h:928
bool unlocked
Definition: core_rpc_server_commands_defs.h:376
std::string status
Definition: core_rpc_server_commands_defs.h:927
std::string blob
Definition: core_rpc_server_commands_defs.h:878
bool do_background_mining
Definition: core_rpc_server_commands_defs.h:525
Definition: core_rpc_server_commands_defs.h:939
uint64_t threads_count
Definition: core_rpc_server_commands_defs.h:524
bool overspend
Definition: core_rpc_server_commands_defs.h:499
Definition: core_rpc_server_commands_defs.h:836
std::list< std::string > txs_as_json
Definition: core_rpc_server_commands_defs.h:235
uint64_t histo_98pc
Definition: core_rpc_server_commands_defs.h:1134
std::list< span > spans
Definition: core_rpc_server_commands_defs.h:1692
std::string status
Definition: core_rpc_server_commands_defs.h:161
std::vector< block_complete_entry > blocks
Definition: core_rpc_server_commands_defs.h:140
Definition: core_rpc_server_commands_defs.h:1274
std::vector< tx_info > transactions
Definition: core_rpc_server_commands_defs.h:1054
std::vector< std::string > txs_hashes
Definition: core_rpc_server_commands_defs.h:1035
Definition: rctTypes.h:82
uint64_t global_amount_index
Definition: core_rpc_server_commands_defs.h:323
Definition: core_rpc_server_commands_defs.h:1656
bool enabled
Definition: core_rpc_server_commands_defs.h:1324
Definition: core_rpc_server_commands_defs.h:838
std::string status
Definition: core_rpc_server_commands_defs.h:464
Definition: core_rpc_server_commands_defs.h:80
std::string status
Definition: core_rpc_server_commands_defs.h:1497
Definition: core_rpc_server_commands_defs.h:1172
Definition: core_rpc_server_commands_defs.h:1043
Definition: core_rpc_server_commands_defs.h:1282
uint32_t threads_count
Definition: core_rpc_server_commands_defs.h:645
blobdata blocktemplate_blob
Definition: core_rpc_server_commands_defs.h:727
Definition: core_rpc_server_commands_defs.h:1427
std::string status
Definition: core_rpc_server_commands_defs.h:342
std::vector< block_header_response > headers
Definition: core_rpc_server_commands_defs.h:1209
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:560
Definition: core_rpc_server_commands_defs.h:1218
Definition: core_rpc_server_commands_defs.h:873
Definition: core_rpc_server_commands_defs.h:661
Definition: core_rpc_server_commands_defs.h:372
std::vector< peer > gray_list
Definition: core_rpc_server_commands_defs.h:929
std::string status
Definition: core_rpc_server_commands_defs.h:1477
Definition: core_rpc_server_commands_defs.h:286
Definition: core_rpc_server_commands_defs.h:1725
Definition: core_rpc_server_commands_defs.h:92
Definition: core_rpc_server_commands_defs.h:273
Definition: core_rpc_server_commands_defs.h:812
std::string status
Definition: core_rpc_server_commands_defs.h:491
std::string mask
Definition: core_rpc_server_commands_defs.h:415
Definition: core_rpc_server_commands_defs.h:663
Definition: core_rpc_server_commands_defs.h:682
uint64_t recent_instances
Definition: core_rpc_server_commands_defs.h:1461
uint64_t earliest_height
Definition: core_rpc_server_commands_defs.h:1330
Definition: core_rpc_server_commands_defs.h:231
Definition: core_rpc_server_commands_defs.h:707
Definition: core_rpc_server_commands_defs.h:182
std::string privateKey
Definition: core_rpc_server_commands_defs.h:1735
uint32_t votes
Definition: core_rpc_server_commands_defs.h:1326
POD_CLASS public_key
Definition: crypto.h:65
std::string hash
Definition: core_rpc_server_commands_defs.h:768
Definition: core_rpc_server_commands_defs.h:919
uint64_t start_block_height
Definition: core_rpc_server_commands_defs.h:1667
Definition: core_rpc_server_commands_defs.h:150
std::string status
Definition: core_rpc_server_commands_defs.h:1522
std::string user_uri
Definition: core_rpc_server_commands_defs.h:1610
int8_t level
Definition: core_rpc_server_commands_defs.h:963
Definition: core_rpc_server_commands_defs.h:917
std::string max_used_block_id_hash
Definition: core_rpc_server_commands_defs.h:1005
std::vector< get_outputs_out > outputs
Definition: core_rpc_server_commands_defs.h:405
std::string status
Definition: core_rpc_server_commands_defs.h:141
std::vector< std::string > blks_hashes
Definition: core_rpc_server_commands_defs.h:160
uint64_t height
Definition: core_rpc_server_commands_defs.h:1689
uint64_t outgoing_connections_count
Definition: core_rpc_server_commands_defs.h:565
uint64_t fee
Definition: core_rpc_server_commands_defs.h:1548
Definition: core_rpc_server_commands_defs.h:201
std::vector< ban > bans
Definition: core_rpc_server_commands_defs.h:1371
std::string status
Definition: core_rpc_server_commands_defs.h:689
std::vector< uint64_t > heights
Definition: core_rpc_server_commands_defs.h:132
std::vector< std::string > key_images
Definition: core_rpc_server_commands_defs.h:265
Definition: core_rpc_server_commands_defs.h:709
uint8_t version
Definition: blockchain.cpp:86
uint64_t amount
Definition: core_rpc_server_commands_defs.h:454
Definition: core_rpc_server_commands_defs.h:609
uint64_t out_peers
Definition: core_rpc_server_commands_defs.h:1258
std::list< connection_info > connections
Definition: core_rpc_server_commands_defs.h:1183
Definition: core_rpc_server_commands_defs.h:1152
std::string blobdata
Definition: blobdatatype.h:36
uint64_t count
Definition: core_rpc_server_commands_defs.h:1512
Definition: core_rpc_server_commands_defs.h:1406
std::vector< std::string > tx_hashes
Definition: core_rpc_server_commands_defs.h:877
Definition: core_rpc_server_commands_defs.h:860
Definition: core_rpc_server_commands_defs.h:1749
CXA_THROW_INFO_T * info
Definition: stack_trace.cpp:78
uint32_t nonce
Definition: core_rpc_server_commands_defs.h:764
std::list< crypto::hash > block_ids
Definition: core_rpc_server_commands_defs.h:82
std::string id_hash
Definition: core_rpc_server_commands_defs.h:1034
#define blocks
Definition: sha512-hash.c:11
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:113
Definition: core_rpc_server_commands_defs.h:1180
std::string status
Definition: core_rpc_server_commands_defs.h:432
std::string path
Definition: core_rpc_server_commands_defs.h:1597
std::string validator_key
Definition: core_rpc_server_commands_defs.h:1708
Definition: core_rpc_server_commands_defs.h:1123
uint64_t emission_amount
Definition: core_rpc_server_commands_defs.h:1523
Definition: core_rpc_server_commands_defs.h:363
Definition: core_rpc_server_commands_defs.h:489
std::string status
Definition: core_rpc_server_commands_defs.h:557
uint32_t seconds
Definition: core_rpc_server_commands_defs.h:1353
POD_CLASS signature
Definition: crypto.h:99
Definition: core_rpc_server_commands_defs.h:1727
std::vector< block_output_indices > output_indices
Definition: core_rpc_server_commands_defs.h:116
uint64_t size
Definition: core_rpc_server_commands_defs.h:1672
std::string path
Definition: core_rpc_server_commands_defs.h:1613
Definition: core_rpc_server_commands_defs.h:999
Definition: core_rpc_server_commands_defs.h:748
uint64_t white_peerlist_size
Definition: core_rpc_server_commands_defs.h:567
std::string status
Definition: core_rpc_server_commands_defs.h:621
Definition: core_rpc_server_commands_defs.h:1686
std::vector< std::string > signatures
Definition: core_rpc_server_commands_defs.h:1778
Definition: core_rpc_server_commands_defs.h:263
std::string host
Definition: core_rpc_server_commands_defs.h:1384
entry()
Definition: core_rpc_server_commands_defs.h:1472
Definition: core_rpc_server_commands_defs.h:172
Definition: core_rpc_server_commands_defs.h:1638
std::uint64_t difficulty_type
Definition: difficulty.h:41
std::list< std::string > txs_hashes
Definition: core_rpc_server_commands_defs.h:203
uint64_t id
Definition: core_rpc_server_commands_defs.h:893
Definition: core_rpc_server_commands_defs.h:981
std::vector< uint64_t > indices
Definition: core_rpc_server_commands_defs.h:94
Definition: blake256.h:37
std::string status
Definition: core_rpc_server_commands_defs.h:1737
Definition: core_rpc_server_commands_defs.h:546
Definition: core_rpc_server_commands_defs.h:1160
uint32_t speed
Definition: core_rpc_server_commands_defs.h:1671
uint64_t tx_count
Definition: core_rpc_server_commands_defs.h:562
rct::key commitment
Definition: core_rpc_server_commands_defs.h:457
Definition: core_rpc_server_commands_defs.h:1733
Definition: core_rpc_server_commands_defs.h:57
std::string key
Definition: core_rpc_server_commands_defs.h:414
Definition: core_rpc_server_commands_defs.h:1347
Definition: core_rpc_server_commands_defs.h:461
std::string privateKey
Definition: core_rpc_server_commands_defs.h:1751
Definition: core_rpc_server_commands_defs.h:1534
Definition: core_rpc_server_commands_defs.h:1559
std::vector< outs_for_amount > outs
Definition: core_rpc_server_commands_defs.h:341
Definition: core_rpc_server_commands_defs.h:1256
Definition: core_rpc_server_commands_defs.h:199
Definition: core_rpc_server_commands_defs.h:1292
std::string tx_as_hex
Definition: core_rpc_server_commands_defs.h:476
std::string status
Definition: core_rpc_server_commands_defs.h:1266
std::list< std::string > txids
Definition: core_rpc_server_commands_defs.h:1631
uint64_t last_seen
Definition: core_rpc_server_commands_defs.h:897
Definition: core_rpc_server_commands_defs.h:640
Definition: core_rpc_server_commands_defs.h:720
Definition: core_rpc_server_commands_defs.h:138
uint8_t voting
Definition: core_rpc_server_commands_defs.h:1328
Definition: core_rpc_server_commands_defs.h:1254
uint64_t num_txes
Definition: core_rpc_server_commands_defs.h:772
Definition: core_rpc_server_commands_defs.h:1045
std::string txid
Definition: core_rpc_server_commands_defs.h:418
uint64_t grey_peerlist_size
Definition: core_rpc_server_commands_defs.h:568
Definition: core_rpc_server_commands_defs.h:429
Definition: core_rpc_server_commands_defs.h:1565
std::string status
Definition: core_rpc_server_commands_defs.h:673
uint64_t current_height
Definition: core_rpc_server_commands_defs.h:114
Definition: core_rpc_server_commands_defs.h:472
std::string status
Definition: core_rpc_server_commands_defs.h:1228
Definition: core_rpc_server_commands_defs.h:1380
std::vector< outkey > outs
Definition: core_rpc_server_commands_defs.h:391
Definition: core_rpc_server_commands_defs.h:1154
Definition: core_rpc_server_commands_defs.h:1193
Definition: core_rpc_server_commands_defs.h:1507
Definition: core_rpc_server_commands_defs.h:611
std::string status
Definition: core_rpc_server_commands_defs.h:729
Definition: core_rpc_server_commands_defs.h:1238
std::string status
Definition: core_rpc_server_commands_defs.h:1640
bool do_not_relay
Definition: core_rpc_server_commands_defs.h:477
uint64_t time_in_pool
Definition: core_rpc_server_commands_defs.h:1089
std::vector< ban > bans
Definition: core_rpc_server_commands_defs.h:1399
Definition: core_rpc_server_commands_defs.h:1226
std::string daemon_version
Definition: core_rpc_server_commands_defs.h:576
uint64_t target_height
Definition: core_rpc_server_commands_defs.h:559
Definition: core_rpc_server_commands_defs.h:1195
std::string host
Definition: core_rpc_server_commands_defs.h:894
uint64_t length
Definition: core_rpc_server_commands_defs.h:1569
std::string status
Definition: core_rpc_server_commands_defs.h:849
POD_CLASS hash
Definition: hash.h:46
uint32_t rate
Definition: core_rpc_server_commands_defs.h:1670
difficulty_type difficulty
Definition: core_rpc_server_commands_defs.h:769
std::string categories
Definition: core_rpc_server_commands_defs.h:983
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:850
Definition: core_rpc_server_commands_defs.h:288
Definition: core_rpc_server_commands_defs.h:1085
uint64_t target_height
Definition: core_rpc_server_commands_defs.h:1690
bool unlocked
Definition: core_rpc_server_commands_defs.h:1444
Definition: core_rpc_server_commands_defs.h:401
Definition: core_rpc_server_commands_defs.h:1665
bool do_not_relay
Definition: core_rpc_server_commands_defs.h:1013
std::string to_string(t_connection_type type)
Definition: connection_basic.cpp:96
std::string prev_hash
Definition: core_rpc_server_commands_defs.h:763
basic_json<> json
default JSON class
Definition: json.hpp:14369
Definition: core_rpc_server_commands_defs.h:1397
std::vector< std::string > pubkeys
Definition: core_rpc_server_commands_defs.h:1779
Definition: core_rpc_server_commands_defs.h:823
Definition: core_rpc_server_commands_defs.h:758
std::string status
Definition: core_rpc_server_commands_defs.h:1688
uint64_t height
Definition: core_rpc_server_commands_defs.h:1568
std::string wallet_address
Definition: core_rpc_server_commands_defs.h:712
std::list< crypto::hash > block_ids
Definition: core_rpc_server_commands_defs.h:174
std::string tx_json
Definition: core_rpc_server_commands_defs.h:1002
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:802
bool testnet
Definition: core_rpc_server_commands_defs.h:569
std::string hash
Definition: core_rpc_server_commands_defs.h:864
std::string host
Definition: core_rpc_server_commands_defs.h:1351
std::list< out_entry > outs
Definition: core_rpc_server_commands_defs.h:463
uint32_t txs_total
Definition: core_rpc_server_commands_defs.h:1130
txpool_stats pool_stats
Definition: core_rpc_server_commands_defs.h:1163
Definition: core_rpc_server_commands_defs.h:1312
std::string daemon_release_name
Definition: core_rpc_server_commands_defs.h:575
std::string as_hex
Definition: core_rpc_server_commands_defs.h:215
std::list< std::string > txs_as_hex
Definition: core_rpc_server_commands_defs.h:234
Definition: core_rpc_server_commands_defs.h:1772
std::list< out_entry > outs
Definition: core_rpc_server_commands_defs.h:331
Definition: core_rpc_server_commands_defs.h:308
uint64_t height
Definition: core_rpc_server_commands_defs.h:840
std::vector< entry > histogram
Definition: core_rpc_server_commands_defs.h:1478
uint64_t max_count
Definition: core_rpc_server_commands_defs.h:1443
bool kept_by_block
Definition: core_rpc_server_commands_defs.h:1007
Definition: core_rpc_server_commands_defs.h:101
std::string signature
Definition: core_rpc_server_commands_defs.h:1762
request()
Definition: core_rpc_server_commands_defs.h:479
uint64_t reserved_offset
Definition: core_rpc_server_commands_defs.h:724
uint64_t amount
Definition: core_rpc_server_commands_defs.h:352
Definition: core_rpc_server_commands_defs.h:1244
std::string status
Definition: core_rpc_server_commands_defs.h:1607
std::vector< get_outputs_out > outputs
Definition: core_rpc_server_commands_defs.h:365
uint64_t fee
Definition: core_rpc_server_commands_defs.h:1004
std::string status
Definition: core_rpc_server_commands_defs.h:992
uint64_t tx_pool_size
Definition: core_rpc_server_commands_defs.h:563
Definition: core_rpc_server_commands_defs.h:1592
bool relayed
Definition: core_rpc_server_commands_defs.h:1011
Definition: core_rpc_server_commands_defs.h:1489
uint32_t num_not_relayed
Definition: core_rpc_server_commands_defs.h:1133
Definition: core_rpc_server_commands_defs.h:1206
blobdata blockhashing_blob
Definition: core_rpc_server_commands_defs.h:728
crypto::public_key out_key
Definition: core_rpc_server_commands_defs.h:324
bool is_background_mining_enabled
Definition: core_rpc_server_commands_defs.h:647
Definition: core_rpc_server_commands_defs.h:1067
Definition: cryptonote_basic.h:198
std::string version
Definition: core_rpc_server_commands_defs.h:1609
uint32_t state
Definition: core_rpc_server_commands_defs.h:1329
Definition: core_rpc_server_commands_defs.h:1760
Definition: core_rpc_server_commands_defs.h:847
std::string last_failed_id_hash
Definition: core_rpc_server_commands_defs.h:1009
Definition: core_rpc_server_commands_defs.h:619
uint64_t last_relayed_time
Definition: core_rpc_server_commands_defs.h:1012
Definition: core_rpc_server_commands_defs.h:443
uint64_t height
Definition: core_rpc_server_commands_defs.h:377
uint64_t height
Definition: core_rpc_server_commands_defs.h:766
uint32_t window
Definition: core_rpc_server_commands_defs.h:1325
Definition: core_rpc_server_commands_defs.h:474
uint64_t expected_reward
Definition: core_rpc_server_commands_defs.h:725
std::string status
Definition: core_rpc_server_commands_defs.h:1302
Definition: core_rpc_server_commands_defs.h:1368
Definition: core_rpc_server_commands_defs.h:961
Definition: core_rpc_server_commands_defs.h:1545
std::string status
Definition: core_rpc_server_commands_defs.h:1208
Definition: core_rpc_server_commands_defs.h:555
uint64_t amount
Definition: core_rpc_server_commands_defs.h:1458
Definition: core_rpc_server_commands_defs.h:59
uint32_t threshold
Definition: core_rpc_server_commands_defs.h:1327
uint8_t threshold
Definition: blockchain.cpp:88
uint32_t bytes_max
Definition: core_rpc_server_commands_defs.h:1127