Monero
core_rpc_server_commands_defs.h
Go to the documentation of this file.
1 // Copyright (c) 2014-2018, 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
35 #include "crypto/hash.h"
36 
37 namespace cryptonote
38 {
39  //-----------------------------------------------
40 #define CORE_RPC_STATUS_OK "OK"
41 #define CORE_RPC_STATUS_BUSY "BUSY"
42 #define CORE_RPC_STATUS_NOT_MINING "NOT MINING"
43 
44 // When making *any* change here, bump minor
45 // If the change is incompatible, then bump major and set minor to 0
46 // This ensures CORE_RPC_VERSION always increases, that every change
47 // has its own version, and that clients can just test major to see
48 // whether they can talk to a given daemon without having to know in
49 // advance which version they will stop working with
50 // Don't go over 32767 for any of these
51 #define CORE_RPC_VERSION_MAJOR 2
52 #define CORE_RPC_VERSION_MINOR 1
53 #define MAKE_CORE_RPC_VERSION(major,minor) (((major)<<16)|(minor))
54 #define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR)
55 
57  {
58  struct request
59  {
60  BEGIN_KV_SERIALIZE_MAP()
61  END_KV_SERIALIZE_MAP()
62  };
63 
64  struct response
65  {
66  uint64_t height;
67  std::string status;
68  bool untrusted;
69 
70  BEGIN_KV_SERIALIZE_MAP()
71  KV_SERIALIZE(height)
72  KV_SERIALIZE(status)
73  KV_SERIALIZE(untrusted)
74  END_KV_SERIALIZE_MAP()
75  };
76  };
77 
79  {
80 
81  struct request
82  {
83  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 */
84  uint64_t start_height;
85  bool prune;
87  BEGIN_KV_SERIALIZE_MAP()
88  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(block_ids)
89  KV_SERIALIZE(start_height)
90  KV_SERIALIZE(prune)
91  KV_SERIALIZE_OPT(no_miner_tx, false)
92  END_KV_SERIALIZE_MAP()
93  };
94 
96  {
97  std::vector<uint64_t> indices;
98 
99  BEGIN_KV_SERIALIZE_MAP()
100  KV_SERIALIZE(indices)
101  END_KV_SERIALIZE_MAP()
102  };
103 
105  {
106  std::vector<tx_output_indices> indices;
107 
108  BEGIN_KV_SERIALIZE_MAP()
109  KV_SERIALIZE(indices)
110  END_KV_SERIALIZE_MAP()
111  };
112 
113  struct response
114  {
115  std::vector<block_complete_entry> blocks;
116  uint64_t start_height;
117  uint64_t current_height;
118  std::string status;
119  std::vector<block_output_indices> output_indices;
120  bool untrusted;
121 
122  BEGIN_KV_SERIALIZE_MAP()
123  KV_SERIALIZE(blocks)
124  KV_SERIALIZE(start_height)
125  KV_SERIALIZE(current_height)
126  KV_SERIALIZE(status)
127  KV_SERIALIZE(output_indices)
128  KV_SERIALIZE(untrusted)
129  END_KV_SERIALIZE_MAP()
130  };
131  };
132 
134  {
135  struct request
136  {
137  std::vector<uint64_t> heights;
138  BEGIN_KV_SERIALIZE_MAP()
139  KV_SERIALIZE(heights)
140  END_KV_SERIALIZE_MAP()
141  };
142 
143  struct response
144  {
145  std::vector<block_complete_entry> blocks;
146  std::string status;
147  bool untrusted;
148 
149  BEGIN_KV_SERIALIZE_MAP()
150  KV_SERIALIZE(blocks)
151  KV_SERIALIZE(status)
152  KV_SERIALIZE(untrusted)
153  END_KV_SERIALIZE_MAP()
154  };
155  };
156 
158  {
159  struct request
160  {
161  BEGIN_KV_SERIALIZE_MAP()
162  END_KV_SERIALIZE_MAP()
163  };
164 
165  struct response
166  {
167  std::vector<std::string> blks_hashes;
168  std::string status;
169  bool untrusted;
170 
171  BEGIN_KV_SERIALIZE_MAP()
172  KV_SERIALIZE(blks_hashes)
173  KV_SERIALIZE(status)
174  KV_SERIALIZE(untrusted)
175  END_KV_SERIALIZE_MAP()
176  };
177  };
179  {
180 
181  struct request
182  {
183  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 */
184  uint64_t start_height;
185  BEGIN_KV_SERIALIZE_MAP()
186  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(block_ids)
187  KV_SERIALIZE(start_height)
188  END_KV_SERIALIZE_MAP()
189  };
190 
191  struct response
192  {
193  std::vector<crypto::hash> m_block_ids;
194  uint64_t start_height;
195  uint64_t current_height;
196  std::string status;
197  bool untrusted;
198 
199  BEGIN_KV_SERIALIZE_MAP()
200  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(m_block_ids)
201  KV_SERIALIZE(start_height)
202  KV_SERIALIZE(current_height)
203  KV_SERIALIZE(status)
204  KV_SERIALIZE(untrusted)
205  END_KV_SERIALIZE_MAP()
206  };
207  };
208 
209  //-----------------------------------------------
211  {
212  struct request
213  {
214  std::string address;
215  std::string view_key;
216 
217  BEGIN_KV_SERIALIZE_MAP()
218  KV_SERIALIZE(address)
219  KV_SERIALIZE(view_key)
220  END_KV_SERIALIZE_MAP()
221  };
222 
223  struct spent_output {
224  uint64_t amount;
225  std::string key_image;
226  std::string tx_pub_key;
227  uint64_t out_index;
228  uint32_t mixin;
229 
230 
231  BEGIN_KV_SERIALIZE_MAP()
232  KV_SERIALIZE(amount)
233  KV_SERIALIZE(key_image)
234  KV_SERIALIZE(tx_pub_key)
235  KV_SERIALIZE(out_index)
236  KV_SERIALIZE(mixin)
237  END_KV_SERIALIZE_MAP()
238  };
239 
240  struct transaction
241  {
242  uint64_t id;
243  std::string hash;
244  uint64_t timestamp;
245  uint64_t total_received;
246  uint64_t total_sent;
247  uint64_t unlock_time;
248  uint64_t height;
249  std::list<spent_output> spent_outputs;
250  std::string payment_id;
251  bool coinbase;
252  bool mempool;
253  uint32_t mixin;
254 
255  BEGIN_KV_SERIALIZE_MAP()
256  KV_SERIALIZE(id)
257  KV_SERIALIZE(hash)
258  KV_SERIALIZE(timestamp)
259  KV_SERIALIZE(total_received)
260  KV_SERIALIZE(total_sent)
261  KV_SERIALIZE(unlock_time)
262  KV_SERIALIZE(height)
263  KV_SERIALIZE(spent_outputs)
264  KV_SERIALIZE(payment_id)
265  KV_SERIALIZE(coinbase)
266  KV_SERIALIZE(mempool)
267  KV_SERIALIZE(mixin)
268  END_KV_SERIALIZE_MAP()
269  };
270 
271 
272  struct response
273  {
274  //std::list<std::string> txs_as_json;
275  uint64_t total_received;
276  uint64_t total_received_unlocked = 0; // OpenMonero only
277  uint64_t scanned_height;
278  std::vector<transaction> transactions;
281  std::string status;
282  BEGIN_KV_SERIALIZE_MAP()
283  KV_SERIALIZE(total_received)
284  KV_SERIALIZE(total_received_unlocked)
285  KV_SERIALIZE(scanned_height)
286  KV_SERIALIZE(transactions)
287  KV_SERIALIZE(blockchain_height)
288  KV_SERIALIZE(scanned_block_height)
289  KV_SERIALIZE(status)
290  END_KV_SERIALIZE_MAP()
291  };
292  };
293 
294  //-----------------------------------------------
296  {
297  struct request
298  {
299  std::string address;
300  std::string view_key;
301 
302  BEGIN_KV_SERIALIZE_MAP()
303  KV_SERIALIZE(address)
304  KV_SERIALIZE(view_key)
305  END_KV_SERIALIZE_MAP()
306  };
307 
308  struct spent_output
309  {
310  uint64_t amount;
311  std::string key_image;
312  std::string tx_pub_key;
313  uint64_t out_index;
314  uint32_t mixin;
315 
316  BEGIN_KV_SERIALIZE_MAP()
317  KV_SERIALIZE(amount)
318  KV_SERIALIZE(key_image)
319  KV_SERIALIZE(tx_pub_key)
320  KV_SERIALIZE(out_index)
321  KV_SERIALIZE(mixin)
322  END_KV_SERIALIZE_MAP()
323  };
324 
325 
326 
327  struct response
328  {
329  uint64_t locked_funds;
330  uint64_t total_received;
331  uint64_t total_sent;
332  uint64_t scanned_height;
334  uint64_t start_height;
337  std::list<spent_output> spent_outputs;
338  BEGIN_KV_SERIALIZE_MAP()
339  KV_SERIALIZE(locked_funds)
340  KV_SERIALIZE(total_received)
341  KV_SERIALIZE(total_sent)
342  KV_SERIALIZE(scanned_height)
343  KV_SERIALIZE(scanned_block_height)
344  KV_SERIALIZE(start_height)
345  KV_SERIALIZE(transaction_height)
346  KV_SERIALIZE(blockchain_height)
347  KV_SERIALIZE(spent_outputs)
348  END_KV_SERIALIZE_MAP()
349  };
350  };
351 
352  //-----------------------------------------------
354  {
355  struct request
356  {
357  std::string amount;
358  std::string address;
359  std::string view_key;
360  // OpenMonero specific
361  uint64_t mixin;
362  bool use_dust;
363  std::string dust_threshold;
364 
365  BEGIN_KV_SERIALIZE_MAP()
366  KV_SERIALIZE(amount)
367  KV_SERIALIZE(address)
368  KV_SERIALIZE(view_key)
369  KV_SERIALIZE(mixin)
370  KV_SERIALIZE(use_dust)
371  KV_SERIALIZE(dust_threshold)
372  END_KV_SERIALIZE_MAP()
373  };
374 
375 
376  struct output {
377  uint64_t amount;
378  std::string public_key;
379  uint64_t index;
380  uint64_t global_index;
381  std::string rct;
382  std::string tx_hash;
383  std::string tx_pub_key;
384  std::string tx_prefix_hash;
385  std::vector<std::string> spend_key_images;
386  uint64_t timestamp;
387  uint64_t height;
388 
389 
390  BEGIN_KV_SERIALIZE_MAP()
391  KV_SERIALIZE(amount)
392  KV_SERIALIZE(public_key)
393  KV_SERIALIZE(index)
394  KV_SERIALIZE(global_index)
395  KV_SERIALIZE(rct)
396  KV_SERIALIZE(tx_hash)
397  KV_SERIALIZE(tx_pub_key)
398  KV_SERIALIZE(tx_prefix_hash)
399  KV_SERIALIZE(spend_key_images)
400  KV_SERIALIZE(timestamp)
401  KV_SERIALIZE(height)
402  END_KV_SERIALIZE_MAP()
403  };
404 
405  struct response
406  {
407  uint64_t amount;
408  std::list<output> outputs;
409  uint64_t per_kb_fee;
410  std::string status;
411  std::string reason;
412  BEGIN_KV_SERIALIZE_MAP()
413  KV_SERIALIZE(amount)
414  KV_SERIALIZE(outputs)
415  KV_SERIALIZE(per_kb_fee)
416  KV_SERIALIZE(status)
417  KV_SERIALIZE(reason)
418  END_KV_SERIALIZE_MAP()
419  };
420  };
421 
422  //-----------------------------------------------
424  {
425  struct request
426  {
427  std::vector<std::string> amounts;
428  uint32_t count;
429 
430  BEGIN_KV_SERIALIZE_MAP()
431  KV_SERIALIZE(amounts)
432  KV_SERIALIZE(count)
433  END_KV_SERIALIZE_MAP()
434  };
435 
436 
437  struct output {
438  std::string public_key;
439  uint64_t global_index;
440  std::string rct; // 64+64+64 characters long (<rct commit> + <encrypted mask> + <rct amount>)
441 
442  BEGIN_KV_SERIALIZE_MAP()
443  KV_SERIALIZE(public_key)
444  KV_SERIALIZE(global_index)
445  KV_SERIALIZE(rct)
446  END_KV_SERIALIZE_MAP()
447  };
448 
449  struct amount_out {
450  uint64_t amount;
451  std::vector<output> outputs;
452  BEGIN_KV_SERIALIZE_MAP()
453  KV_SERIALIZE(amount)
454  KV_SERIALIZE(outputs)
455  END_KV_SERIALIZE_MAP()
456 
457  };
458 
459  struct response
460  {
461  std::vector<amount_out> amount_outs;
462  std::string Error;
463  BEGIN_KV_SERIALIZE_MAP()
464  KV_SERIALIZE(amount_outs)
465  KV_SERIALIZE(Error)
466  END_KV_SERIALIZE_MAP()
467  };
468  };
469  //-----------------------------------------------
471  {
472  struct request
473  {
474  std::string address;
475  std::string view_key;
476  std::string tx;
477 
478  BEGIN_KV_SERIALIZE_MAP()
479  KV_SERIALIZE(address)
480  KV_SERIALIZE(view_key)
481  KV_SERIALIZE(tx)
482  END_KV_SERIALIZE_MAP()
483  };
484 
485 
486  struct response
487  {
488  std::string status;
489  std::string error;
490 
491  BEGIN_KV_SERIALIZE_MAP()
492  KV_SERIALIZE(status)
493  KV_SERIALIZE(error)
494  END_KV_SERIALIZE_MAP()
495  };
496  };
497  //-----------------------------------------------
499  {
500  struct request
501  {
502  std::string address;
503  std::string view_key;
505 
506  BEGIN_KV_SERIALIZE_MAP()
507  KV_SERIALIZE(address)
508  KV_SERIALIZE(view_key)
509  KV_SERIALIZE(create_account)
510  END_KV_SERIALIZE_MAP()
511  };
512 
513 
514  struct response
515  {
516  std::string status;
517  std::string reason;
519 
520  BEGIN_KV_SERIALIZE_MAP()
521  KV_SERIALIZE(status)
522  KV_SERIALIZE(reason)
523  KV_SERIALIZE(new_address)
524  END_KV_SERIALIZE_MAP()
525  };
526  };
527  //-----------------------------------------------
529  {
530  struct request
531  {
532  std::string address;
533  std::string view_key;
534 
535  BEGIN_KV_SERIALIZE_MAP()
536  KV_SERIALIZE(address)
537  KV_SERIALIZE(view_key)
538  END_KV_SERIALIZE_MAP()
539  };
540 
541 
542  struct response
543  {
544  std::string payment_id;
545  uint64_t import_fee;
548  std::string payment_address;
549  std::string status;
550 
551  BEGIN_KV_SERIALIZE_MAP()
552  KV_SERIALIZE(payment_id)
553  KV_SERIALIZE(import_fee)
554  KV_SERIALIZE(new_request)
555  KV_SERIALIZE(request_fulfilled)
556  KV_SERIALIZE(payment_address)
557  KV_SERIALIZE(status)
558  END_KV_SERIALIZE_MAP()
559  };
560  };
561  //-----------------------------------------------
563  {
564  struct request
565  {
566  std::vector<std::string> txs_hashes;
568  bool prune;
569 
570  BEGIN_KV_SERIALIZE_MAP()
571  KV_SERIALIZE(txs_hashes)
572  KV_SERIALIZE(decode_as_json)
573  KV_SERIALIZE_OPT(prune, false)
574  END_KV_SERIALIZE_MAP()
575  };
576 
577  struct entry
578  {
579  std::string tx_hash;
580  std::string as_hex;
581  std::string as_json;
582  bool in_pool;
584  uint64_t block_height;
585  uint64_t block_timestamp;
586  std::vector<uint64_t> output_indices;
587 
588  BEGIN_KV_SERIALIZE_MAP()
589  KV_SERIALIZE(tx_hash)
590  KV_SERIALIZE(as_hex)
591  KV_SERIALIZE(as_json)
592  KV_SERIALIZE(in_pool)
593  KV_SERIALIZE(double_spend_seen)
594  KV_SERIALIZE(block_height)
595  KV_SERIALIZE(block_timestamp)
596  KV_SERIALIZE(output_indices)
597  END_KV_SERIALIZE_MAP()
598  };
599 
600  struct response
601  {
602  // older compatibility stuff
603  std::vector<std::string> txs_as_hex; //transactions blobs as hex (old compat)
604  std::vector<std::string> txs_as_json; //transactions decoded as json (old compat)
605 
606  // in both old and new
607  std::vector<std::string> missed_tx; //not found transactions
608 
609  // new style
610  std::vector<entry> txs;
611  std::string status;
612  bool untrusted;
613 
614  BEGIN_KV_SERIALIZE_MAP()
615  KV_SERIALIZE(txs_as_hex)
616  KV_SERIALIZE(txs_as_json)
617  KV_SERIALIZE(txs)
618  KV_SERIALIZE(missed_tx)
619  KV_SERIALIZE(status)
620  KV_SERIALIZE(untrusted)
621  END_KV_SERIALIZE_MAP()
622  };
623  };
624 
625  //-----------------------------------------------
627  {
628  enum STATUS {
629  UNSPENT = 0,
632  };
633 
634  struct request
635  {
636  std::vector<std::string> key_images;
637 
638  BEGIN_KV_SERIALIZE_MAP()
639  KV_SERIALIZE(key_images)
640  END_KV_SERIALIZE_MAP()
641  };
642 
643 
644  struct response
645  {
646  std::vector<int> spent_status;
647  std::string status;
648  bool untrusted;
649 
650  BEGIN_KV_SERIALIZE_MAP()
651  KV_SERIALIZE(spent_status)
652  KV_SERIALIZE(status)
653  KV_SERIALIZE(untrusted)
654  END_KV_SERIALIZE_MAP()
655  };
656  };
657 
658  //-----------------------------------------------
660  {
661  struct request
662  {
664  BEGIN_KV_SERIALIZE_MAP()
665  KV_SERIALIZE_VAL_POD_AS_BLOB(txid)
666  END_KV_SERIALIZE_MAP()
667  };
668 
669 
670  struct response
671  {
672  std::vector<uint64_t> o_indexes;
673  std::string status;
674  bool untrusted;
675  BEGIN_KV_SERIALIZE_MAP()
676  KV_SERIALIZE(o_indexes)
677  KV_SERIALIZE(status)
678  KV_SERIALIZE(untrusted)
679  END_KV_SERIALIZE_MAP()
680  };
681  };
682  //-----------------------------------------------
684  {
685  uint64_t amount;
686  uint64_t index;
687 
688  BEGIN_KV_SERIALIZE_MAP()
689  KV_SERIALIZE(amount)
690  KV_SERIALIZE(index)
691  END_KV_SERIALIZE_MAP()
692  };
693 
695  {
696  struct request
697  {
698  std::vector<get_outputs_out> outputs;
699 
700  BEGIN_KV_SERIALIZE_MAP()
701  KV_SERIALIZE(outputs)
702  END_KV_SERIALIZE_MAP()
703  };
704 
705  struct outkey
706  {
709  bool unlocked;
710  uint64_t height;
712 
713  BEGIN_KV_SERIALIZE_MAP()
714  KV_SERIALIZE_VAL_POD_AS_BLOB(key)
715  KV_SERIALIZE_VAL_POD_AS_BLOB(mask)
716  KV_SERIALIZE(unlocked)
717  KV_SERIALIZE(height)
718  KV_SERIALIZE_VAL_POD_AS_BLOB(txid)
719  END_KV_SERIALIZE_MAP()
720  };
721 
722  struct response
723  {
724  std::vector<outkey> outs;
725  std::string status;
726  bool untrusted;
727 
728  BEGIN_KV_SERIALIZE_MAP()
729  KV_SERIALIZE(outs)
730  KV_SERIALIZE(status)
731  KV_SERIALIZE(untrusted)
732  END_KV_SERIALIZE_MAP()
733  };
734  };
735  //-----------------------------------------------
737  {
738  struct request
739  {
740  std::vector<get_outputs_out> outputs;
741 
742  BEGIN_KV_SERIALIZE_MAP()
743  KV_SERIALIZE(outputs)
744  END_KV_SERIALIZE_MAP()
745  };
746 
747  struct outkey
748  {
749  std::string key;
750  std::string mask;
751  bool unlocked;
752  uint64_t height;
753  std::string txid;
754 
755  BEGIN_KV_SERIALIZE_MAP()
756  KV_SERIALIZE(key)
757  KV_SERIALIZE(mask)
758  KV_SERIALIZE(unlocked)
759  KV_SERIALIZE(height)
760  KV_SERIALIZE(txid)
761  END_KV_SERIALIZE_MAP()
762  };
763 
764  struct response
765  {
766  std::vector<outkey> outs;
767  std::string status;
768  bool untrusted;
769 
770  BEGIN_KV_SERIALIZE_MAP()
771  KV_SERIALIZE(outs)
772  KV_SERIALIZE(status)
773  KV_SERIALIZE(untrusted)
774  END_KV_SERIALIZE_MAP()
775  };
776  };
777  //-----------------------------------------------
779  {
780  struct request
781  {
782  std::string tx_as_hex;
784 
785  request() {}
786  explicit request(const transaction &);
787 
788  BEGIN_KV_SERIALIZE_MAP()
789  KV_SERIALIZE(tx_as_hex)
790  KV_SERIALIZE_OPT(do_not_relay, false)
791  END_KV_SERIALIZE_MAP()
792  };
793 
794 
795  struct response
796  {
797  std::string status;
798  std::string reason;
800  bool low_mixin;
804  bool too_big;
805  bool overspend;
807  bool not_rct;
808  bool untrusted;
809 
810  BEGIN_KV_SERIALIZE_MAP()
811  KV_SERIALIZE(status)
812  KV_SERIALIZE(reason)
813  KV_SERIALIZE(not_relayed)
814  KV_SERIALIZE(low_mixin)
815  KV_SERIALIZE(double_spend)
816  KV_SERIALIZE(invalid_input)
817  KV_SERIALIZE(invalid_output)
818  KV_SERIALIZE(too_big)
819  KV_SERIALIZE(overspend)
820  KV_SERIALIZE(fee_too_low)
821  KV_SERIALIZE(not_rct)
822  KV_SERIALIZE(untrusted)
823  END_KV_SERIALIZE_MAP()
824  };
825  };
826  //-----------------------------------------------
828  {
829  struct request
830  {
831  std::string miner_address;
832  uint64_t threads_count;
835 
836  BEGIN_KV_SERIALIZE_MAP()
837  KV_SERIALIZE(miner_address)
838  KV_SERIALIZE(threads_count)
839  KV_SERIALIZE(do_background_mining)
840  KV_SERIALIZE(ignore_battery)
841  END_KV_SERIALIZE_MAP()
842  };
843 
844  struct response
845  {
846  std::string status;
847 
848  BEGIN_KV_SERIALIZE_MAP()
849  KV_SERIALIZE(status)
850  END_KV_SERIALIZE_MAP()
851  };
852  };
853  //-----------------------------------------------
855  {
856  struct request
857  {
858 
859  BEGIN_KV_SERIALIZE_MAP()
860  END_KV_SERIALIZE_MAP()
861  };
862 
863  struct response
864  {
865  std::string status;
866  uint64_t height;
867  uint64_t target_height;
868  uint64_t difficulty;
869  uint64_t target;
870  uint64_t tx_count;
871  uint64_t tx_pool_size;
878  bool mainnet;
879  bool testnet;
880  bool stagenet;
881  std::string nettype;
882  std::string top_block_hash;
888  uint64_t start_time;
889  uint64_t free_space;
890  bool offline;
891  bool untrusted;
895  uint64_t database_size;
897 
898  BEGIN_KV_SERIALIZE_MAP()
899  KV_SERIALIZE(status)
900  KV_SERIALIZE(height)
901  KV_SERIALIZE(target_height)
902  KV_SERIALIZE(difficulty)
903  KV_SERIALIZE(target)
904  KV_SERIALIZE(tx_count)
905  KV_SERIALIZE(tx_pool_size)
906  KV_SERIALIZE(alt_blocks_count)
907  KV_SERIALIZE(outgoing_connections_count)
908  KV_SERIALIZE(incoming_connections_count)
909  KV_SERIALIZE(rpc_connections_count)
910  KV_SERIALIZE(white_peerlist_size)
911  KV_SERIALIZE(grey_peerlist_size)
912  KV_SERIALIZE(mainnet)
913  KV_SERIALIZE(testnet)
914  KV_SERIALIZE(stagenet)
915  KV_SERIALIZE(nettype)
916  KV_SERIALIZE(top_block_hash)
917  KV_SERIALIZE(cumulative_difficulty)
918  KV_SERIALIZE(block_size_limit)
919  KV_SERIALIZE_OPT(block_weight_limit, (uint64_t)0)
920  KV_SERIALIZE(block_size_median)
921  KV_SERIALIZE_OPT(block_weight_median, (uint64_t)0)
922  KV_SERIALIZE(start_time)
923  KV_SERIALIZE(free_space)
924  KV_SERIALIZE(offline)
925  KV_SERIALIZE(untrusted)
926  KV_SERIALIZE(bootstrap_daemon_address)
927  KV_SERIALIZE(height_without_bootstrap)
928  KV_SERIALIZE(was_bootstrap_ever_used)
929  KV_SERIALIZE(database_size)
930  KV_SERIALIZE(update_available)
931  END_KV_SERIALIZE_MAP()
932  };
933  };
934 
935 
936  //-----------------------------------------------
938  {
939  struct request
940  {
941 
942  BEGIN_KV_SERIALIZE_MAP()
943  END_KV_SERIALIZE_MAP()
944  };
945 
946 
947  struct response
948  {
949  std::string status;
950 
951  BEGIN_KV_SERIALIZE_MAP()
952  KV_SERIALIZE(status)
953  END_KV_SERIALIZE_MAP()
954  };
955  };
956 
957  //-----------------------------------------------
959  {
960  struct request
961  {
962 
963  BEGIN_KV_SERIALIZE_MAP()
964  END_KV_SERIALIZE_MAP()
965  };
966 
967 
968  struct response
969  {
970  std::string status;
971  bool active;
972  uint64_t speed;
973  uint32_t threads_count;
974  std::string address;
976 
977  BEGIN_KV_SERIALIZE_MAP()
978  KV_SERIALIZE(status)
979  KV_SERIALIZE(active)
980  KV_SERIALIZE(speed)
981  KV_SERIALIZE(threads_count)
982  KV_SERIALIZE(address)
983  KV_SERIALIZE(is_background_mining_enabled)
984  END_KV_SERIALIZE_MAP()
985  };
986  };
987 
988  //-----------------------------------------------
990  {
991  struct request
992  {
993 
994  BEGIN_KV_SERIALIZE_MAP()
995  END_KV_SERIALIZE_MAP()
996  };
997 
998 
999  struct response
1000  {
1001  std::string status;
1002 
1003  BEGIN_KV_SERIALIZE_MAP()
1004  KV_SERIALIZE(status)
1005  END_KV_SERIALIZE_MAP()
1006  };
1007  };
1008 
1009  //
1011  {
1012  typedef std::list<std::string> request;
1013 
1014  struct response
1015  {
1016  uint64_t count;
1017  std::string status;
1018 
1019  BEGIN_KV_SERIALIZE_MAP()
1020  KV_SERIALIZE(count)
1021  KV_SERIALIZE(status)
1022  END_KV_SERIALIZE_MAP()
1023  };
1024 
1025  };
1026 
1028  {
1029  typedef std::vector<uint64_t> request;
1030 
1031  typedef std::string response;
1032  };
1033 
1034 
1036  {
1037  struct request
1038  {
1039  uint64_t reserve_size; //max 255 bytes
1040  std::string wallet_address;
1041 
1042  BEGIN_KV_SERIALIZE_MAP()
1043  KV_SERIALIZE(reserve_size)
1044  KV_SERIALIZE(wallet_address)
1045  END_KV_SERIALIZE_MAP()
1046  };
1047 
1048  struct response
1049  {
1050  uint64_t difficulty;
1051  uint64_t height;
1054  std::string prev_hash;
1057  std::string status;
1059 
1060  BEGIN_KV_SERIALIZE_MAP()
1061  KV_SERIALIZE(difficulty)
1062  KV_SERIALIZE(height)
1063  KV_SERIALIZE(reserved_offset)
1064  KV_SERIALIZE(expected_reward)
1065  KV_SERIALIZE(prev_hash)
1066  KV_SERIALIZE(blocktemplate_blob)
1067  KV_SERIALIZE(blockhashing_blob)
1068  KV_SERIALIZE(status)
1069  KV_SERIALIZE(untrusted)
1070  END_KV_SERIALIZE_MAP()
1071  };
1072  };
1073 
1075  {
1076  typedef std::vector<std::string> request;
1077 
1078  struct response
1079  {
1080  std::string status;
1081 
1082  BEGIN_KV_SERIALIZE_MAP()
1083  KV_SERIALIZE(status)
1084  END_KV_SERIALIZE_MAP()
1085  };
1086  };
1087 
1089  {
1090  struct request
1091  {
1093  std::string wallet_address;
1094 
1095  BEGIN_KV_SERIALIZE_MAP()
1096  KV_SERIALIZE(amount_of_blocks)
1097  KV_SERIALIZE(wallet_address)
1098  END_KV_SERIALIZE_MAP()
1099  };
1100 
1101  struct response
1102  {
1103  uint64_t height;
1104  std::string status;
1105 
1106  BEGIN_KV_SERIALIZE_MAP()
1107  KV_SERIALIZE(height)
1108  KV_SERIALIZE(status)
1109  END_KV_SERIALIZE_MAP()
1110  };
1111  };
1112 
1114  {
1115  uint8_t major_version;
1116  uint8_t minor_version;
1117  uint64_t timestamp;
1118  std::string prev_hash;
1119  uint32_t nonce;
1121  uint64_t height;
1122  uint64_t depth;
1123  std::string hash;
1126  uint64_t reward;
1127  uint64_t block_size;
1128  uint64_t block_weight;
1129  uint64_t num_txes;
1130  std::string pow_hash;
1131 
1132  BEGIN_KV_SERIALIZE_MAP()
1133  KV_SERIALIZE(major_version)
1134  KV_SERIALIZE(minor_version)
1135  KV_SERIALIZE(timestamp)
1136  KV_SERIALIZE(prev_hash)
1137  KV_SERIALIZE(nonce)
1138  KV_SERIALIZE(orphan_status)
1139  KV_SERIALIZE(height)
1140  KV_SERIALIZE(depth)
1141  KV_SERIALIZE(hash)
1142  KV_SERIALIZE(difficulty)
1143  KV_SERIALIZE(cumulative_difficulty)
1144  KV_SERIALIZE(reward)
1145  KV_SERIALIZE(block_size)
1146  KV_SERIALIZE_OPT(block_weight, (uint64_t)0)
1147  KV_SERIALIZE(num_txes)
1148  KV_SERIALIZE(pow_hash)
1149  END_KV_SERIALIZE_MAP()
1150  };
1151 
1153  {
1154  struct request
1155  {
1157 
1158  BEGIN_KV_SERIALIZE_MAP()
1159  KV_SERIALIZE_OPT(fill_pow_hash, false);
1160  END_KV_SERIALIZE_MAP()
1161  };
1162 
1163  struct response
1164  {
1165  std::string status;
1168 
1169  BEGIN_KV_SERIALIZE_MAP()
1170  KV_SERIALIZE(block_header)
1171  KV_SERIALIZE(status)
1172  KV_SERIALIZE(untrusted)
1173  END_KV_SERIALIZE_MAP()
1174  };
1175 
1176  };
1177 
1179  {
1180  struct request
1181  {
1182  std::string hash;
1184 
1185  BEGIN_KV_SERIALIZE_MAP()
1186  KV_SERIALIZE(hash)
1187  KV_SERIALIZE_OPT(fill_pow_hash, false);
1188  END_KV_SERIALIZE_MAP()
1189  };
1190 
1191  struct response
1192  {
1193  std::string status;
1196 
1197  BEGIN_KV_SERIALIZE_MAP()
1198  KV_SERIALIZE(block_header)
1199  KV_SERIALIZE(status)
1200  KV_SERIALIZE(untrusted)
1201  END_KV_SERIALIZE_MAP()
1202  };
1203 
1204  };
1205 
1207  {
1208  struct request
1209  {
1210  uint64_t height;
1212 
1213  BEGIN_KV_SERIALIZE_MAP()
1214  KV_SERIALIZE(height)
1215  KV_SERIALIZE_OPT(fill_pow_hash, false);
1216  END_KV_SERIALIZE_MAP()
1217  };
1218 
1219  struct response
1220  {
1221  std::string status;
1224 
1225  BEGIN_KV_SERIALIZE_MAP()
1226  KV_SERIALIZE(block_header)
1227  KV_SERIALIZE(status)
1228  KV_SERIALIZE(untrusted)
1229  END_KV_SERIALIZE_MAP()
1230  };
1231 
1232  };
1233 
1235  {
1236  struct request
1237  {
1238  std::string hash;
1239  uint64_t height;
1241 
1242  BEGIN_KV_SERIALIZE_MAP()
1243  KV_SERIALIZE(hash)
1244  KV_SERIALIZE(height)
1245  KV_SERIALIZE_OPT(fill_pow_hash, false);
1246  END_KV_SERIALIZE_MAP()
1247  };
1248 
1249  struct response
1250  {
1251  std::string status;
1253  std::string miner_tx_hash;
1254  std::vector<std::string> tx_hashes;
1255  std::string blob;
1256  std::string json;
1258 
1259  BEGIN_KV_SERIALIZE_MAP()
1260  KV_SERIALIZE(block_header)
1261  KV_SERIALIZE(miner_tx_hash)
1262  KV_SERIALIZE(tx_hashes)
1263  KV_SERIALIZE(status)
1264  KV_SERIALIZE(blob)
1265  KV_SERIALIZE(json)
1266  KV_SERIALIZE(untrusted)
1267  END_KV_SERIALIZE_MAP()
1268  };
1269 
1270  };
1271 
1272  struct peer {
1273  uint64_t id;
1274  std::string host;
1275  uint32_t ip;
1276  uint16_t port;
1277  uint64_t last_seen;
1278 
1279  peer() = default;
1280 
1281  peer(uint64_t id, const std::string &host, uint64_t last_seen)
1282  : id(id), host(host), ip(0), port(0), last_seen(last_seen)
1283  {}
1284  peer(uint64_t id, uint32_t ip, uint16_t port, uint64_t last_seen)
1285  : id(id), host(std::to_string(ip)), ip(ip), port(port), last_seen(last_seen)
1286  {}
1287 
1288  BEGIN_KV_SERIALIZE_MAP()
1289  KV_SERIALIZE(id)
1290  KV_SERIALIZE(host)
1291  KV_SERIALIZE(ip)
1292  KV_SERIALIZE(port)
1293  KV_SERIALIZE(last_seen)
1294  END_KV_SERIALIZE_MAP()
1295  };
1296 
1298  {
1299  struct request
1300  {
1301  BEGIN_KV_SERIALIZE_MAP()
1302  END_KV_SERIALIZE_MAP()
1303  };
1304 
1305  struct response
1306  {
1307  std::string status;
1308  std::vector<peer> white_list;
1309  std::vector<peer> gray_list;
1310 
1311  BEGIN_KV_SERIALIZE_MAP()
1312  KV_SERIALIZE(status)
1313  KV_SERIALIZE(white_list)
1314  KV_SERIALIZE(gray_list)
1315  END_KV_SERIALIZE_MAP()
1316  };
1317  };
1318 
1320  {
1321  struct request
1322  {
1323  bool visible;
1324 
1325  BEGIN_KV_SERIALIZE_MAP()
1326  KV_SERIALIZE(visible)
1327  END_KV_SERIALIZE_MAP()
1328  };
1329 
1330  struct response
1331  {
1332  std::string status;
1333  BEGIN_KV_SERIALIZE_MAP()
1334  KV_SERIALIZE(status)
1335  END_KV_SERIALIZE_MAP()
1336  };
1337  };
1338 
1340  {
1341  struct request
1342  {
1343  int8_t level;
1344 
1345  BEGIN_KV_SERIALIZE_MAP()
1346  KV_SERIALIZE(level)
1347  END_KV_SERIALIZE_MAP()
1348  };
1349 
1350  struct response
1351  {
1352  std::string status;
1353  BEGIN_KV_SERIALIZE_MAP()
1354  KV_SERIALIZE(status)
1355  END_KV_SERIALIZE_MAP()
1356  };
1357  };
1358 
1360  {
1361  struct request
1362  {
1363  std::string categories;
1364 
1365  BEGIN_KV_SERIALIZE_MAP()
1366  KV_SERIALIZE(categories)
1367  END_KV_SERIALIZE_MAP()
1368  };
1369 
1370  struct response
1371  {
1372  std::string status;
1373  std::string categories;
1374 
1375  BEGIN_KV_SERIALIZE_MAP()
1376  KV_SERIALIZE(status)
1377  KV_SERIALIZE(categories)
1378  END_KV_SERIALIZE_MAP()
1379  };
1380  };
1381 
1382  struct tx_info
1383  {
1384  std::string id_hash;
1385  std::string tx_json; // TODO - expose this data directly
1386  uint64_t blob_size;
1387  uint64_t weight;
1388  uint64_t fee;
1393  std::string last_failed_id_hash;
1394  uint64_t receive_time;
1395  bool relayed;
1399  std::string tx_blob;
1400 
1401  BEGIN_KV_SERIALIZE_MAP()
1402  KV_SERIALIZE(id_hash)
1403  KV_SERIALIZE(tx_json)
1404  KV_SERIALIZE(blob_size)
1405  KV_SERIALIZE_OPT(weight, (uint64_t)0)
1406  KV_SERIALIZE(fee)
1407  KV_SERIALIZE(max_used_block_id_hash)
1408  KV_SERIALIZE(max_used_block_height)
1409  KV_SERIALIZE(kept_by_block)
1410  KV_SERIALIZE(last_failed_height)
1411  KV_SERIALIZE(last_failed_id_hash)
1412  KV_SERIALIZE(receive_time)
1413  KV_SERIALIZE(relayed)
1414  KV_SERIALIZE(last_relayed_time)
1415  KV_SERIALIZE(do_not_relay)
1416  KV_SERIALIZE(double_spend_seen)
1417  KV_SERIALIZE(tx_blob)
1418  END_KV_SERIALIZE_MAP()
1419  };
1420 
1422  {
1423  std::string id_hash;
1424  std::vector<std::string> txs_hashes;
1425 
1426  BEGIN_KV_SERIALIZE_MAP()
1427  KV_SERIALIZE(id_hash)
1428  KV_SERIALIZE(txs_hashes)
1429  END_KV_SERIALIZE_MAP()
1430  };
1431 
1433  {
1434  struct request
1435  {
1436  BEGIN_KV_SERIALIZE_MAP()
1437  END_KV_SERIALIZE_MAP()
1438  };
1439 
1440  struct response
1441  {
1442  std::string status;
1443  std::vector<tx_info> transactions;
1444  std::vector<spent_key_image_info> spent_key_images;
1446 
1447  BEGIN_KV_SERIALIZE_MAP()
1448  KV_SERIALIZE(status)
1449  KV_SERIALIZE(transactions)
1450  KV_SERIALIZE(spent_key_images)
1451  KV_SERIALIZE(untrusted)
1452  END_KV_SERIALIZE_MAP()
1453  };
1454  };
1455 
1457  {
1458  struct request
1459  {
1460  BEGIN_KV_SERIALIZE_MAP()
1461  END_KV_SERIALIZE_MAP()
1462  };
1463 
1464  struct response
1465  {
1466  std::string status;
1467  std::vector<crypto::hash> tx_hashes;
1469 
1470  BEGIN_KV_SERIALIZE_MAP()
1471  KV_SERIALIZE(status)
1472  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(tx_hashes)
1473  KV_SERIALIZE(untrusted)
1474  END_KV_SERIALIZE_MAP()
1475  };
1476  };
1477 
1479  {
1480  struct request
1481  {
1482  BEGIN_KV_SERIALIZE_MAP()
1483  END_KV_SERIALIZE_MAP()
1484  };
1485 
1486  struct response
1487  {
1488  std::string status;
1489  std::vector<std::string> tx_hashes;
1491 
1492  BEGIN_KV_SERIALIZE_MAP()
1493  KV_SERIALIZE(status)
1494  KV_SERIALIZE(tx_hashes)
1495  KV_SERIALIZE(untrusted)
1496  END_KV_SERIALIZE_MAP()
1497  };
1498  };
1499 
1501  {
1502  uint64_t weight;
1503  uint64_t fee;
1504  uint64_t time_in_pool;
1505  };
1506 
1508  {
1509  struct request
1510  {
1511  BEGIN_KV_SERIALIZE_MAP()
1512  END_KV_SERIALIZE_MAP()
1513  };
1514 
1515  struct response
1516  {
1517  std::string status;
1518  std::vector<tx_backlog_entry> backlog;
1520 
1521  BEGIN_KV_SERIALIZE_MAP()
1522  KV_SERIALIZE(status)
1523  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(backlog)
1524  KV_SERIALIZE(untrusted)
1525  END_KV_SERIALIZE_MAP()
1526  };
1527  };
1528 
1530  {
1531  uint32_t txs;
1532  uint64_t bytes;
1533 
1534  BEGIN_KV_SERIALIZE_MAP()
1535  KV_SERIALIZE(txs)
1536  KV_SERIALIZE(bytes)
1537  END_KV_SERIALIZE_MAP()
1538  };
1539 
1541  {
1542  uint64_t bytes_total;
1543  uint32_t bytes_min;
1544  uint32_t bytes_max;
1545  uint32_t bytes_med;
1546  uint64_t fee_total;
1547  uint64_t oldest;
1548  uint32_t txs_total;
1549  uint32_t num_failing;
1550  uint32_t num_10m;
1552  uint64_t histo_98pc;
1553  std::vector<txpool_histo> histo;
1555 
1556  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) {}
1557 
1558  BEGIN_KV_SERIALIZE_MAP()
1559  KV_SERIALIZE(bytes_total)
1560  KV_SERIALIZE(bytes_min)
1561  KV_SERIALIZE(bytes_max)
1562  KV_SERIALIZE(bytes_med)
1563  KV_SERIALIZE(fee_total)
1564  KV_SERIALIZE(oldest)
1565  KV_SERIALIZE(txs_total)
1566  KV_SERIALIZE(num_failing)
1567  KV_SERIALIZE(num_10m)
1568  KV_SERIALIZE(num_not_relayed)
1569  KV_SERIALIZE(histo_98pc)
1570  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(histo)
1571  KV_SERIALIZE(num_double_spends)
1572  END_KV_SERIALIZE_MAP()
1573  };
1574 
1576  {
1577  struct request
1578  {
1579  BEGIN_KV_SERIALIZE_MAP()
1580  END_KV_SERIALIZE_MAP()
1581  };
1582 
1583  struct response
1584  {
1585  std::string status;
1588 
1589  BEGIN_KV_SERIALIZE_MAP()
1590  KV_SERIALIZE(status)
1591  KV_SERIALIZE(pool_stats)
1592  KV_SERIALIZE(untrusted)
1593  END_KV_SERIALIZE_MAP()
1594  };
1595  };
1596 
1598  {
1599  struct request
1600  {
1601  BEGIN_KV_SERIALIZE_MAP()
1602  END_KV_SERIALIZE_MAP()
1603  };
1604 
1605  struct response
1606  {
1607  std::string status;
1608  std::list<connection_info> connections;
1609 
1610  BEGIN_KV_SERIALIZE_MAP()
1611  KV_SERIALIZE(status)
1612  KV_SERIALIZE(connections)
1613  END_KV_SERIALIZE_MAP()
1614  };
1615 
1616  };
1617 
1619  {
1620  struct request
1621  {
1622  uint64_t start_height;
1623  uint64_t end_height;
1625 
1626  BEGIN_KV_SERIALIZE_MAP()
1627  KV_SERIALIZE(start_height)
1628  KV_SERIALIZE(end_height)
1629  KV_SERIALIZE_OPT(fill_pow_hash, false);
1630  END_KV_SERIALIZE_MAP()
1631  };
1632 
1633  struct response
1634  {
1635  std::string status;
1636  std::vector<block_header_response> headers;
1638 
1639  BEGIN_KV_SERIALIZE_MAP()
1640  KV_SERIALIZE(status)
1641  KV_SERIALIZE(headers)
1642  KV_SERIALIZE(untrusted)
1643  END_KV_SERIALIZE_MAP()
1644  };
1645  };
1646 
1648  {
1649  struct request
1650  {
1651  BEGIN_KV_SERIALIZE_MAP()
1652  END_KV_SERIALIZE_MAP()
1653  };
1654 
1655  struct response
1656  {
1657  std::string status;
1658 
1659  BEGIN_KV_SERIALIZE_MAP()
1660  KV_SERIALIZE(status)
1661  END_KV_SERIALIZE_MAP()
1662  };
1663  };
1664 
1666  {
1667  struct request
1668  {
1669  BEGIN_KV_SERIALIZE_MAP()
1670  END_KV_SERIALIZE_MAP()
1671  };
1672 
1673  struct response
1674  {
1675  std::string status;
1676 
1677  BEGIN_KV_SERIALIZE_MAP()
1678  KV_SERIALIZE(status)
1679  END_KV_SERIALIZE_MAP()
1680  };
1681  };
1682 
1684  {
1685  struct request
1686  {
1687  BEGIN_KV_SERIALIZE_MAP()
1688  END_KV_SERIALIZE_MAP()
1689  };
1690 
1691  struct response
1692  {
1693  std::string status;
1694  uint64_t limit_up;
1695  uint64_t limit_down;
1697 
1698  BEGIN_KV_SERIALIZE_MAP()
1699  KV_SERIALIZE(status)
1700  KV_SERIALIZE(limit_up)
1701  KV_SERIALIZE(limit_down)
1702  KV_SERIALIZE(untrusted)
1703  END_KV_SERIALIZE_MAP()
1704  };
1705  };
1706 
1708  {
1709  struct request
1710  {
1711  int64_t limit_down; // all limits (for get and set) are kB/s
1712  int64_t limit_up;
1713 
1714  BEGIN_KV_SERIALIZE_MAP()
1715  KV_SERIALIZE(limit_down)
1716  KV_SERIALIZE(limit_up)
1717  END_KV_SERIALIZE_MAP()
1718  };
1719 
1720  struct response
1721  {
1722  std::string status;
1723  int64_t limit_up;
1724  int64_t limit_down;
1725 
1726  BEGIN_KV_SERIALIZE_MAP()
1727  KV_SERIALIZE(status)
1728  KV_SERIALIZE(limit_up)
1729  KV_SERIALIZE(limit_down)
1730  END_KV_SERIALIZE_MAP()
1731  };
1732  };
1733 
1735  {
1736  struct request
1737  {
1738  uint64_t out_peers;
1739  BEGIN_KV_SERIALIZE_MAP()
1740  KV_SERIALIZE(out_peers)
1741  END_KV_SERIALIZE_MAP()
1742  };
1743 
1744  struct response
1745  {
1746  std::string status;
1747 
1748  BEGIN_KV_SERIALIZE_MAP()
1749  KV_SERIALIZE(status)
1750  END_KV_SERIALIZE_MAP()
1751  };
1752  };
1753 
1755  {
1756  struct request
1757  {
1758  uint64_t in_peers;
1759  BEGIN_KV_SERIALIZE_MAP()
1760  KV_SERIALIZE(in_peers)
1761  END_KV_SERIALIZE_MAP()
1762  };
1763 
1764  struct response
1765  {
1766  std::string status;
1767 
1768  BEGIN_KV_SERIALIZE_MAP()
1769  KV_SERIALIZE(status)
1770  END_KV_SERIALIZE_MAP()
1771  };
1772  };
1773 
1775  {
1776  struct request
1777  {
1778  BEGIN_KV_SERIALIZE_MAP()
1779  END_KV_SERIALIZE_MAP()
1780  };
1781 
1782  struct response
1783  {
1784  std::string status;
1785 
1786  BEGIN_KV_SERIALIZE_MAP()
1787  KV_SERIALIZE(status)
1788  END_KV_SERIALIZE_MAP()
1789  };
1790  };
1791 
1793  {
1794  struct request
1795  {
1796  BEGIN_KV_SERIALIZE_MAP()
1797  END_KV_SERIALIZE_MAP()
1798  };
1799 
1800  struct response
1801  {
1802  std::string status;
1803 
1804  BEGIN_KV_SERIALIZE_MAP()
1805  KV_SERIALIZE(status)
1806  END_KV_SERIALIZE_MAP()
1807  };
1808  };
1809 
1811  {
1812  struct request
1813  {
1814  uint8_t version;
1815 
1816  BEGIN_KV_SERIALIZE_MAP()
1817  KV_SERIALIZE(version)
1818  END_KV_SERIALIZE_MAP()
1819  };
1820 
1821  struct response
1822  {
1823  uint8_t version;
1824  bool enabled;
1825  uint32_t window;
1826  uint32_t votes;
1827  uint32_t threshold;
1828  uint8_t voting;
1829  uint32_t state;
1831  std::string status;
1833 
1834  BEGIN_KV_SERIALIZE_MAP()
1835  KV_SERIALIZE(version)
1836  KV_SERIALIZE(enabled)
1837  KV_SERIALIZE(window)
1838  KV_SERIALIZE(votes)
1839  KV_SERIALIZE(threshold)
1840  KV_SERIALIZE(voting)
1841  KV_SERIALIZE(state)
1842  KV_SERIALIZE(earliest_height)
1843  KV_SERIALIZE(status)
1844  KV_SERIALIZE(untrusted)
1845  END_KV_SERIALIZE_MAP()
1846  };
1847  };
1848 
1850  {
1851  struct ban
1852  {
1853  std::string host;
1854  uint32_t ip;
1855  uint32_t seconds;
1856 
1857  BEGIN_KV_SERIALIZE_MAP()
1858  KV_SERIALIZE(host)
1859  KV_SERIALIZE(ip)
1860  KV_SERIALIZE(seconds)
1861  END_KV_SERIALIZE_MAP()
1862  };
1863 
1864  struct request
1865  {
1866  BEGIN_KV_SERIALIZE_MAP()
1867  END_KV_SERIALIZE_MAP()
1868  };
1869 
1870  struct response
1871  {
1872  std::string status;
1873  std::vector<ban> bans;
1874 
1875  BEGIN_KV_SERIALIZE_MAP()
1876  KV_SERIALIZE(status)
1877  KV_SERIALIZE(bans)
1878  END_KV_SERIALIZE_MAP()
1879  };
1880  };
1881 
1883  {
1884  struct ban
1885  {
1886  std::string host;
1887  uint32_t ip;
1888  bool ban;
1889  uint32_t seconds;
1890 
1891  BEGIN_KV_SERIALIZE_MAP()
1892  KV_SERIALIZE(host)
1893  KV_SERIALIZE(ip)
1894  KV_SERIALIZE(ban)
1895  KV_SERIALIZE(seconds)
1896  END_KV_SERIALIZE_MAP()
1897  };
1898 
1899  struct request
1900  {
1901  std::vector<ban> bans;
1902 
1903  BEGIN_KV_SERIALIZE_MAP()
1904  KV_SERIALIZE(bans)
1905  END_KV_SERIALIZE_MAP()
1906  };
1907 
1908  struct response
1909  {
1910  std::string status;
1911 
1912  BEGIN_KV_SERIALIZE_MAP()
1913  KV_SERIALIZE(status)
1914  END_KV_SERIALIZE_MAP()
1915  };
1916  };
1917 
1919  {
1920  struct request
1921  {
1922  std::vector<std::string> txids;
1923 
1924  BEGIN_KV_SERIALIZE_MAP()
1925  KV_SERIALIZE(txids)
1926  END_KV_SERIALIZE_MAP()
1927  };
1928 
1929  struct response
1930  {
1931  std::string status;
1932 
1933  BEGIN_KV_SERIALIZE_MAP()
1934  KV_SERIALIZE(status)
1935  END_KV_SERIALIZE_MAP()
1936  };
1937  };
1938 
1940  {
1941  struct request
1942  {
1943  std::vector<uint64_t> amounts;
1944  uint64_t min_count;
1945  uint64_t max_count;
1946  bool unlocked;
1947  uint64_t recent_cutoff;
1948 
1949  BEGIN_KV_SERIALIZE_MAP()
1950  KV_SERIALIZE(amounts);
1951  KV_SERIALIZE(min_count);
1952  KV_SERIALIZE(max_count);
1953  KV_SERIALIZE(unlocked);
1954  KV_SERIALIZE(recent_cutoff);
1955  END_KV_SERIALIZE_MAP()
1956  };
1957 
1958  struct entry
1959  {
1960  uint64_t amount;
1964 
1965  BEGIN_KV_SERIALIZE_MAP()
1966  KV_SERIALIZE(amount);
1967  KV_SERIALIZE(total_instances);
1968  KV_SERIALIZE(unlocked_instances);
1969  KV_SERIALIZE(recent_instances);
1970  END_KV_SERIALIZE_MAP()
1971 
1972  entry(uint64_t amount, uint64_t total_instances, uint64_t unlocked_instances, uint64_t recent_instances):
1973  amount(amount), total_instances(total_instances), unlocked_instances(unlocked_instances), recent_instances(recent_instances) {}
1974  entry() {}
1975  };
1976 
1977  struct response
1978  {
1979  std::string status;
1980  std::vector<entry> histogram;
1982 
1983  BEGIN_KV_SERIALIZE_MAP()
1984  KV_SERIALIZE(status)
1985  KV_SERIALIZE(histogram)
1986  KV_SERIALIZE(untrusted)
1987  END_KV_SERIALIZE_MAP()
1988  };
1989  };
1990 
1992  {
1993  struct request
1994  {
1995  BEGIN_KV_SERIALIZE_MAP()
1996  END_KV_SERIALIZE_MAP()
1997  };
1998 
1999  struct response
2000  {
2001  std::string status;
2002  uint32_t version;
2004 
2005  BEGIN_KV_SERIALIZE_MAP()
2006  KV_SERIALIZE(status)
2007  KV_SERIALIZE(version)
2008  KV_SERIALIZE(untrusted)
2009  END_KV_SERIALIZE_MAP()
2010  };
2011  };
2012 
2014  {
2015  struct request
2016  {
2017  uint64_t height;
2018  uint64_t count;
2019 
2020  BEGIN_KV_SERIALIZE_MAP()
2021  KV_SERIALIZE(height);
2022  KV_SERIALIZE(count);
2023  END_KV_SERIALIZE_MAP()
2024  };
2025 
2026  struct response
2027  {
2028  std::string status;
2030  uint64_t fee_amount;
2031 
2032  BEGIN_KV_SERIALIZE_MAP()
2033  KV_SERIALIZE(status)
2034  KV_SERIALIZE(emission_amount)
2035  KV_SERIALIZE(fee_amount)
2036  END_KV_SERIALIZE_MAP()
2037  };
2038  };
2039 
2041  {
2042  struct request
2043  {
2044  uint64_t grace_blocks;
2045 
2046  BEGIN_KV_SERIALIZE_MAP()
2047  KV_SERIALIZE(grace_blocks)
2048  END_KV_SERIALIZE_MAP()
2049  };
2050 
2051  struct response
2052  {
2053  std::string status;
2054  uint64_t fee;
2057 
2058  BEGIN_KV_SERIALIZE_MAP()
2059  KV_SERIALIZE(status)
2060  KV_SERIALIZE(fee)
2061  KV_SERIALIZE_OPT(quantization_mask, (uint64_t)1)
2062  KV_SERIALIZE(untrusted)
2063  END_KV_SERIALIZE_MAP()
2064  };
2065  };
2066 
2068  {
2069  struct request
2070  {
2071  BEGIN_KV_SERIALIZE_MAP()
2072  END_KV_SERIALIZE_MAP()
2073  };
2074 
2075  struct chain_info
2076  {
2077  std::string block_hash;
2078  uint64_t height;
2079  uint64_t length;
2080  uint64_t difficulty;
2081  std::vector<std::string> block_hashes;
2083 
2084  BEGIN_KV_SERIALIZE_MAP()
2085  KV_SERIALIZE(block_hash)
2086  KV_SERIALIZE(height)
2087  KV_SERIALIZE(length)
2088  KV_SERIALIZE(difficulty)
2089  KV_SERIALIZE(block_hashes)
2090  KV_SERIALIZE(main_chain_parent_block)
2091  END_KV_SERIALIZE_MAP()
2092  };
2093 
2094  struct response
2095  {
2096  std::string status;
2097  std::list<chain_info> chains;
2098 
2099  BEGIN_KV_SERIALIZE_MAP()
2100  KV_SERIALIZE(status)
2101  KV_SERIALIZE(chains)
2102  END_KV_SERIALIZE_MAP()
2103  };
2104  };
2105 
2107  {
2108  struct request
2109  {
2110  std::string command;
2111  std::string path;
2112 
2113  BEGIN_KV_SERIALIZE_MAP()
2114  KV_SERIALIZE(command);
2115  KV_SERIALIZE(path);
2116  END_KV_SERIALIZE_MAP()
2117  };
2118 
2119  struct response
2120  {
2121  std::string status;
2122  bool update;
2123  std::string version;
2124  std::string user_uri;
2125  std::string auto_uri;
2126  std::string hash;
2127  std::string path;
2128 
2129  BEGIN_KV_SERIALIZE_MAP()
2130  KV_SERIALIZE(status)
2131  KV_SERIALIZE(update)
2132  KV_SERIALIZE(version)
2133  KV_SERIALIZE(user_uri)
2134  KV_SERIALIZE(auto_uri)
2135  KV_SERIALIZE(hash)
2136  KV_SERIALIZE(path)
2137  END_KV_SERIALIZE_MAP()
2138  };
2139  };
2140 
2142  {
2143  struct request
2144  {
2145  std::vector<std::string> txids;
2146 
2147  BEGIN_KV_SERIALIZE_MAP()
2148  KV_SERIALIZE(txids)
2149  END_KV_SERIALIZE_MAP()
2150  };
2151 
2152  struct response
2153  {
2154  std::string status;
2155 
2156  BEGIN_KV_SERIALIZE_MAP()
2157  KV_SERIALIZE(status)
2158  END_KV_SERIALIZE_MAP()
2159  };
2160  };
2161 
2163  {
2164  struct request
2165  {
2166  BEGIN_KV_SERIALIZE_MAP()
2167  END_KV_SERIALIZE_MAP()
2168  };
2169 
2170  struct peer
2171  {
2173 
2174  BEGIN_KV_SERIALIZE_MAP()
2175  KV_SERIALIZE(info)
2176  END_KV_SERIALIZE_MAP()
2177  };
2178 
2179  struct span
2180  {
2182  uint64_t nblocks;
2183  std::string connection_id;
2184  uint32_t rate;
2185  uint32_t speed;
2186  uint64_t size;
2187  std::string remote_address;
2188 
2189  BEGIN_KV_SERIALIZE_MAP()
2190  KV_SERIALIZE(start_block_height)
2191  KV_SERIALIZE(nblocks)
2192  KV_SERIALIZE(connection_id)
2193  KV_SERIALIZE(rate)
2194  KV_SERIALIZE(speed)
2195  KV_SERIALIZE(size)
2196  KV_SERIALIZE(remote_address)
2197  END_KV_SERIALIZE_MAP()
2198  };
2199 
2200  struct response
2201  {
2202  std::string status;
2203  uint64_t height;
2204  uint64_t target_height;
2205  std::list<peer> peers;
2206  std::list<span> spans;
2207 
2208  BEGIN_KV_SERIALIZE_MAP()
2209  KV_SERIALIZE(status)
2210  KV_SERIALIZE(height)
2211  KV_SERIALIZE(target_height)
2212  KV_SERIALIZE(peers)
2213  KV_SERIALIZE(spans)
2214  END_KV_SERIALIZE_MAP()
2215  };
2216  };
2217 
2219  {
2220  struct request
2221  {
2222  std::vector<uint64_t> amounts;
2223  uint64_t from_height;
2224  uint64_t to_height;
2226  bool binary;
2227 
2228  BEGIN_KV_SERIALIZE_MAP()
2229  KV_SERIALIZE(amounts)
2230  KV_SERIALIZE_OPT(from_height, (uint64_t)0)
2231  KV_SERIALIZE_OPT(to_height, (uint64_t)0)
2232  KV_SERIALIZE_OPT(cumulative, false)
2233  KV_SERIALIZE_OPT(binary, true)
2234  END_KV_SERIALIZE_MAP()
2235  };
2236 
2238  {
2239  uint64_t amount;
2240  uint64_t start_height;
2241  bool binary;
2242  std::vector<uint64_t> distribution;
2243  uint64_t base;
2244 
2245  BEGIN_KV_SERIALIZE_MAP()
2246  KV_SERIALIZE(amount)
2247  KV_SERIALIZE(start_height)
2248  KV_SERIALIZE(binary)
2249  if (this_ref.binary)
2250  KV_SERIALIZE_CONTAINER_POD_AS_BLOB(distribution)
2251  else
2252  KV_SERIALIZE(distribution)
2253  KV_SERIALIZE(base)
2254  END_KV_SERIALIZE_MAP()
2255  };
2256 
2257  struct response
2258  {
2259  std::string status;
2260  std::vector<distribution> distributions;
2262 
2263  BEGIN_KV_SERIALIZE_MAP()
2264  KV_SERIALIZE(status)
2265  KV_SERIALIZE(distributions)
2266  KV_SERIALIZE(untrusted)
2267  END_KV_SERIALIZE_MAP()
2268  };
2269  };
2270 
2271 }
Definition: core_rpc_server_commands_defs.h:2108
std::string remote_address
Definition: core_rpc_server_commands_defs.h:2187
Definition: core_rpc_server_commands_defs.h:1272
bool fee_too_low
Definition: core_rpc_server_commands_defs.h:806
std::string hash
Definition: core_rpc_server_commands_defs.h:2126
STATUS
Definition: core_rpc_server_commands_defs.h:628
std::list< chain_info > chains
Definition: core_rpc_server_commands_defs.h:2097
std::vector< uint64_t > request
Definition: core_rpc_server_commands_defs.h:1029
bool untrusted
Definition: core_rpc_server_commands_defs.h:1058
peer(uint64_t id, uint32_t ip, uint16_t port, uint64_t last_seen)
Definition: core_rpc_server_commands_defs.h:1284
uint64_t height
Definition: core_rpc_server_commands_defs.h:66
bool not_relayed
Definition: core_rpc_server_commands_defs.h:799
uint16_t port
Definition: core_rpc_server_commands_defs.h:1276
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:1622
uint64_t cumulative_difficulty
Definition: core_rpc_server_commands_defs.h:883
Definition: core_rpc_server_commands_defs.h:308
bool coinbase
Definition: core_rpc_server_commands_defs.h:251
uint64_t reward
Definition: core_rpc_server_commands_defs.h:1126
Definition: core_rpc_server_commands_defs.h:223
Definition: core_rpc_server_commands_defs.h:1305
Definition: core_rpc_server_commands_defs.h:670
std::string status
Definition: core_rpc_server_commands_defs.h:1607
std::string status
Definition: core_rpc_server_commands_defs.h:1488
int64_t limit_down
Definition: core_rpc_server_commands_defs.h:1724
bool decode_as_json
Definition: core_rpc_server_commands_defs.h:567
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1887
bool active
Definition: core_rpc_server_commands_defs.h:971
Definition: core_rpc_server_commands_defs.h:1709
bool untrusted
Definition: core_rpc_server_commands_defs.h:1257
std::string address
Definition: core_rpc_server_commands_defs.h:974
std::string tx_pub_key
Definition: core_rpc_server_commands_defs.h:312
uint64_t alt_blocks_count
Definition: core_rpc_server_commands_defs.h:872
Definition: core_rpc_server_commands_defs.h:78
std::string status
Definition: core_rpc_server_commands_defs.h:1872
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1211
std::string status
Definition: core_rpc_server_commands_defs.h:673
std::string status
Definition: core_rpc_server_commands_defs.h:549
Definition: core_rpc_server_commands_defs.h:856
uint64_t current_height
Definition: core_rpc_server_commands_defs.h:195
Definition: core_rpc_server_commands_defs.h:210
bool untrusted
Definition: core_rpc_server_commands_defs.h:1696
uint64_t target
Definition: core_rpc_server_commands_defs.h:869
uint64_t start_time
Definition: core_rpc_server_commands_defs.h:888
uint64_t nblocks
Definition: core_rpc_server_commands_defs.h:2182
std::string address
Definition: core_rpc_server_commands_defs.h:502
bool untrusted
Definition: core_rpc_server_commands_defs.h:648
std::string prev_hash
Definition: core_rpc_server_commands_defs.h:1054
bool ignore_battery
Definition: core_rpc_server_commands_defs.h:834
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:184
Definition: core_rpc_server_commands_defs.h:1440
Definition: core_rpc_server_commands_defs.h:1599
std::string reason
Definition: core_rpc_server_commands_defs.h:411
uint32_t num_double_spends
Definition: core_rpc_server_commands_defs.h:1554
std::list< output > outputs
Definition: core_rpc_server_commands_defs.h:408
Definition: core_rpc_server_commands_defs.h:1821
Definition: core_rpc_server_commands_defs.h:353
bool create_account
Definition: core_rpc_server_commands_defs.h:504
std::string as_json
Definition: core_rpc_server_commands_defs.h:581
std::string status
Definition: core_rpc_server_commands_defs.h:1931
std::string status
Definition: core_rpc_server_commands_defs.h:1080
bool invalid_output
Definition: core_rpc_server_commands_defs.h:803
uint64_t reserve_size
Definition: core_rpc_server_commands_defs.h:1039
std::string block_hash
Definition: core_rpc_server_commands_defs.h:2077
uint64_t scanned_block_height
Definition: core_rpc_server_commands_defs.h:333
bool untrusted
Definition: core_rpc_server_commands_defs.h:1445
Definition: core_rpc_server_commands_defs.h:1851
uint8_t version
Definition: core_rpc_server_commands_defs.h:1814
uint64_t amount_of_blocks
Definition: core_rpc_server_commands_defs.h:1092
uint64_t receive_time
Definition: core_rpc_server_commands_defs.h:1394
Definition: core_rpc_server_commands_defs.h:376
std::vector< spent_key_image_info > spent_key_images
Definition: core_rpc_server_commands_defs.h:1444
uint64_t height
Definition: core_rpc_server_commands_defs.h:752
Definition: core_rpc_server_commands_defs.h:2067
std::string address
Definition: core_rpc_server_commands_defs.h:214
Definition: core_rpc_server_commands_defs.h:1236
std::string id_hash
Definition: core_rpc_server_commands_defs.h:1384
std::string dust_threshold
Definition: core_rpc_server_commands_defs.h:363
std::list< spent_output > spent_outputs
Definition: core_rpc_server_commands_defs.h:249
Definition: core_rpc_server_commands_defs.h:1154
Definition: core_rpc_server_commands_defs.h:1977
Definition: core_rpc_server_commands_defs.h:738
std::string status
Definition: core_rpc_server_commands_defs.h:970
bool orphan_status
Definition: core_rpc_server_commands_defs.h:1120
uint32_t num_10m
Definition: core_rpc_server_commands_defs.h:1550
uint64_t amount
Definition: core_rpc_server_commands_defs.h:224
std::list< peer > peers
Definition: core_rpc_server_commands_defs.h:2205
std::string auto_uri
Definition: core_rpc_server_commands_defs.h:2125
std::string tx
Definition: core_rpc_server_commands_defs.h:476
Definition: core_rpc_server_commands_defs.h:1101
uint64_t id
Definition: core_rpc_server_commands_defs.h:242
std::string status
Definition: core_rpc_server_commands_defs.h:1165
Definition: core_rpc_server_commands_defs.h:1509
std::vector< std::string > request
Definition: core_rpc_server_commands_defs.h:1076
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:84
std::string view_key
Definition: core_rpc_server_commands_defs.h:215
std::vector< crypto::hash > tx_hashes
Definition: core_rpc_server_commands_defs.h:1467
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:194
uint64_t total_sent
Definition: core_rpc_server_commands_defs.h:331
Definition: core_rpc_server_commands_defs.h:2015
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1854
std::string reason
Definition: core_rpc_server_commands_defs.h:517
uint64_t index
Definition: core_rpc_server_commands_defs.h:686
bool request_fulfilled
Definition: core_rpc_server_commands_defs.h:547
uint64_t out_index
Definition: core_rpc_server_commands_defs.h:227
uint64_t scanned_height
Definition: core_rpc_server_commands_defs.h:332
Definition: core_rpc_server_commands_defs.h:1359
crypto::public_key key
Definition: core_rpc_server_commands_defs.h:707
uint64_t free_space
Definition: core_rpc_server_commands_defs.h:889
connection_info info
Definition: core_rpc_server_commands_defs.h:2172
uint64_t rpc_connections_count
Definition: core_rpc_server_commands_defs.h:875
std::string status
Definition: core_rpc_server_commands_defs.h:118
uint64_t fee_total
Definition: core_rpc_server_commands_defs.h:1546
Definition: cryptonote_basic.h:349
Definition: core_rpc_server_commands_defs.h:1486
Definition: core_rpc_server_commands_defs.h:1152
Definition: core_rpc_server_commands_defs.h:133
Definition: core_rpc_server_commands_defs.h:2237
uint64_t count
Definition: core_rpc_server_commands_defs.h:1016
bool offline
Definition: core_rpc_server_commands_defs.h:890
uint32_t mixin
Definition: core_rpc_server_commands_defs.h:253
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:1050
bool not_rct
Definition: core_rpc_server_commands_defs.h:807
Definition: core_rpc_server_commands_defs.h:1918
std::string response
Definition: core_rpc_server_commands_defs.h:1031
uint64_t depth
Definition: core_rpc_server_commands_defs.h:1122
Definition: core_rpc_server_commands_defs.h:1794
std::string status
Definition: core_rpc_server_commands_defs.h:2096
Definition: core_rpc_server_commands_defs.h:1920
uint64_t amount
Definition: core_rpc_server_commands_defs.h:310
int64_t limit_up
Definition: core_rpc_server_commands_defs.h:1723
std::string rct
Definition: core_rpc_server_commands_defs.h:381
bool low_mixin
Definition: core_rpc_server_commands_defs.h:800
bool untrusted
Definition: core_rpc_server_commands_defs.h:1981
peer(uint64_t id, const std::string &host, uint64_t last_seen)
Definition: core_rpc_server_commands_defs.h:1281
Definition: core_rpc_server_commands_defs.h:1810
bool too_big
Definition: core_rpc_server_commands_defs.h:804
Definition: core_rpc_server_commands_defs.h:1649
std::vector< int > spent_status
Definition: core_rpc_server_commands_defs.h:646
uint64_t blockchain_height
Definition: core_rpc_server_commands_defs.h:336
Definition: core_rpc_server_commands_defs.h:2257
uint64_t block_timestamp
Definition: core_rpc_server_commands_defs.h:585
bool prune
Definition: core_rpc_server_commands_defs.h:568
Definition: core_rpc_server_commands_defs.h:405
Definition: core_rpc_server_commands_defs.h:722
std::string reason
Definition: core_rpc_server_commands_defs.h:798
Definition: core_rpc_server_commands_defs.h:1999
std::string status
Definition: core_rpc_server_commands_defs.h:1332
std::string status
Definition: core_rpc_server_commands_defs.h:2259
Definition: core_rpc_server_commands_defs.h:113
std::string status
Definition: core_rpc_server_commands_defs.h:1675
Definition: core_rpc_server_commands_defs.h:1321
Definition: core_rpc_server_commands_defs.h:1665
uint64_t height
Definition: core_rpc_server_commands_defs.h:248
bool update
Definition: core_rpc_server_commands_defs.h:2122
Definition: blockchain_ancestry.cpp:70
Definition: core_rpc_server_commands_defs.h:159
Definition: bulletproofs.cc:56
bool untrusted
Definition: core_rpc_server_commands_defs.h:2261
std::string status
Definition: core_rpc_server_commands_defs.h:67
Definition: core_rpc_server_commands_defs.h:2143
Definition: cryptonote_protocol_defs.h:46
uint64_t min_count
Definition: core_rpc_server_commands_defs.h:1944
bool untrusted
Definition: core_rpc_server_commands_defs.h:1832
Definition: core_rpc_server_commands_defs.h:64
uint64_t timestamp
Definition: core_rpc_server_commands_defs.h:1117
Definition: core_rpc_server_commands_defs.h:1800
std::string tx_pub_key
Definition: core_rpc_server_commands_defs.h:383
Definition: core_rpc_server_commands_defs.h:1478
std::string key_image
Definition: core_rpc_server_commands_defs.h:225
std::string status
Definition: core_rpc_server_commands_defs.h:1251
bool untrusted
Definition: core_rpc_server_commands_defs.h:1587
Definition: core_rpc_server_commands_defs.h:1941
std::string status
Definition: core_rpc_server_commands_defs.h:611
Definition: core_rpc_server_commands_defs.h:178
Definition: core_rpc_server_commands_defs.h:999
Definition: core_rpc_server_commands_defs.h:1864
bool invalid_input
Definition: core_rpc_server_commands_defs.h:802
Definition: core_rpc_server_commands_defs.h:626
Definition: daemon_messages.h:129
Definition: core_rpc_server_commands_defs.h:1685
uint64_t mixin
Definition: core_rpc_server_commands_defs.h:361
Definition: core_rpc_server_commands_defs.h:1720
Definition: core_rpc_server_commands_defs.h:2094
uint64_t per_kb_fee
Definition: core_rpc_server_commands_defs.h:409
std::string miner_address
Definition: core_rpc_server_commands_defs.h:831
bool in_pool
Definition: core_rpc_server_commands_defs.h:582
bool unlocked
Definition: core_rpc_server_commands_defs.h:751
uint64_t total_sent
Definition: core_rpc_server_commands_defs.h:246
uint64_t database_size
Definition: core_rpc_server_commands_defs.h:895
bool visible
Definition: core_rpc_server_commands_defs.h:1323
std::string status
Definition: core_rpc_server_commands_defs.h:1910
uint64_t oldest
Definition: core_rpc_server_commands_defs.h:1547
Definition: core_rpc_server_commands_defs.h:1180
uint64_t height
Definition: core_rpc_server_commands_defs.h:866
std::string status
Definition: core_rpc_server_commands_defs.h:1585
uint64_t height
Definition: core_rpc_server_commands_defs.h:2017
uint64_t fee
Definition: core_rpc_server_commands_defs.h:1503
Definition: core_rpc_server_commands_defs.h:2141
bool untrusted
Definition: core_rpc_server_commands_defs.h:1167
Definition: core_rpc_server_commands_defs.h:1884
std::vector< uint64_t > amounts
Definition: core_rpc_server_commands_defs.h:1943
uint64_t height
Definition: core_rpc_server_commands_defs.h:1051
Definition: core_rpc_server_commands_defs.h:960
std::string status
Definition: core_rpc_server_commands_defs.h:1193
Definition: core_rpc_server_commands_defs.h:829
std::string view_key
Definition: core_rpc_server_commands_defs.h:503
uint8_t minor_version
Definition: core_rpc_server_commands_defs.h:1116
Definition: core_rpc_server_commands_defs.h:747
Definition: daemon_messages.h:131
std::string status
Definition: core_rpc_server_commands_defs.h:1784
std::string status
Definition: core_rpc_server_commands_defs.h:846
std::vector< std::string > txs_as_hex
Definition: core_rpc_server_commands_defs.h:603
std::string command
Definition: core_rpc_server_commands_defs.h:2110
Definition: core_rpc_server_commands_defs.h:1339
std::string amount
Definition: core_rpc_server_commands_defs.h:357
std::vector< uint64_t > output_indices
Definition: core_rpc_server_commands_defs.h:586
std::string view_key
Definition: core_rpc_server_commands_defs.h:359
std::string status
Definition: core_rpc_server_commands_defs.h:196
uint64_t speed
Definition: core_rpc_server_commands_defs.h:972
Definition: core_rpc_server_commands_defs.h:1014
uint8_t major_version
Definition: core_rpc_server_commands_defs.h:1115
Definition: core_rpc_server_commands_defs.h:1421
Definition: core_rpc_server_commands_defs.h:1074
Definition: core_rpc_server_commands_defs.h:1939
Definition: core_rpc_server_commands_defs.h:683
std::vector< tx_output_indices > indices
Definition: core_rpc_server_commands_defs.h:106
std::vector< std::string > missed_tx
Definition: core_rpc_server_commands_defs.h:607
std::list< std::string > request
Definition: core_rpc_server_commands_defs.h:1012
uint32_t ip
Definition: core_rpc_server_commands_defs.h:1275
uint64_t limit_down
Definition: core_rpc_server_commands_defs.h:1695
Definition: core_rpc_server_commands_defs.h:844
bool untrusted
Definition: core_rpc_server_commands_defs.h:808
uint64_t fee_amount
Definition: core_rpc_server_commands_defs.h:2030
uint64_t bytes
Definition: core_rpc_server_commands_defs.h:1532
Definition: core_rpc_server_commands_defs.h:2164
std::string payment_id
Definition: core_rpc_server_commands_defs.h:544
Definition: core_rpc_server_commands_defs.h:135
Definition: core_rpc_server_commands_defs.h:459
Definition: core_rpc_server_commands_defs.h:470
Definition: core_rpc_server_commands_defs.h:1027
Definition: daemon_messages.h:130
std::string json
Definition: core_rpc_server_commands_defs.h:1256
crypto::hash txid
Definition: core_rpc_server_commands_defs.h:711
uint64_t amount
Definition: core_rpc_server_commands_defs.h:377
Definition: core_rpc_server_commands_defs.h:1090
std::string status
Definition: core_rpc_server_commands_defs.h:1352
uint64_t height
Definition: core_rpc_server_commands_defs.h:1239
bool untrusted
Definition: core_rpc_server_commands_defs.h:2003
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1252
bool cumulative
Definition: core_rpc_server_commands_defs.h:2225
uint64_t fee
Definition: core_rpc_server_commands_defs.h:2054
Definition: core_rpc_server_commands_defs.h:1163
std::vector< std::string > txids
Definition: core_rpc_server_commands_defs.h:1922
uint64_t max_used_block_height
Definition: core_rpc_server_commands_defs.h:1390
std::vector< entry > txs
Definition: core_rpc_server_commands_defs.h:610
std::string hash
Definition: core_rpc_server_commands_defs.h:1182
rct::key mask
Definition: core_rpc_server_commands_defs.h:708
std::string payment_id
Definition: core_rpc_server_commands_defs.h:250
bool ban
Definition: core_rpc_server_commands_defs.h:1888
Definition: core_rpc_server_commands_defs.h:1529
std::vector< tx_backlog_entry > backlog
Definition: core_rpc_server_commands_defs.h:1518
std::vector< std::string > txids
Definition: core_rpc_server_commands_defs.h:2145
uint64_t last_failed_height
Definition: core_rpc_server_commands_defs.h:1392
std::string status
Definition: core_rpc_server_commands_defs.h:725
Definition: core_rpc_server_commands_defs.h:1507
Definition: core_rpc_server_commands_defs.h:1515
Definition: core_rpc_server_commands_defs.h:2042
bool untrusted
Definition: core_rpc_server_commands_defs.h:1637
crypto::hash txid
Definition: core_rpc_server_commands_defs.h:663
uint64_t unlocked_instances
Definition: core_rpc_server_commands_defs.h:1962
std::vector< uint64_t > amounts
Definition: core_rpc_server_commands_defs.h:2222
uint64_t global_index
Definition: core_rpc_server_commands_defs.h:439
Definition: core_rpc_server_commands_defs.h:542
uint32_t version
Definition: core_rpc_server_commands_defs.h:2002
std::string view_key
Definition: core_rpc_server_commands_defs.h:475
Definition: core_rpc_server_commands_defs.h:449
std::string tx_hash
Definition: core_rpc_server_commands_defs.h:579
Holds cryptonote related classes and helpers.
Definition: db_bdb.cpp:224
std::string status
Definition: core_rpc_server_commands_defs.h:647
uint64_t block_size
Definition: core_rpc_server_commands_defs.h:1127
uint64_t total_instances
Definition: core_rpc_server_commands_defs.h:1961
uint64_t incoming_connections_count
Definition: core_rpc_server_commands_defs.h:874
Definition: core_rpc_server_commands_defs.h:1776
Definition: core_rpc_server_commands_defs.h:958
Definition: core_rpc_server_commands_defs.h:1958
std::string connection_id
Definition: core_rpc_server_commands_defs.h:2183
Definition: core_rpc_server_commands_defs.h:2119
static __thread int depth
Definition: threadpool.cpp:38
uint64_t total_received
Definition: core_rpc_server_commands_defs.h:245
std::string status
Definition: core_rpc_server_commands_defs.h:410
uint64_t recent_cutoff
Definition: core_rpc_server_commands_defs.h:1947
bool prune
Definition: core_rpc_server_commands_defs.h:85
uint32_t seconds
Definition: core_rpc_server_commands_defs.h:1889
std::string status
Definition: core_rpc_server_commands_defs.h:1442
Definition: core_rpc_server_commands_defs.h:272
Definition: core_rpc_server_commands_defs.h:1330
std::vector< txpool_histo > histo
Definition: core_rpc_server_commands_defs.h:1553
Definition: core_rpc_server_commands_defs.h:423
uint32_t num_failing
Definition: core_rpc_server_commands_defs.h:1549
Definition: core_rpc_server_commands_defs.h:694
Definition: core_rpc_server_commands_defs.h:577
std::vector< transaction > transactions
Definition: core_rpc_server_commands_defs.h:278
std::string top_block_hash
Definition: core_rpc_server_commands_defs.h:882
uint64_t out_index
Definition: core_rpc_server_commands_defs.h:313
std::string status
Definition: core_rpc_server_commands_defs.h:1831
Definition: core_rpc_server_commands_defs.h:297
uint64_t bytes_total
Definition: core_rpc_server_commands_defs.h:1542
std::string rct
Definition: core_rpc_server_commands_defs.h:440
std::string status
Definition: core_rpc_server_commands_defs.h:1517
std::string status
Definition: core_rpc_server_commands_defs.h:488
bool untrusted
Definition: core_rpc_server_commands_defs.h:169
std::string miner_tx_hash
Definition: core_rpc_server_commands_defs.h:1253
int64_t limit_up
Definition: core_rpc_server_commands_defs.h:1712
std::string payment_address
Definition: core_rpc_server_commands_defs.h:548
std::vector< uint64_t > o_indexes
Definition: core_rpc_server_commands_defs.h:672
bool stagenet
Definition: core_rpc_server_commands_defs.h:880
Definition: core_rpc_server_commands_defs.h:1991
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:2080
uint64_t block_height
Definition: core_rpc_server_commands_defs.h:584
bool untrusted
Definition: core_rpc_server_commands_defs.h:1468
Definition: core_rpc_server_commands_defs.h:2026
Definition: core_rpc_server_commands_defs.h:2162
uint64_t weight
Definition: core_rpc_server_commands_defs.h:1387
uint32_t txs
Definition: core_rpc_server_commands_defs.h:1531
Definition: core_rpc_server_commands_defs.h:1744
uint64_t end_height
Definition: core_rpc_server_commands_defs.h:1623
uint32_t bytes_min
Definition: core_rpc_server_commands_defs.h:1543
bool double_spend_seen
Definition: core_rpc_server_commands_defs.h:1398
bool mainnet
Definition: core_rpc_server_commands_defs.h:878
uint64_t block_size_limit
Definition: core_rpc_server_commands_defs.h:884
bool untrusted
Definition: core_rpc_server_commands_defs.h:1195
Definition: core_rpc_server_commands_defs.h:1350
std::string address
Definition: core_rpc_server_commands_defs.h:358
std::vector< outkey > outs
Definition: core_rpc_server_commands_defs.h:766
uint64_t blob_size
Definition: core_rpc_server_commands_defs.h:1386
Definition: core_rpc_server_commands_defs.h:827
Definition: core_rpc_server_commands_defs.h:165
uint64_t total_received
Definition: core_rpc_server_commands_defs.h:330
Definition: core_rpc_server_commands_defs.h:1370
bool binary
Definition: core_rpc_server_commands_defs.h:2226
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1194
uint8_t version
Definition: core_rpc_server_commands_defs.h:1823
std::string error
Definition: core_rpc_server_commands_defs.h:489
bool double_spend
Definition: core_rpc_server_commands_defs.h:801
std::vector< peer > white_list
Definition: core_rpc_server_commands_defs.h:1308
bool unlocked
Definition: core_rpc_server_commands_defs.h:709
std::string status
Definition: core_rpc_server_commands_defs.h:1307
bool untrusted
Definition: core_rpc_server_commands_defs.h:768
std::string nettype
Definition: core_rpc_server_commands_defs.h:881
std::string blob
Definition: core_rpc_server_commands_defs.h:1255
bool do_background_mining
Definition: core_rpc_server_commands_defs.h:833
std::vector< std::string > amounts
Definition: core_rpc_server_commands_defs.h:427
Definition: core_rpc_server_commands_defs.h:1319
uint64_t threads_count
Definition: core_rpc_server_commands_defs.h:832
bool overspend
Definition: core_rpc_server_commands_defs.h:805
std::string status
Definition: core_rpc_server_commands_defs.h:1466
Definition: core_rpc_server_commands_defs.h:1206
Definition: core_rpc_server_commands_defs.h:1691
std::vector< std::string > block_hashes
Definition: core_rpc_server_commands_defs.h:2081
uint64_t histo_98pc
Definition: core_rpc_server_commands_defs.h:1552
difficulty_type cumulative_difficulty
Definition: core_rpc_server_commands_defs.h:1125
std::list< span > spans
Definition: core_rpc_server_commands_defs.h:2206
std::string status
Definition: core_rpc_server_commands_defs.h:168
uint64_t amount
Definition: core_rpc_server_commands_defs.h:2239
uint32_t count
Definition: core_rpc_server_commands_defs.h:428
std::vector< block_complete_entry > blocks
Definition: core_rpc_server_commands_defs.h:145
Definition: core_rpc_server_commands_defs.h:1774
bool untrusted
Definition: core_rpc_server_commands_defs.h:68
std::vector< distribution > distributions
Definition: core_rpc_server_commands_defs.h:2260
std::vector< tx_info > transactions
Definition: core_rpc_server_commands_defs.h:1443
std::vector< std::string > txs_hashes
Definition: core_rpc_server_commands_defs.h:1424
Definition: core_rpc_server_commands_defs.h:295
Definition: rctTypes.h:78
Definition: core_rpc_server_commands_defs.h:2170
bool enabled
Definition: core_rpc_server_commands_defs.h:1824
Definition: core_rpc_server_commands_defs.h:1208
Definition: core_rpc_server_commands_defs.h:81
std::string status
Definition: core_rpc_server_commands_defs.h:2001
Definition: core_rpc_server_commands_defs.h:1597
uint32_t mixin
Definition: core_rpc_server_commands_defs.h:314
Definition: core_rpc_server_commands_defs.h:1432
Definition: core_rpc_server_commands_defs.h:1782
uint32_t threads_count
Definition: core_rpc_server_commands_defs.h:973
blobdata blocktemplate_blob
Definition: core_rpc_server_commands_defs.h:1055
std::string status
Definition: core_rpc_server_commands_defs.h:1693
uint64_t height
Definition: core_rpc_server_commands_defs.h:1103
Definition: core_rpc_server_commands_defs.h:1707
uint64_t from_height
Definition: core_rpc_server_commands_defs.h:2223
uint64_t amount
Definition: core_rpc_server_commands_defs.h:407
Definition: core_rpc_server_commands_defs.h:1929
std::vector< block_header_response > headers
Definition: core_rpc_server_commands_defs.h:1636
uint64_t difficulty
Definition: core_rpc_server_commands_defs.h:868
std::string public_key
Definition: core_rpc_server_commands_defs.h:378
uint64_t scanned_block_height
Definition: core_rpc_server_commands_defs.h:280
Definition: core_rpc_server_commands_defs.h:1647
uint64_t total_received
Definition: core_rpc_server_commands_defs.h:275
Definition: core_rpc_server_commands_defs.h:1249
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1624
std::string hash
Definition: core_rpc_server_commands_defs.h:243
Definition: core_rpc_server_commands_defs.h:989
Definition: core_rpc_server_commands_defs.h:705
std::vector< peer > gray_list
Definition: core_rpc_server_commands_defs.h:1309
std::string status
Definition: core_rpc_server_commands_defs.h:1979
Definition: core_rpc_server_commands_defs.h:659
Definition: core_rpc_server_commands_defs.h:212
#define false
Definition: stdbool.h:37
uint64_t blockchain_height
Definition: core_rpc_server_commands_defs.h:279
uint64_t in_peers
Definition: core_rpc_server_commands_defs.h:1758
Definition: core_rpc_server_commands_defs.h:95
bool untrusted
Definition: core_rpc_server_commands_defs.h:120
Definition: core_rpc_server_commands_defs.h:644
Definition: core_rpc_server_commands_defs.h:1178
std::string status
Definition: core_rpc_server_commands_defs.h:797
Definition: core_rpc_server_commands_defs.h:2218
std::string status
Definition: core_rpc_server_commands_defs.h:1766
std::string mask
Definition: core_rpc_server_commands_defs.h:750
std::string Error
Definition: core_rpc_server_commands_defs.h:462
Definition: core_rpc_server_commands_defs.h:991
std::string status
Definition: core_rpc_server_commands_defs.h:516
Definition: core_rpc_server_commands_defs.h:1010
uint64_t recent_instances
Definition: core_rpc_server_commands_defs.h:1963
uint64_t earliest_height
Definition: core_rpc_server_commands_defs.h:1830
std::vector< std::string > spend_key_images
Definition: core_rpc_server_commands_defs.h:385
Definition: core_rpc_server_commands_defs.h:600
Definition: core_rpc_server_commands_defs.h:1035
bool double_spend_seen
Definition: core_rpc_server_commands_defs.h:583
Definition: core_rpc_server_commands_defs.h:191
uint64_t timestamp
Definition: core_rpc_server_commands_defs.h:386
Definition: core_rpc_server_commands_defs.h:530
uint32_t votes
Definition: core_rpc_server_commands_defs.h:1826
bool untrusted
Definition: core_rpc_server_commands_defs.h:726
std::string wallet_address
Definition: core_rpc_server_commands_defs.h:1093
POD_CLASS public_key
Definition: crypto.h:63
uint64_t block_size_median
Definition: core_rpc_server_commands_defs.h:886
std::string hash
Definition: core_rpc_server_commands_defs.h:1123
Definition: core_rpc_server_commands_defs.h:1299
uint64_t start_block_height
Definition: core_rpc_server_commands_defs.h:2181
Definition: core_rpc_server_commands_defs.h:1458
Definition: core_rpc_server_commands_defs.h:157
std::string status
Definition: core_rpc_server_commands_defs.h:2028
std::string user_uri
Definition: core_rpc_server_commands_defs.h:2124
int8_t level
Definition: core_rpc_server_commands_defs.h:1343
Definition: core_rpc_server_commands_defs.h:1297
std::string max_used_block_id_hash
Definition: core_rpc_server_commands_defs.h:1389
std::vector< get_outputs_out > outputs
Definition: core_rpc_server_commands_defs.h:740
bool update_available
Definition: core_rpc_server_commands_defs.h:896
std::vector< std::string > tx_hashes
Definition: core_rpc_server_commands_defs.h:1489
std::string status
Definition: core_rpc_server_commands_defs.h:146
std::vector< std::string > blks_hashes
Definition: core_rpc_server_commands_defs.h:167
std::vector< output > outputs
Definition: core_rpc_server_commands_defs.h:451
std::string address
Definition: core_rpc_server_commands_defs.h:474
uint64_t height
Definition: core_rpc_server_commands_defs.h:2203
Definition: core_rpc_server_commands_defs.h:327
uint64_t unlock_time
Definition: core_rpc_server_commands_defs.h:247
uint64_t outgoing_connections_count
Definition: core_rpc_server_commands_defs.h:873
uint64_t amount
Definition: core_rpc_server_commands_defs.h:450
bool untrusted
Definition: core_rpc_server_commands_defs.h:1223
Definition: core_rpc_server_commands_defs.h:564
std::vector< ban > bans
Definition: core_rpc_server_commands_defs.h:1873
std::string status
Definition: core_rpc_server_commands_defs.h:1017
std::vector< uint64_t > heights
Definition: core_rpc_server_commands_defs.h:137
std::vector< std::string > key_images
Definition: core_rpc_server_commands_defs.h:636
Definition: core_rpc_server_commands_defs.h:1037
uint8_t version
Definition: blockchain.cpp:87
Definition: core_rpc_server_commands_defs.h:937
bool untrusted
Definition: core_rpc_server_commands_defs.h:1490
uint64_t height
Definition: core_rpc_server_commands_defs.h:387
uint64_t out_peers
Definition: core_rpc_server_commands_defs.h:1738
std::list< connection_info > connections
Definition: core_rpc_server_commands_defs.h:1608
Definition: core_rpc_server_commands_defs.h:1575
std::string blobdata
Definition: blobdatatype.h:35
Definition: core_rpc_server_commands_defs.h:355
uint64_t count
Definition: core_rpc_server_commands_defs.h:2018
Definition: core_rpc_server_commands_defs.h:1908
Definition: core_rpc_server_commands_defs.h:240
std::vector< std::string > tx_hashes
Definition: core_rpc_server_commands_defs.h:1254
Definition: core_rpc_server_commands_defs.h:1234
CXA_THROW_INFO_T * info
Definition: stack_trace.cpp:90
uint32_t nonce
Definition: core_rpc_server_commands_defs.h:1119
std::list< crypto::hash > block_ids
Definition: core_rpc_server_commands_defs.h:83
std::string id_hash
Definition: core_rpc_server_commands_defs.h:1423
Definition: base.py:1
Definition: core_rpc_server_commands_defs.h:2051
#define blocks
Definition: sha512-hash.c:11
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:116
Definition: core_rpc_server_commands_defs.h:1605
uint64_t weight
Definition: core_rpc_server_commands_defs.h:1502
std::string status
Definition: core_rpc_server_commands_defs.h:767
uint64_t block_weight_median
Definition: core_rpc_server_commands_defs.h:887
std::string path
Definition: core_rpc_server_commands_defs.h:2111
Definition: core_rpc_server_commands_defs.h:1540
uint64_t emission_amount
Definition: core_rpc_server_commands_defs.h:2029
bool no_miner_tx
Definition: core_rpc_server_commands_defs.h:86
Definition: core_rpc_server_commands_defs.h:696
Definition: core_rpc_server_commands_defs.h:795
std::string status
Definition: core_rpc_server_commands_defs.h:865
std::string status
Definition: core_rpc_server_commands_defs.h:281
std::string public_key
Definition: core_rpc_server_commands_defs.h:438
uint32_t seconds
Definition: core_rpc_server_commands_defs.h:1855
Definition: core_rpc_server_commands_defs.h:1088
std::vector< block_output_indices > output_indices
Definition: core_rpc_server_commands_defs.h:119
uint64_t size
Definition: core_rpc_server_commands_defs.h:2186
std::string path
Definition: core_rpc_server_commands_defs.h:2127
Definition: core_rpc_server_commands_defs.h:1382
Definition: core_rpc_server_commands_defs.h:1078
uint64_t white_peerlist_size
Definition: core_rpc_server_commands_defs.h:876
std::string address
Definition: core_rpc_server_commands_defs.h:299
Definition: core_rpc_server_commands_defs.h:1756
std::string status
Definition: core_rpc_server_commands_defs.h:949
Definition: core_rpc_server_commands_defs.h:425
Definition: core_rpc_server_commands_defs.h:2200
Definition: core_rpc_server_commands_defs.h:634
std::string host
Definition: core_rpc_server_commands_defs.h:1886
Definition: core_rpc_server_commands_defs.h:514
entry()
Definition: core_rpc_server_commands_defs.h:1974
Definition: core_rpc_server_commands_defs.h:181
Definition: core_rpc_server_commands_defs.h:1754
Definition: core_rpc_server_commands_defs.h:2152
uint64_t height_without_bootstrap
Definition: core_rpc_server_commands_defs.h:893
std::uint64_t difficulty_type
Definition: difficulty.h:40
std::string main_chain_parent_block
Definition: core_rpc_server_commands_defs.h:2082
std::vector< std::string > txs_as_json
Definition: core_rpc_server_commands_defs.h:604
uint64_t id
Definition: core_rpc_server_commands_defs.h:1273
uint64_t block_weight
Definition: core_rpc_server_commands_defs.h:1128
Definition: core_rpc_server_commands_defs.h:1361
std::vector< uint64_t > indices
Definition: core_rpc_server_commands_defs.h:97
Definition: blake256.h:36
Definition: core_rpc_server_commands_defs.h:854
Definition: core_rpc_server_commands_defs.h:1583
uint32_t speed
Definition: core_rpc_server_commands_defs.h:2185
POD_CLASS key_image
Definition: crypto.h:89
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1156
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1240
uint64_t tx_count
Definition: core_rpc_server_commands_defs.h:870
Definition: core_rpc_server_commands_defs.h:56
std::string key
Definition: core_rpc_server_commands_defs.h:749
std::string key_image
Definition: core_rpc_server_commands_defs.h:311
Definition: core_rpc_server_commands_defs.h:1849
Definition: core_rpc_server_commands_defs.h:472
uint64_t grace_blocks
Definition: core_rpc_server_commands_defs.h:2044
bool binary
Definition: core_rpc_server_commands_defs.h:2241
bool untrusted
Definition: core_rpc_server_commands_defs.h:1519
uint64_t to_height
Definition: core_rpc_server_commands_defs.h:2224
bool untrusted
Definition: core_rpc_server_commands_defs.h:197
bool was_bootstrap_ever_used
Definition: core_rpc_server_commands_defs.h:894
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:2240
Definition: core_rpc_server_commands_defs.h:2069
bool untrusted
Definition: core_rpc_server_commands_defs.h:674
Definition: core_rpc_server_commands_defs.h:1736
Definition: core_rpc_server_commands_defs.h:562
Definition: core_rpc_server_commands_defs.h:1792
std::string view_key
Definition: core_rpc_server_commands_defs.h:533
std::string address
Definition: core_rpc_server_commands_defs.h:532
int64_t limit_down
Definition: core_rpc_server_commands_defs.h:1711
std::string tx_as_hex
Definition: core_rpc_server_commands_defs.h:782
bool new_address
Definition: core_rpc_server_commands_defs.h:518
std::string status
Definition: core_rpc_server_commands_defs.h:1746
Definition: core_rpc_server_commands_defs.h:528
std::string pow_hash
Definition: core_rpc_server_commands_defs.h:1130
uint64_t last_seen
Definition: core_rpc_server_commands_defs.h:1277
uint64_t base
Definition: core_rpc_server_commands_defs.h:2243
Definition: core_rpc_server_commands_defs.h:968
Definition: core_rpc_server_commands_defs.h:1048
Definition: core_rpc_server_commands_defs.h:143
uint8_t voting
Definition: core_rpc_server_commands_defs.h:1828
Definition: core_rpc_server_commands_defs.h:1734
uint64_t num_txes
Definition: core_rpc_server_commands_defs.h:1129
Definition: core_rpc_server_commands_defs.h:2220
Definition: core_rpc_server_commands_defs.h:1434
uint64_t transaction_height
Definition: core_rpc_server_commands_defs.h:335
std::string txid
Definition: core_rpc_server_commands_defs.h:753
bool untrusted
Definition: core_rpc_server_commands_defs.h:891
uint64_t grey_peerlist_size
Definition: core_rpc_server_commands_defs.h:877
bool fill_pow_hash
Definition: core_rpc_server_commands_defs.h:1183
Definition: core_rpc_server_commands_defs.h:764
Definition: core_rpc_server_commands_defs.h:2075
std::string status
Definition: core_rpc_server_commands_defs.h:1001
std::vector< block_complete_entry > blocks
Definition: core_rpc_server_commands_defs.h:115
uint64_t current_height
Definition: core_rpc_server_commands_defs.h:117
Definition: core_rpc_server_commands_defs.h:778
std::string status
Definition: core_rpc_server_commands_defs.h:1657
Definition: core_rpc_server_commands_defs.h:1882
std::vector< outkey > outs
Definition: core_rpc_server_commands_defs.h:724
Definition: core_rpc_server_commands_defs.h:1577
std::string status
Definition: core_rpc_server_commands_defs.h:2053
Definition: core_rpc_server_commands_defs.h:1618
Definition: core_rpc_server_commands_defs.h:2013
Definition: core_rpc_server_commands_defs.h:939
std::string bootstrap_daemon_address
Definition: core_rpc_server_commands_defs.h:892
std::string status
Definition: core_rpc_server_commands_defs.h:1057
Definition: core_rpc_server_commands_defs.h:1667
uint64_t limit_up
Definition: core_rpc_server_commands_defs.h:1694
std::string status
Definition: core_rpc_server_commands_defs.h:2154
std::string tx_hash
Definition: core_rpc_server_commands_defs.h:382
bool do_not_relay
Definition: core_rpc_server_commands_defs.h:783
uint64_t time_in_pool
Definition: core_rpc_server_commands_defs.h:1504
std::vector< ban > bans
Definition: core_rpc_server_commands_defs.h:1901
uint64_t scanned_height
Definition: core_rpc_server_commands_defs.h:277
Definition: core_rpc_server_commands_defs.h:1655
uint64_t target_height
Definition: core_rpc_server_commands_defs.h:867
Definition: core_rpc_server_commands_defs.h:1620
std::string host
Definition: core_rpc_server_commands_defs.h:1274
uint64_t global_index
Definition: core_rpc_server_commands_defs.h:380
uint64_t length
Definition: core_rpc_server_commands_defs.h:2079
std::string tx_pub_key
Definition: core_rpc_server_commands_defs.h:226
bool untrusted
Definition: core_rpc_server_commands_defs.h:612
std::string status
Definition: core_rpc_server_commands_defs.h:1221
POD_CLASS hash
Definition: hash.h:49
uint32_t rate
Definition: core_rpc_server_commands_defs.h:2184
std::string status
Definition: core_rpc_server_commands_defs.h:1722
std::vector< uint64_t > distribution
Definition: core_rpc_server_commands_defs.h:2242
difficulty_type difficulty
Definition: core_rpc_server_commands_defs.h:1124
uint64_t locked_funds
Definition: core_rpc_server_commands_defs.h:329
std::string categories
Definition: core_rpc_server_commands_defs.h:1363
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1222
Definition: core_rpc_server_commands_defs.h:661
Definition: core_rpc_server_commands_defs.h:1500
uint64_t target_height
Definition: core_rpc_server_commands_defs.h:2204
bool unlocked
Definition: core_rpc_server_commands_defs.h:1946
Definition: core_rpc_server_commands_defs.h:736
Definition: core_rpc_server_commands_defs.h:2179
bool do_not_relay
Definition: core_rpc_server_commands_defs.h:1397
std::string prev_hash
Definition: core_rpc_server_commands_defs.h:1118
Definition: core_rpc_server_commands_defs.h:1899
Definition: core_rpc_server_commands_defs.h:1191
Definition: core_rpc_server_commands_defs.h:1113
std::string status
Definition: core_rpc_server_commands_defs.h:2202
std::vector< amount_out > amount_outs
Definition: core_rpc_server_commands_defs.h:461
uint64_t height
Definition: core_rpc_server_commands_defs.h:2078
Definition: core_rpc_server_commands_defs.h:1464
std::string wallet_address
Definition: core_rpc_server_commands_defs.h:1040
std::list< crypto::hash > block_ids
Definition: core_rpc_server_commands_defs.h:183
Definition: core_rpc_server_commands_defs.h:1456
Definition: core_rpc_server_commands_defs.h:498
std::string tx_json
Definition: core_rpc_server_commands_defs.h:1385
block_header_response block_header
Definition: core_rpc_server_commands_defs.h:1166
bool testnet
Definition: core_rpc_server_commands_defs.h:879
std::string hash
Definition: core_rpc_server_commands_defs.h:1238
Definition: core_rpc_server_commands_defs.h:2040
std::string host
Definition: core_rpc_server_commands_defs.h:1853
uint64_t quantization_mask
Definition: core_rpc_server_commands_defs.h:2055
Definition: core_rpc_server_commands_defs.h:486
uint32_t txs_total
Definition: core_rpc_server_commands_defs.h:1548
txpool_stats pool_stats
Definition: core_rpc_server_commands_defs.h:1586
Definition: core_rpc_server_commands_defs.h:1812
bool new_request
Definition: core_rpc_server_commands_defs.h:546
Definition: core_rpc_server_commands_defs.h:500
std::string as_hex
Definition: core_rpc_server_commands_defs.h:580
Definition: core_rpc_server_commands_defs.h:437
Definition: core_rpc_server_commands_defs.h:1764
uint64_t height
Definition: core_rpc_server_commands_defs.h:1210
std::vector< entry > histogram
Definition: core_rpc_server_commands_defs.h:1980
uint64_t max_count
Definition: core_rpc_server_commands_defs.h:1945
bool kept_by_block
Definition: core_rpc_server_commands_defs.h:1391
std::string categories
Definition: core_rpc_server_commands_defs.h:1373
Definition: core_rpc_server_commands_defs.h:104
request()
Definition: core_rpc_server_commands_defs.h:785
Definition: core_rpc_server_commands_defs.h:1683
uint64_t reserved_offset
Definition: core_rpc_server_commands_defs.h:1052
uint64_t amount
Definition: core_rpc_server_commands_defs.h:685
Definition: core_rpc_server_commands_defs.h:1673
uint64_t index
Definition: core_rpc_server_commands_defs.h:379
std::string tx_blob
Definition: core_rpc_server_commands_defs.h:1399
std::string status
Definition: core_rpc_server_commands_defs.h:2121
std::string status
Definition: core_rpc_server_commands_defs.h:1104
std::vector< get_outputs_out > outputs
Definition: core_rpc_server_commands_defs.h:698
uint64_t fee
Definition: core_rpc_server_commands_defs.h:1388
std::string status
Definition: core_rpc_server_commands_defs.h:1372
std::list< spent_output > spent_outputs
Definition: core_rpc_server_commands_defs.h:337
std::string tx_prefix_hash
Definition: core_rpc_server_commands_defs.h:384
uint64_t tx_pool_size
Definition: core_rpc_server_commands_defs.h:871
Definition: core_rpc_server_commands_defs.h:2106
bool relayed
Definition: core_rpc_server_commands_defs.h:1395
Definition: core_rpc_server_commands_defs.h:1993
uint32_t num_not_relayed
Definition: core_rpc_server_commands_defs.h:1551
Definition: core_rpc_server_commands_defs.h:1633
std::vector< crypto::hash > m_block_ids
Definition: core_rpc_server_commands_defs.h:193
blobdata blockhashing_blob
Definition: core_rpc_server_commands_defs.h:1056
bool is_background_mining_enabled
Definition: core_rpc_server_commands_defs.h:975
Definition: core_rpc_server_commands_defs.h:1480
Definition: cryptonote_basic.h:182
#define true
Definition: stdbool.h:36
std::string version
Definition: core_rpc_server_commands_defs.h:2123
uint32_t state
Definition: core_rpc_server_commands_defs.h:1829
std::string view_key
Definition: core_rpc_server_commands_defs.h:300
Definition: core_rpc_server_commands_defs.h:1219
std::string last_failed_id_hash
Definition: core_rpc_server_commands_defs.h:1393
Definition: core_rpc_server_commands_defs.h:947
uint32_t bytes_med
Definition: core_rpc_server_commands_defs.h:1545
uint64_t last_relayed_time
Definition: core_rpc_server_commands_defs.h:1396
bool use_dust
Definition: core_rpc_server_commands_defs.h:362
uint32_t mixin
Definition: core_rpc_server_commands_defs.h:228
uint64_t start_height
Definition: core_rpc_server_commands_defs.h:334
uint64_t height
Definition: core_rpc_server_commands_defs.h:710
bool untrusted
Definition: core_rpc_server_commands_defs.h:147
uint64_t height
Definition: core_rpc_server_commands_defs.h:1121
uint32_t window
Definition: core_rpc_server_commands_defs.h:1825
Definition: core_rpc_server_commands_defs.h:780
uint64_t expected_reward
Definition: core_rpc_server_commands_defs.h:1053
std::string status
Definition: core_rpc_server_commands_defs.h:1802
Definition: core_rpc_server_commands_defs.h:1870
Definition: core_rpc_server_commands_defs.h:1341
std::string status
Definition: core_rpc_server_commands_defs.h:1635
txpool_stats()
Definition: core_rpc_server_commands_defs.h:1556
uint64_t block_weight_limit
Definition: core_rpc_server_commands_defs.h:885
bool mempool
Definition: core_rpc_server_commands_defs.h:252
uint64_t timestamp
Definition: core_rpc_server_commands_defs.h:244
uint64_t import_fee
Definition: core_rpc_server_commands_defs.h:545
Definition: core_rpc_server_commands_defs.h:863
std::vector< std::string > txs_hashes
Definition: core_rpc_server_commands_defs.h:566
uint64_t amount
Definition: core_rpc_server_commands_defs.h:1960
Definition: core_rpc_server_commands_defs.h:58
bool untrusted
Definition: core_rpc_server_commands_defs.h:2056
uint32_t threshold
Definition: core_rpc_server_commands_defs.h:1827
uint8_t threshold
Definition: blockchain.cpp:89
uint32_t bytes_max
Definition: core_rpc_server_commands_defs.h:1544