19#include <test/jtx/utility.h>
20#include <xrpld/net/RPCCall.h>
21#include <xrpld/rpc/detail/RPCHelpers.h>
22#include <xrpl/beast/unit_test.h>
23#include <xrpl/json/json_reader.h>
24#include <xrpl/protocol/ErrorCodes.h>
26#include <boost/algorithm/string.hpp>
50 char const* description_,
64 char const* description_,
89 {
"account_channels: minimal.",
91 {
"account_channels",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
94 "method" : "account_channels",
97 "api_version" : %API_VER%,
98 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
102 {"account_channels: account and ledger hash.",
105 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
106 "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"},
109 "method" : "account_channels",
112 "api_version" : %API_VER%,
113 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
114 "destination_account" : "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"
118 {"account_channels: account and ledger index.",
121 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
122 "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"},
125 "method" : "account_channels",
128 "api_version" : %API_VER%,
129 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
130 "destination_account" : "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"
134 {"account_channels: two accounts.",
137 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
138 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
141 "method" : "account_channels",
144 "api_version" : %API_VER%,
145 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
146 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
150 {"account_channels: two accounts and ledger hash.",
153 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
154 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
155 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
158 "method" : "account_channels",
161 "api_version" : %API_VER%,
162 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
163 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
164 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
168 {"account_channels: two accounts and ledger index.",
171 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
172 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
176 "method" : "account_channels",
179 "api_version" : %API_VER%,
180 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
181 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
182 "ledger_index" : 90210
186 {"account_channels: too few arguments.",
193 "method" : "account_channels",
196 "error" : "badSyntax",
198 "error_message" : "Syntax error."
202 {"account_channels: too many arguments.",
205 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
206 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
211 "method" : "account_channels",
214 "error" : "badSyntax",
216 "error_message" : "Syntax error."
220 {"account_channels: invalid accountID.",
228 "method" : "account_channels",
231 "error" : "actMalformed",
233 "error_message" : "Account malformed."
240 {
"account_currencies: minimal 1.",
242 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
245 "method" : "account_currencies",
248 "api_version" : %API_VER%,
249 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
253 {"account_currencies: minimal 2.",
255 {
"account_currencies",
"racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"},
258 "method" : "account_currencies",
261 "api_version" : %API_VER%,
262 "account" : "racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"
266 {"account_currencies: ledger index.",
268 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"42"},
271 "method" : "account_currencies",
274 "api_version" : %API_VER%,
275 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
280 {"account_currencies: validated ledger.",
282 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
285 "method" : "account_currencies",
288 "api_version" : %API_VER%,
289 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
290 "ledger_index" : "validated"
294 {"account_currencies: current ledger.",
296 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"current"},
299 "method" : "account_currencies",
302 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
303 "api_version" : %API_VER%,
304 "ledger_index" : "current"
308 {"account_currencies: too few arguments.",
311 "account_currencies",
315 "method" : "account_currencies",
318 "error" : "badSyntax",
320 "error_message" : "Syntax error."
324 {"account_currencies: too many arguments.",
326 {
"account_currencies",
327 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
333 "method" : "account_currencies",
336 "error" : "badSyntax",
338 "error_message" : "Syntax error."
342 {"account_currencies: invalid second argument.",
344 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"yup"},
347 "method" : "account_currencies",
350 "api_version" : %API_VER%,
351 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
357 "account_currencies: invalid accountID.",
360 "account_currencies",
365 "method" : "account_currencies",
368 "error" : "actMalformed",
370 "error_message" : "Account malformed."
378 {
"account_info: minimal.",
380 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
383 "method" : "account_info",
386 "api_version" : %API_VER%,
387 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
391 {"account_info: with numeric ledger index.",
393 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
396 "method" : "account_info",
399 "api_version" : %API_VER%,
400 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
401 "ledger_index" : 77777
405 {"account_info: with text ledger index.",
407 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
410 "method" : "account_info",
413 "api_version" : %API_VER%,
414 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
415 "ledger_index" : "closed"
419 {"account_info: with ledger hash.",
422 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
423 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
426 "method" : "account_info",
429 "api_version" : %API_VER%,
430 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
431 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
435 {"account_info: with ledger index.",
437 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
440 "method" : "account_info",
443 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
444 "api_version" : %API_VER%,
445 "ledger_index" : "validated"
449 {"account_info: too few arguments.",
456 "method" : "account_info",
459 "error" : "badSyntax",
461 "error_message" : "Syntax error."
465 {"account_info: too many arguments.",
468 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
474 "method" : "account_info",
477 "error" : "badSyntax",
479 "error_message" : "Syntax error."
484 "account_info: invalid accountID.",
492 "method" : "account_info",
495 "error" : "actMalformed",
497 "error_message" : "Account malformed."
505 {
"account_lines: minimal.",
507 {
"account_lines",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
510 "method" : "account_lines",
513 "api_version" : %API_VER%,
514 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
518 {"account_lines: peer.",
521 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
522 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
525 "method" : "account_lines",
528 "api_version" : %API_VER%,
529 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
530 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
534 {"account_lines: peer and numeric ledger index.",
537 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
538 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
542 "method" : "account_lines",
545 "api_version" : %API_VER%,
546 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
547 "ledger_index" : 888888888,
548 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
552 {"account_lines: peer and text ledger index.",
555 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
556 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
560 "method" : "account_lines",
563 "api_version" : %API_VER%,
564 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
565 "ledger_index" : "closed",
566 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
570 {"account_lines: peer and ledger hash.",
573 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
574 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
575 "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000"},
578 "method" : "account_lines",
581 "api_version" : %API_VER%,
582 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
583 "ledger_hash" : "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000",
584 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
588 {"account_lines: too few arguments.",
595 "method" : "account_lines",
598 "error" : "badSyntax",
600 "error_message" : "Syntax error."
605 "account_lines: four arguments.",
608 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
609 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
614 "method" : "account_lines",
617 "api_version" : %API_VER%,
618 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
619 "ledger_index" : 12345678,
620 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
625 "account_lines: five arguments.",
628 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
629 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
632 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
635 "method" : "account_lines",
638 "api_version" : %API_VER%,
639 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
640 "ledger_index" : 12345678,
641 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
645 {"account_lines: too many arguments.",
648 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
649 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
652 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
656 "method" : "account_lines",
659 "error" : "badSyntax",
661 "error_message" : "Syntax error."
666 "account_lines: first invalid accountID.",
674 "method" : "account_lines",
677 "error" : "actMalformed",
679 "error_message" : "Account malformed."
685 "account_lines: second invalid accountID.",
689 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
694 "method" : "account_lines",
697 "api_version" : %API_VER%,
698 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
704 "account_lines: invalid ledger selector.",
707 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
708 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
712 "method" : "account_lines",
715 "api_version" : %API_VER%,
716 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
718 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
726 {
"account_objects: minimal.",
728 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
731 "method" : "account_objects",
734 "api_version" : %API_VER%,
735 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
739 {"account_objects: with numeric ledger index.",
741 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
744 "method" : "account_objects",
747 "api_version" : %API_VER%,
748 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
749 "ledger_index" : 77777
753 {"account_objects: with text ledger index.",
755 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
758 "method" : "account_objects",
761 "api_version" : %API_VER%,
762 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
763 "ledger_index" : "closed"
767 {"account_objects: with ledger hash.",
770 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
771 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
774 "method" : "account_objects",
777 "api_version" : %API_VER%,
778 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
779 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
783 {"account_objects: with ledger index.",
785 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
788 "method" : "account_objects",
791 "api_version" : %API_VER%,
792 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
793 "ledger_index" : "validated"
797 {"account_objects: too few arguments.",
804 "method" : "account_objects",
807 "error" : "badSyntax",
809 "error_message" : "Syntax error."
814 "account_objects: four arguments.",
818 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
825 "method" : "account_objects",
828 "api_version" : %API_VER%,
829 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
834 "account_objects: five arguments.",
838 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
846 "method" : "account_objects",
849 "api_version" : %API_VER%,
850 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
854 {"account_objects: too many arguments.",
858 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
867 "method" : "account_objects",
870 "error" : "badSyntax",
872 "error_message" : "Syntax error."
877 "account_objects: invalid accountID.",
885 "method" : "account_objects",
888 "error" : "actMalformed",
890 "error_message" : "Account malformed."
898 "account_objects: invalid ledger selection 1.",
900 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
903 "method" : "account_objects",
906 "api_version" : %API_VER%,
907 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
916 "account_objects: invalid ledger selection 2.",
918 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
921 "method" : "account_objects",
924 "api_version" : %API_VER%,
925 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
934 {
"account_offers: minimal.",
936 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
939 "method" : "account_offers",
942 "api_version" : %API_VER%,
943 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
947 {"account_offers: with numeric ledger index.",
949 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
952 "method" : "account_offers",
955 "api_version" : %API_VER%,
956 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
957 "ledger_index" : 987654321
961 {"account_offers: with text ledger index.",
963 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
966 "method" : "account_offers",
969 "api_version" : %API_VER%,
970 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
971 "ledger_index" : "validated"
975 {"account_offers: with ledger hash.",
978 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
979 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
982 "method" : "account_offers",
985 "api_version" : %API_VER%,
986 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
987 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
991 {"account_offers: with ledger index.",
993 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
996 "method" : "account_offers",
999 "api_version" : %API_VER%,
1000 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1001 "ledger_index" : "validated"
1005 {"account_offers: too few arguments.",
1012 "method" : "account_offers",
1015 "error" : "badSyntax",
1017 "error_message" : "Syntax error."
1022 "account_offers: four arguments.",
1025 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1030 "method" : "account_offers",
1033 "api_version" : %API_VER%,
1034 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1038 {"account_offers: too many arguments.",
1042 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1050 "method" : "account_offers",
1053 "error" : "badSyntax",
1055 "error_message" : "Syntax error."
1060 "account_offers: invalid accountID.",
1068 "method" : "account_offers",
1071 "error" : "actMalformed",
1073 "error_message" : "Account malformed."
1081 "account_offers: invalid ledger selection 1.",
1083 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1086 "method" : "account_offers",
1089 "api_version" : %API_VER%,
1090 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1099 "account_offers: invalid ledger selection 2.",
1101 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1104 "method" : "account_offers",
1107 "api_version" : %API_VER%,
1108 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1117 {
"account_tx: minimal.",
1119 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
1122 "method" : "account_tx",
1125 "api_version" : %API_VER%,
1126 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1130 {"account_tx: ledger_index .",
1132 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"444"},
1135 "method" : "account_tx",
1138 "api_version" : %API_VER%,
1139 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1140 "ledger_index" : 444
1144 {"account_tx: ledger_index plus trailing params.",
1147 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1154 "method" : "account_tx",
1157 "api_version" : %API_VER%,
1158 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1161 "descending" : true,
1162 "ledger_index" : 707
1166 {"account_tx: ledger_index_min and _max.",
1168 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"-1"},
1171 "method" : "account_tx",
1174 "api_version" : %API_VER%,
1175 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1176 "ledger_index_max" : -1,
1177 "ledger_index_min" : -1
1181 {"account_tx: ledger_index_min and _max plus trailing params.",
1184 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1192 "method" : "account_tx",
1195 "api_version" : %API_VER%,
1196 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1199 "descending" : true,
1200 "ledger_index_max" : 413,
1201 "ledger_index_min" : -1
1205 {"account_tx: ledger_index_min and _max plus limit.",
1207 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"247",
"-1",
"300"},
1210 "method" : "account_tx",
1213 "api_version" : %API_VER%,
1214 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1215 "ledger_index_max" : -1,
1216 "ledger_index_min" : 247,
1221 {"account_tx: ledger_index_min and _max, limit, trailing args.",
1224 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1233 "method" : "account_tx",
1236 "api_version" : %API_VER%,
1237 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1240 "descending" : true,
1241 "ledger_index_max" : -1,
1242 "ledger_index_min" : 247,
1247 {"account_tx: ledger_index_min and _max plus limit and offset.",
1250 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1257 "method" : "account_tx",
1260 "api_version" : %API_VER%,
1261 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1262 "ledger_index_max" : 590,
1263 "ledger_index_min" : 589,
1269 {"account_tx: ledger_index_min and _max, limit, offset, trailing.",
1272 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1281 "method" : "account_tx",
1284 "api_version" : %API_VER%,
1285 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1287 "descending" : true,
1288 "ledger_index_max" : 590,
1289 "ledger_index_min" : 589,
1295 {"account_tx: too few arguments.",
1302 "method" : "account_tx",
1305 "error" : "badSyntax",
1307 "error_message" : "Syntax error."
1311 {"account_tx: too many arguments.",
1314 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1325 "method" : "account_tx",
1328 "error" : "badSyntax",
1330 "error_message" : "Syntax error."
1335 "account_tx: invalid accountID.",
1337 {
"account_tx",
"rHb9CJAWyB4rj9!VRWn96DkukG4bwdtyTh"},
1340 "method" : "account_tx",
1343 "error" : "actMalformed",
1345 "error_message" : "Account malformed."
1352 "account_tx: invalid ledger.",
1354 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-478.7"},
1357 "method" : "account_tx",
1360 "api_version" : %API_VER%,
1361 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1368 "account_tx: max less than min.",
1370 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"580",
"579"},
1374 "method" : "account_tx",
1377 "error" : "lgrIdxsInvalid",
1379 "error_message" : "Ledger indexes invalid."
1384 "method" : "account_tx",
1387 "error" : "notSynced",
1389 "error_message" : "Not synced to the network."
1396 "account_tx: non-integer min.",
1398 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"Binary",
"-1"},
1404 "account_tx: non-integer max.",
1406 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"counts"},
1412 "account_tx: non-integer offset.",
1415 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1424 "account_tx: non-integer limit.",
1427 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1436 "account_tx: RIPD-1570.",
1439 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1451 {
"book_offers: minimal no issuer.",
1460 "method" : "book_offers",
1463 "api_version" : %API_VER%,
1473 {"book_offers: minimal with currency/issuer",
1477 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1478 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1482 "method" : "book_offers",
1485 "api_version" : %API_VER%,
1488 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1492 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1499 "book_offers: add issuer.",
1501 {
"book_offers",
"USD",
"EUR",
"rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
1504 "method" : "book_offers",
1507 "api_version" : %API_VER%,
1508 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1518 {"book_offers: add issuer and numeric ledger index.",
1521 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1523 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1527 "method" : "book_offers",
1530 "api_version" : %API_VER%,
1531 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1532 "ledger_index" : 666,
1538 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1543 {"book_offers: add issuer and text ledger index.",
1547 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1548 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1552 "method" : "book_offers",
1555 "api_version" : %API_VER%,
1556 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1557 "ledger_index" : "current",
1560 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1568 {"book_offers: add issuer and ledger hash.",
1571 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1572 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1573 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1574 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
1577 "method" : "book_offers",
1580 "api_version" : %API_VER%,
1581 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1582 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1585 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1589 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1594 {"book_offers: issuer, ledger hash, and limit.",
1598 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1599 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1600 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1601 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1608 "method" : "book_offers",
1611 "api_version" : %API_VER%,
1612 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1613 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1618 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1622 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1628 "book_offers: issuer, ledger hash, limit, and marker.",
1631 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1632 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1633 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1634 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1640 "method" : "book_offers",
1643 "api_version" : %API_VER%,
1644 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1645 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1647 "marker" : "MyMarker",
1651 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1655 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1660 {"book_offers: too few arguments.",
1667 "method" : "book_offers",
1670 "error" : "badSyntax",
1672 "error_message" : "Syntax error."
1676 {"book_offers: too many arguments.",
1679 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1680 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1681 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1682 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1689 "method" : "book_offers",
1692 "error" : "badSyntax",
1694 "error_message" : "Syntax error."
1699 {"book_offers: taker pays no currency.",
1703 "/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1704 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1708 "method" : "book_offers",
1711 "error" : "invalidParams",
1713 "error_message" : "Invalid currency/issuer '/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh'"
1717 {"book_offers: taker gets no currency.",
1721 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1722 "/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1726 "method" : "book_offers",
1729 "error" : "invalidParams",
1731 "error_message" : "Invalid currency/issuer '/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA'"
1735 {"book_offers: invalid issuer.",
1737 {
"book_offers",
"USD",
"EUR",
"not_a_valid_issuer"},
1740 "method" : "book_offers",
1743 "api_version" : %API_VER%,
1744 "issuer" : "not_a_valid_issuer",
1754 {"book_offers: invalid text ledger index.",
1758 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1759 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1763 "method" : "book_offers",
1766 "api_version" : %API_VER%,
1767 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1771 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1780 "book_offers: non-numeric limit.",
1784 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1785 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1786 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1787 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1797 {
"can_delete: minimal.",
1804 "method" : "can_delete",
1807 "api_version" : %API_VER%,
1811 {"can_delete: ledger index.",
1819 "method" : "can_delete",
1822 "api_version" : %API_VER%,
1823 "can_delete" : 4294967295
1827 {"can_delete: ledger hash.",
1831 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
1835 "method" : "can_delete",
1838 "api_version" : %API_VER%,
1839 "can_delete" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210"
1843 {"can_delete: always.",
1851 "method" : "can_delete",
1854 "api_version" : %API_VER%,
1855 "can_delete" : "always"
1859 {"can_delete: never.",
1867 "method" : "can_delete",
1870 "api_version" : %API_VER%,
1871 "can_delete" : "never"
1875 {"can_delete: now.",
1883 "method" : "can_delete",
1886 "api_version" : %API_VER%,
1887 "can_delete" : "now"
1891 {"can_delete: too many arguments.",
1893 {
"can_delete",
"always",
"never"},
1896 "method" : "can_delete",
1899 "error" : "badSyntax",
1901 "error_message" : "Syntax error."
1905 {"can_delete: invalid argument.",
1907 {
"can_delete",
"invalid"},
1910 "method" : "can_delete",
1913 "api_version" : %API_VER%,
1914 "can_delete" : "invalid"
1919 "can_delete: ledger index > 32 bits.",
1928 "can_delete: ledger hash with no alphas.",
1932 "0123456701234567012345670123456701234567012345670123456701234567",
1939 {
"channel_authorize: minimal.",
1941 {
"channel_authorize",
1942 "secret_can_be_anything",
1943 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1944 "18446744073709551615"},
1947 "method" : "channel_authorize",
1950 "api_version" : %API_VER%,
1951 "amount" : "18446744073709551615",
1952 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1953 "secret" : "secret_can_be_anything"
1957 {"channel_authorize: too few arguments.",
1960 "channel_authorize",
1961 "secret_can_be_anything",
1962 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1966 "method" : "channel_authorize",
1969 "error" : "badSyntax",
1971 "error_message" : "Syntax error."
1975 {"channel_authorize: too many arguments.",
1977 {
"channel_authorize",
1979 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1985 "method" : "channel_authorize",
1988 "error" : "badSyntax",
1990 "error_message" : "Syntax error."
1994 {"channel_authorize: bad key type.",
1996 {
"channel_authorize",
1998 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2003 "method" : "channel_authorize",
2006 "error" : "badKeyType",
2008 "error_message" : "Bad key type."
2012 {"channel_authorize: channel_id too short.",
2014 {
"channel_authorize",
2015 "secret_can_be_anything",
2016 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2020 "method" : "channel_authorize",
2023 "error" : "channelMalformed",
2025 "error_message" : "Payment channel is malformed."
2029 {"channel_authorize: channel_id too long.",
2031 {
"channel_authorize",
2032 "secret_can_be_anything",
2033 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2037 "method" : "channel_authorize",
2040 "error" : "channelMalformed",
2042 "error_message" : "Payment channel is malformed."
2046 {"channel_authorize: channel_id not hex.",
2048 {
"channel_authorize",
2049 "secret_can_be_anything",
2050 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEZ",
2054 "method" : "channel_authorize",
2057 "error" : "channelMalformed",
2059 "error_message" : "Payment channel is malformed."
2063 {"channel_authorize: negative amount.",
2065 {
"channel_authorize",
2066 "secret_can_be_anything",
2067 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2071 "method" : "channel_authorize",
2074 "error" : "channelAmtMalformed",
2076 "error_message" : "Payment channel amount is malformed."
2080 {"channel_authorize: amount > 64 bits.",
2082 {
"channel_authorize",
2083 "secret_can_be_anything",
2084 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2085 "18446744073709551616"},
2088 "method" : "channel_authorize",
2091 "error" : "channelAmtMalformed",
2093 "error_message" : "Payment channel amount is malformed."
2100 {
"channel_verify: public key.",
2103 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2104 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2109 "method" : "channel_verify",
2112 "api_version" : %API_VER%,
2114 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2115 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2116 "signature" : "DEADBEEF"
2120 {"channel_verify: public key hex.",
2123 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2124 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2125 "18446744073709551615",
2129 "method" : "channel_verify",
2132 "api_version" : %API_VER%,
2133 "amount" : "18446744073709551615",
2134 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2135 "public_key" : "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2136 "signature" : "DEADBEEF"
2140 {"channel_verify: too few arguments.",
2143 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2144 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
2147 "method" : "channel_verify",
2150 "error" : "badSyntax",
2152 "error_message" : "Syntax error."
2156 {"channel_verify: too many arguments.",
2159 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2160 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2166 "method" : "channel_verify",
2169 "error" : "badSyntax",
2171 "error_message" : "Syntax error."
2175 {"channel_verify: malformed public key.",
2178 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9GoV",
2179 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2184 "method" : "channel_verify",
2187 "error" : "publicMalformed",
2189 "error_message" : "Public key is malformed."
2193 {"channel_verify: malformed hex public key.",
2196 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F",
2197 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2202 "method" : "channel_verify",
2205 "error" : "publicMalformed",
2207 "error_message" : "Public key is malformed."
2211 {"channel_verify: invalid channel id.",
2214 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2215 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2220 "method" : "channel_verify",
2223 "error" : "channelMalformed",
2225 "error_message" : "Payment channel is malformed."
2229 {"channel_verify: short channel id.",
2232 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2233 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2238 "method" : "channel_verify",
2241 "error" : "channelMalformed",
2243 "error_message" : "Payment channel is malformed."
2247 {"channel_verify: amount too small.",
2250 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2251 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2256 "method" : "channel_verify",
2259 "error" : "channelAmtMalformed",
2261 "error_message" : "Payment channel amount is malformed."
2265 {"channel_verify: amount too large.",
2268 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2269 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2270 "18446744073709551616",
2274 "method" : "channel_verify",
2277 "error" : "channelAmtMalformed",
2279 "error_message" : "Payment channel amount is malformed."
2283 {"channel_verify: non-hex signature.",
2286 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2287 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2289 "ThisIsNotHexadecimal"},
2292 "method" : "channel_verify",
2295 "api_version" : %API_VER%,
2296 "amount" : "40000000",
2297 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2298 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2299 "signature" : "ThisIsNotHexadecimal"
2306 {
"connect: minimal.",
2310 "ThereIsNoCheckingOnTheIPFormat",
2314 "method" : "connect",
2317 "api_version" : %API_VER%,
2318 "ip" : "ThereIsNoCheckingOnTheIPFormat"
2322 {"connect: ip and port.",
2324 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561"},
2327 "method" : "connect",
2330 "api_version" : %API_VER%,
2331 "ip" : "ThereIsNoCheckingOnTheIPFormat",
2336 {"connect: too few arguments.",
2343 "method" : "connect",
2346 "error" : "badSyntax",
2348 "error_message" : "Syntax error."
2352 {"connect: too many arguments.",
2354 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561",
"extra"},
2357 "method" : "connect",
2360 "error" : "badSyntax",
2362 "error_message" : "Syntax error."
2367 "connect: port too small.",
2371 "ThereIsNoCheckingOnTheIPFormat",
2377 "connect: port too large.",
2381 "ThereIsNoCheckingOnTheIPFormat",
2389 {
"consensus_info: minimal.",
2396 "method" : "consensus_info",
2399 "api_version" : %API_VER%
2403 {"consensus_info: too many arguments.",
2405 {
"consensus_info",
"whatever"},
2408 "method" : "consensus_info",
2411 "error" : "badSyntax",
2413 "error_message" : "Syntax error."
2420 {
"deposit_authorized: minimal.",
2423 "deposit_authorized",
2424 "source_account_NotValidated",
2425 "destination_account_NotValidated",
2429 "method" : "deposit_authorized",
2432 "api_version" : %API_VER%,
2433 "destination_account" : "destination_account_NotValidated",
2434 "source_account" : "source_account_NotValidated"
2438 {"deposit_authorized: with text ledger index.",
2440 {
"deposit_authorized",
2441 "source_account_NotValidated",
2442 "destination_account_NotValidated",
2446 "method" : "deposit_authorized",
2449 "api_version" : %API_VER%,
2450 "destination_account" : "destination_account_NotValidated",
2451 "ledger_index" : "validated",
2452 "source_account" : "source_account_NotValidated"
2456 {"deposit_authorized: with ledger index.",
2458 {
"deposit_authorized",
2459 "source_account_NotValidated",
2460 "destination_account_NotValidated",
2472 "method" : "deposit_authorized",
2475 "api_version" : %API_VER%,
2476 "destination_account" : "destination_account_NotValidated",
2477 "ledger_index" : 4294967295,
2478 "source_account" : "source_account_NotValidated",
2479 "credentials": ["cred1", "cred2", "cred3", "cred4", "cred5", "cred6", "cred7", "cred8"]
2483 {"deposit_authorized: with ledger hash.",
2485 {
"deposit_authorized",
2486 "source_account_NotValidated",
2487 "destination_account_NotValidated",
2488 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
2491 "method" : "deposit_authorized",
2494 "api_version" : %API_VER%,
2495 "destination_account" : "destination_account_NotValidated",
2496 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2497 "source_account" : "source_account_NotValidated"
2501 {"deposit_authorized: too few arguments.",
2504 "deposit_authorized",
2505 "source_account_NotValidated",
2509 "method" : "deposit_authorized",
2512 "error" : "badSyntax",
2514 "error_message" : "Syntax error."
2518 {"deposit_authorized: too many arguments.",
2520 {
"deposit_authorized",
2521 "source_account_NotValidated",
2522 "destination_account_NotValidated",
2523 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2535 "method" : "deposit_authorized",
2538 "error" : "badSyntax",
2540 "error_message" : "Syntax error."
2544 {"deposit_authorized: invalid ledger selection.",
2547 "deposit_authorized",
2548 "source_account_NotValidated",
2549 "destination_account_NotValidated",
2554 "method" : "deposit_authorized",
2557 "api_version" : %API_VER%,
2558 "destination_account" : "destination_account_NotValidated",
2560 "source_account" : "source_account_NotValidated"
2567 {
"feature: minimal.",
2574 "method" : "feature",
2577 "api_version" : %API_VER%,
2581 {"feature: with name.",
2583 {
"feature",
"featureNameOrHexIsNotValidated"},
2586 "method" : "feature",
2589 "api_version" : %API_VER%,
2590 "feature" : "featureNameOrHexIsNotValidated"
2594 {"feature: accept.",
2597 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA98"
2602 "method" : "feature",
2605 "api_version" : %API_VER%,
2606 "feature" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
2611 {"feature: reject.",
2613 {
"feature",
"0",
"reject"},
2616 "method" : "feature",
2619 "api_version" : %API_VER%,
2625 {"feature: too many arguments.",
2627 {
"feature",
"featureNameOrHexIsNotValidated",
"accept",
"anotherArg"},
2630 "method" : "feature",
2633 "error" : "badSyntax",
2635 "error_message" : "Syntax error."
2639 {"feature: neither accept nor reject.",
2643 "featureNameOrHexIsNotValidated",
2648 "method" : "feature",
2651 "error" : "invalidParams",
2653 "error_message" : "Invalid parameters."
2660 {
"fetch_info: minimal.",
2667 "method" : "fetch_info",
2670 "api_version" : %API_VER%,
2674 {"fetch_info: clear.",
2676 {
"fetch_info",
"clear"},
2679 "method" : "fetch_info",
2682 "api_version" : %API_VER%,
2687 {"fetch_info: too many arguments.",
2689 {
"fetch_info",
"clear",
"other"},
2692 "method" : "fetch_info",
2695 "error" : "badSyntax",
2697 "error_message" : "Syntax error."
2701 {"fetch_info: other trailing argument.",
2703 {
"fetch_info",
"too"},
2706 "method" : "fetch_info",
2709 "api_version" : %API_VER%,
2717 {
"gateway_balances: minimal.",
2719 {
"gateway_balances",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2722 "method" : "gateway_balances",
2725 "api_version" : %API_VER%,
2726 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2730 {"gateway_balances: with ledger index.",
2732 {
"gateway_balances",
"890765",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2735 "method" : "gateway_balances",
2738 "api_version" : %API_VER%,
2739 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2740 "ledger_index" : "890765"
2744 {"gateway_balances: with text ledger index.",
2746 {
"gateway_balances",
"current",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2749 "method" : "gateway_balances",
2752 "api_version" : %API_VER%,
2753 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2754 "ledger_index" : "current"
2758 {"gateway_balances: with 64 character ledger hash.",
2760 {
"gateway_balances",
2761 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2762 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2765 "method" : "gateway_balances",
2768 "api_version" : %API_VER%,
2769 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2770 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2774 {"gateway_balances: 1 hotwallet.",
2776 {
"gateway_balances",
2777 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2778 "hotwallet_is_not_validated"},
2781 "method" : "gateway_balances",
2784 "api_version" : %API_VER%,
2785 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2786 "hotwallet" : [ "hotwallet_is_not_validated" ]
2790 {"gateway_balances: 3 hotwallets.",
2794 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2795 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2796 "hotwallet_is_not_validated_1",
2797 "hotwallet_is_not_validated_2",
2798 "hotwallet_is_not_validated_3",
2802 "method" : "gateway_balances",
2805 "api_version" : %API_VER%,
2806 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2808 "hotwallet_is_not_validated_1",
2809 "hotwallet_is_not_validated_2",
2810 "hotwallet_is_not_validated_3"
2812 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2816 {"gateway_balances: too few arguments.",
2823 "method" : "gateway_balances",
2826 "error" : "badSyntax",
2828 "error_message" : "Syntax error."
2832 {"gateway_balances: empty first argument.",
2834 {
"gateway_balances",
""},
2837 "method" : "gateway_balances",
2840 "error" : "invalidParams",
2842 "error_message" : "Invalid first parameter"
2846 {"gateway_balances: with ledger index but no gateway.",
2854 "method" : "gateway_balances",
2857 "error" : "invalidParams",
2859 "error_message" : "Invalid hotwallet"
2863 {"gateway_balances: with text ledger index but no gateway.",
2871 "method" : "gateway_balances",
2874 "error" : "invalidParams",
2876 "error_message" : "Invalid hotwallet"
2880 {"gateway_balances: with 64 character ledger hash but no gateway.",
2884 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2888 "method" : "gateway_balances",
2891 "error" : "invalidParams",
2893 "error_message" : "Invalid hotwallet"
2900 {
"get_counts: minimal.",
2907 "method" : "get_counts",
2910 "api_version" : %API_VER%,
2914 {"get_counts: with maximum count.",
2916 {
"get_counts",
"100"},
2919 "method" : "get_counts",
2922 "api_version" : %API_VER%,
2927 {"get_counts: too many arguments.",
2929 {
"get_counts",
"100",
"whatever"},
2932 "method" : "get_counts",
2935 "error" : "badSyntax",
2937 "error_message" : "Syntax error."
2941 {"get_counts: count too small.",
2949 {"get_counts: count too large.",
2951 {
"get_counts",
"4294967296"},
2962 R
"({"json_argument":true})",
2966 "method" : "command",
2969 "api_version" : %API_VER%,
2970 "json_argument" : true,
2971 "method" : "command"
2975 {"json: null object.",
2984 "method" : "command",
2987 "api_version" : %API_VER%,
2988 "method" : "command"
2992 {"json: too few arguments.",
2994 {
"json",
"command"},
3000 "error" : "badSyntax",
3002 "error_message" : "Syntax error."
3006 {"json: too many arguments.",
3008 {
"json",
"command", R
"({"json_argument":true})", "extra"},
3014 "error" : "badSyntax",
3016 "error_message" : "Syntax error."
3020 {"json: array, not object.",
3025 R
"(["arg1","arg2"])",
3032 "error" : "invalidParams",
3034 "error_message" : "Invalid parameters."
3038 {"json: invalid json (note closing comma).",
3043 R
"({"json_argument":true,})",
3050 "error" : "invalidParams",
3052 "error_message" : "Invalid parameters."
3059 {
"json2: minimal object.",
3063 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3069 "method" : "call_1",
3072 "api_version" : %API_VER%,
3075 "method" : "call_1",
3081 {"json2: object with nested params.",
3087 "ripplerpc" : "2.0",
3089 "method" : "call_1",
3090 "params" : [{"inner_arg" : "yup"}]
3097 "method" : "call_1",
3100 "api_version" : %API_VER%,
3106 "method" : "call_1",
3112 {"json2: minimal array.",
3116 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"}])",
3124 "api_version" : %API_VER%,
3127 "method" : "call_1",
3133 {"json2: array with object with nested params.",
3142 "params" : [{"inner_arg" : "yup"}]}
3151 "api_version" : %API_VER%,
3157 "method" : "call_1",
3162 {"json2: too few arguments.",
3172 "error" : "badSyntax",
3174 "error_message" : "Syntax error."
3178 {"json2: too many arguments.",
3181 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_this"})",
3188 "error" : "badSyntax",
3190 "error_message" : "Syntax error."
3194 {"json2: malformed json (note extra comma).",
3198 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",})",
3207 "error" : "invalidParams",
3209 "error_message" : "Invalid parameters.",
3217 {"json2: omit jsonrpc.",
3221 R
"({"ripplerpc":"2.0","id":"A1","method":"call_1"})",
3229 "error" : "invalidParams",
3231 "error_message" : "Invalid parameters.",
3238 {"json2: wrong jsonrpc version.",
3242 R
"({"jsonrpc":"2.1","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3251 "error" : "invalidParams",
3253 "error_message" : "Invalid parameters.",
3261 {"json2: omit ripplerpc.",
3265 R
"({"jsonrpc":"2.0","id":"A1","method":"call_1"})",
3274 "error" : "invalidParams",
3276 "error_message" : "Invalid parameters.",
3282 {"json2: wrong ripplerpc version.",
3286 R
"({"jsonrpc":"2.0","ripplerpc":"2.00","id":"A1","method":"call_1"})",
3295 "error" : "invalidParams",
3297 "error_message" : "Invalid parameters.",
3300 "ripplerpc" : "2.00"
3303 "ripplerpc" : "2.00"
3309 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","method":"call_1"})",
3317 "error" : "invalidParams",
3319 "error_message" : "Invalid parameters.",
3326 {"json2: omit method.",
3330 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1"})",
3339 "error" : "invalidParams",
3341 "error_message" : "Invalid parameters.",
3349 {"json2: empty outer array.",
3360 "error" : "invalidParams",
3362 "error_message" : "Invalid parameters."
3366 {"json2: empty inner array.",
3370 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",[]}])",
3377 "error" : "invalidParams",
3379 "error_message" : "Invalid parameters."
3383 {"json2: array with non-json2 object.",
3389 "ripplerpc" : "2.0",
3400 "error" : "invalidParams",
3402 "error_message" : "Invalid parameters."
3406 {"json2: non-object or -array inner params member.",
3412 "ripplerpc" : "2.0",
3414 "method" : "call_1",
3425 "error" : "invalidParams",
3427 "error_message" : "Invalid parameters.",
3438 {
"ledger: minimal.",
3443 "method" : "ledger",
3446 "api_version" : %API_VER%,
3450 {"ledger: ledger index.",
3452 {
"ledger",
"4294967295"},
3455 "method" : "ledger",
3458 "api_version" : %API_VER%,
3459 "ledger_index" : 4294967295
3463 {"ledger: text ledger index.",
3465 {
"ledger",
"validated"},
3468 "method" : "ledger",
3471 "api_version" : %API_VER%,
3472 "ledger_index" : "validated"
3476 {"ledger: ledger hash.",
3479 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3482 "method" : "ledger",
3485 "api_version" : %API_VER%,
3486 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3492 {
"ledger",
"current",
"full"},
3495 "method" : "ledger",
3498 "api_version" : %API_VER%,
3500 "ledger_index" : "current"
3506 {
"ledger",
"closed",
"tx"},
3509 "method" : "ledger",
3512 "api_version" : %API_VER%,
3514 "ledger_index" : "closed",
3515 "transactions" : true
3519 {"ledger: too many arguments.",
3521 {
"ledger",
"4294967295",
"spare"},
3524 "method" : "ledger",
3527 "api_version" : %API_VER%,
3528 "ledger_index" : 4294967295
3532 {"ledger: ledger index too small.",
3537 "method" : "ledger",
3540 "api_version" : %API_VER%,
3545 {"ledger: ledger index too big.",
3547 {
"ledger",
"4294967296"},
3550 "method" : "ledger",
3553 "api_version" : %API_VER%,
3558 {"ledger: invalid ledger text.",
3560 {
"ledger",
"latest"},
3563 "method" : "ledger",
3566 "api_version" : %API_VER%,
3571 {"ledger: unsupported final argument.",
3573 {
"ledger",
"current",
"expand"},
3576 "method" : "ledger",
3579 "api_version" : %API_VER%,
3580 "ledger_index" : "current"
3587 {
"ledger_closed: minimal.",
3592 "method" : "ledger_closed",
3595 "api_version" : %API_VER%,
3599 {"ledger_closed: too many arguments.",
3601 {
"ledger_closed",
"today"},
3604 "method" : "ledger_closed",
3607 "error" : "badSyntax",
3609 "error_message" : "Syntax error."
3616 {
"ledger_current: minimal.",
3621 "method" : "ledger_current",
3624 "api_version" : %API_VER%,
3628 {"ledger_current: too many arguments.",
3630 {
"ledger_current",
"today"},
3633 "method" : "ledger_current",
3636 "error" : "badSyntax",
3638 "error_message" : "Syntax error."
3645 {
"ledger_header: ledger index.",
3647 {
"ledger_header",
"4294967295"},
3650 "method" : "ledger_header",
3653 "api_version" : %API_VER%,
3654 "ledger_index" : 4294967295
3658 {"ledger_header: ledger hash.",
3661 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3664 "method" : "ledger_header",
3667 "api_version" : %API_VER%,
3668 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3672 {"ledger_header: too few arguments.",
3679 "method" : "ledger_header",
3682 "error" : "badSyntax",
3684 "error_message" : "Syntax error."
3688 {"ledger_header: too many arguments.",
3690 {
"ledger_header",
"4294967295",
"spare"},
3693 "method" : "ledger_header",
3696 "error" : "badSyntax",
3698 "error_message" : "Syntax error."
3702 {"ledger_header: text ledger index.",
3704 {
"ledger_header",
"current"},
3707 "method" : "ledger_header",
3710 "api_version" : %API_VER%,
3715 {"ledger_header: ledger index too small.",
3717 {
"ledger_header",
"-1"},
3720 "method" : "ledger_header",
3723 "api_version" : %API_VER%,
3728 {"ledger_header: ledger index too big.",
3730 {
"ledger_header",
"4294967296"},
3733 "method" : "ledger_header",
3736 "api_version" : %API_VER%,
3744 {
"ledger_request: ledger index.",
3746 {
"ledger_request",
"4294967295"},
3749 "method" : "ledger_request",
3752 "api_version" : %API_VER%,
3753 "ledger_index" : 4294967295
3757 {"ledger_request: ledger hash.",
3760 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3763 "method" : "ledger_request",
3766 "api_version" : %API_VER%,
3767 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3771 {"ledger_request: too few arguments.",
3778 "method" : "ledger_request",
3781 "error" : "badSyntax",
3783 "error_message" : "Syntax error."
3787 {"ledger_request: too many arguments.",
3789 {
"ledger_request",
"4294967295",
"spare"},
3792 "method" : "ledger_request",
3795 "error" : "badSyntax",
3797 "error_message" : "Syntax error."
3801 {"ledger_request: text ledger index.",
3803 {
"ledger_request",
"current"},
3806 "method" : "ledger_request",
3809 "api_version" : %API_VER%,
3814 {"ledger_request: ledger index too small.",
3816 {
"ledger_request",
"-1"},
3819 "method" : "ledger_request",
3822 "api_version" : %API_VER%,
3827 {"ledger_request: ledger index too big.",
3829 {
"ledger_request",
"4294967296"},
3832 "method" : "ledger_request",
3835 "api_version" : %API_VER%,
3843 {
"log_level: minimal.",
3850 "method" : "log_level",
3853 "api_version" : %API_VER%,
3857 {"log_level: fatal.",
3859 {
"log_level",
"fatal"},
3862 "method" : "log_level",
3865 "api_version" : %API_VER%,
3866 "severity" : "fatal"
3870 {"log_level: error.",
3872 {
"log_level",
"error"},
3875 "method" : "log_level",
3878 "api_version" : %API_VER%,
3879 "severity" : "error"
3883 {"log_level: warn.",
3885 {
"log_level",
"warn"},
3888 "method" : "log_level",
3891 "api_version" : %API_VER%,
3896 {"log_level: debug.",
3898 {
"log_level",
"debug"},
3901 "method" : "log_level",
3904 "api_version" : %API_VER%,
3905 "severity" : "debug"
3909 {"log_level: trace.",
3911 {
"log_level",
"trace"},
3914 "method" : "log_level",
3917 "api_version" : %API_VER%,
3918 "severity" : "trace"
3922 {"log_level: base partition.",
3924 {
"log_level",
"base",
"trace"},
3927 "method" : "log_level",
3930 "api_version" : %API_VER%,
3931 "partition" : "base",
3932 "severity" : "trace"
3936 {"log_level: partiton_name.",
3938 {
"log_level",
"partition_name",
"fatal"},
3941 "method" : "log_level",
3944 "api_version" : %API_VER%,
3945 "partition" : "partition_name",
3946 "severity" : "fatal"
3950 {"log_level: too many arguments.",
3952 {
"log_level",
"partition_name",
"fatal",
"extra"},
3955 "method" : "log_level",
3958 "error" : "badSyntax",
3960 "error_message" : "Syntax error."
3964 {"log_level: invalid severity.",
3966 {
"log_level",
"err"},
3969 "method" : "log_level",
3972 "api_version" : %API_VER%,
3977 {"log_level: swap partition name and severity.",
3986 "method" : "log_level",
3989 "api_version" : %API_VER%,
3990 "partition" : "fatal",
3991 "severity" : "partition_name"
3998 {
"logrotate: minimal.",
4005 "method" : "logrotate",
4008 "api_version" : %API_VER%,
4012 {"logrotate: too many arguments.",
4014 {
"logrotate",
"extra"},
4017 "method" : "logrotate",
4020 "error" : "badSyntax",
4022 "error_message" : "Syntax error."
4029 {
"owner_info: minimal.",
4031 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
4034 "method" : "owner_info",
4037 "api_version" : %API_VER%,
4038 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
4042 {"owner_info: with numeric ledger index.",
4044 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
4047 "method" : "owner_info",
4050 "api_version" : %API_VER%,
4051 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4052 "ledger_index" : 987654321
4056 {"owner_info: with text ledger index.",
4058 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4061 "method" : "owner_info",
4064 "api_version" : %API_VER%,
4065 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4066 "ledger_index" : "validated"
4070 {"owner_info: with ledger hash.",
4073 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4074 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
4077 "method" : "owner_info",
4080 "api_version" : %API_VER%,
4081 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4082 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
4086 {"owner_info: with ledger index.",
4088 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4091 "method" : "owner_info",
4094 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4095 "api_version" : %API_VER%,
4096 "ledger_index" : "validated"
4100 {"owner_info: too few arguments.",
4107 "method" : "owner_info",
4110 "error" : "badSyntax",
4112 "error_message" : "Syntax error."
4116 {"owner_info: too many arguments.",
4120 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4127 "method" : "owner_info",
4130 "error" : "badSyntax",
4132 "error_message" : "Syntax error."
4137 "owner_info: invalid accountID.",
4145 "method" : "owner_info",
4148 "error" : "actMalformed",
4150 "error_message" : "Account malformed."
4158 "owner_info: invalid ledger selection.",
4160 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4163 "method" : "owner_info",
4166 "api_version" : %API_VER%,
4167 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4176 "owner_info: invalid ledger selection.",
4178 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4181 "method" : "owner_info",
4184 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4185 "api_version" : %API_VER%,
4204 "api_version" : %API_VER%,
4208 {"peers: too many arguments.",
4216 "error" : "badSyntax",
4218 "error_message" : "Syntax error."
4225 {
"peer_reservations_add: minimal.",
4227 {
"peer_reservations_add",
"public_key_string"},
4230 "method" : "peer_reservations_add",
4233 "api_version" : %API_VER%,
4234 "public_key" : "public_key_string"
4238 {"peer_reservations_add: with description.",
4240 {
"peer_reservations_add",
"public_key_string",
"public_key_description"},
4243 "method" : "peer_reservations_add",
4246 "api_version" : %API_VER%,
4247 "description" : "public_key_description",
4248 "public_key" : "public_key_string"
4252 {"peer_reservations_add: too few arguments.",
4254 {
"peer_reservations_add"},
4257 "method" : "peer_reservations_add",
4260 "error" : "badSyntax",
4262 "error_message" : "Syntax error."
4266 {"peer_reservations_add: too many arguments.",
4268 {
"peer_reservations_add",
4269 "public_key_string",
4270 "public_key_description",
4274 "method" : "peer_reservations_add",
4277 "error" : "badSyntax",
4279 "error_message" : "Syntax error."
4286 {
"peer_reservations_del: minimal.",
4288 {
"peer_reservations_del",
"public_key_string"},
4291 "method" : "peer_reservations_del",
4294 "api_version" : %API_VER%,
4295 "public_key" : "public_key_string"
4299 {"peer_reservations_del: too few arguments.",
4301 {
"peer_reservations_del"},
4304 "method" : "peer_reservations_del",
4307 "error" : "badSyntax",
4309 "error_message" : "Syntax error."
4313 {"peer_reservations_del: too many arguments.",
4315 {
"peer_reservations_del",
4316 "public_key_string",
4317 "public_key_description",
4321 "method" : "peer_reservations_del",
4324 "error" : "badSyntax",
4326 "error_message" : "Syntax error."
4343 "api_version" : %API_VER%,
4347 {"ping: too many arguments.",
4355 "error" : "badSyntax",
4357 "error_message" : "Syntax error."
4374 "api_version" : %API_VER%,
4379 "print: extra argument.",
4387 "api_version" : %API_VER%,
4388 "params" : [ "extra" ]
4392 {"print: too many arguments.",
4394 {
"print",
"extra1",
"extra2"},
4400 "error" : "badSyntax",
4402 "error_message" : "Syntax error."
4409 {
"random: minimal.",
4416 "method" : "random",
4419 "api_version" : %API_VER%,
4423 {"random: too many arguments.",
4425 {
"random",
"extra"},
4428 "method" : "random",
4431 "error" : "badSyntax",
4433 "error_message" : "Syntax error."
4440 {
"ripple_path_find: minimal.",
4444 R
"({"json_argument":true})",
4448 "method" : "ripple_path_find",
4451 "api_version" : %API_VER%,
4452 "json_argument" : true
4456 {"ripple_path_find: ledger index.",
4458 {
"ripple_path_find", R
"({"json_argument":true})", "4294967295"},
4461 "method" : "ripple_path_find",
4464 "api_version" : %API_VER%,
4465 "json_argument" : true,
4466 "ledger_index" : 4294967295
4470 {"ripple_path_find: text ledger index.",
4472 {
"ripple_path_find", R
"({"json_argument":true})", "closed"},
4475 "method" : "ripple_path_find",
4478 "api_version" : %API_VER%,
4479 "json_argument" : true,
4480 "ledger_index" : "closed"
4484 {"ripple_path_find: ledger hash.",
4486 {
"ripple_path_find",
4487 R
"({"json_argument":true})",
4488 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"},
4491 "method" : "ripple_path_find",
4494 "api_version" : %API_VER%,
4495 "json_argument" : true,
4496 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
4501 {"ripple_path_find: too few arguments.",
4508 "method" : "ripple_path_find",
4511 "error" : "badSyntax",
4513 "error_message" : "Syntax error."
4517 {"ripple_path_find: too many arguments.",
4519 {
"ripple_path_find", R
"({"json_argument":true})", "current",
"extra"},
4522 "method" : "ripple_path_find",
4525 "error" : "badSyntax",
4527 "error_message" : "Syntax error."
4531 {"ripple_path_find: invalid json (note extra comma).",
4535 R
"({"json_argument":true,})",
4539 "method" : "ripple_path_find",
4542 "error" : "invalidParams",
4544 "error_message" : "Invalid parameters."
4548 {"ripple_path_find: ledger index too small.",
4550 {
"ripple_path_find", R
"({"json_argument":true})", "-1"},
4553 "method" : "ripple_path_find",
4556 "api_version" : %API_VER%,
4557 "json_argument" : true,
4562 {"ripple_path_find: ledger index too big.",
4564 {
"ripple_path_find", R
"({"json_argument":true})", "4294967296"},
4567 "method" : "ripple_path_find",
4570 "api_version" : %API_VER%,
4571 "json_argument" : true,
4576 {"ripple_path_find: invalid text ledger index.",
4578 {
"ripple_path_find", R
"({"json_argument":true})", "cur"},
4581 "method" : "ripple_path_find",
4584 "api_version" : %API_VER%,
4585 "json_argument" : true,
4598 R
"({"json_argument":true})",
4605 "api_version" : %API_VER%,
4606 "secret" : "my_secret",
4608 "json_argument" : true
4615 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline"},
4621 "api_version" : %API_VER%,
4623 "secret" : "my_secret",
4625 "json_argument" : true
4630 {"sign: too few arguments.",
4632 {
"sign",
"contents_of_blob"},
4638 "error" : "badSyntax",
4640 "error_message" : "Syntax error."
4644 {"sign: too many arguments.",
4646 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4652 "error" : "badSyntax",
4654 "error_message" : "Syntax error."
4658 {"sign: invalid JSON (note extra comma).",
4663 R
"({"json_argument":true,})",
4670 "error" : "invalidParams",
4672 "error_message" : "Invalid parameters."
4676 {"sign: invalid final argument.",
4678 {
"sign",
"my_secret", R
"({"json_argument":true})", "offlin"},
4684 "error" : "invalidParams",
4686 "error_message" : "Invalid parameters."
4693 {
"sign_for: minimal.",
4697 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4699 R
"({"json_argument":true})",
4703 "method" : "sign_for",
4706 "api_version" : %API_VER%,
4707 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4708 "secret" : "my_secret",
4710 "json_argument" : true
4715 {"sign_for: offline.",
4718 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4720 R
"({"json_argument":true})",
4724 "method" : "sign_for",
4727 "api_version" : %API_VER%,
4728 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4730 "secret" : "my_secret",
4732 "json_argument" : true
4737 {"sign_for: too few arguments.",
4741 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4746 "method" : "sign_for",
4749 "error" : "badSyntax",
4751 "error_message" : "Syntax error."
4755 {"sign_for: too many arguments.",
4758 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4760 R
"({"json_argument":true})",
4765 "method" : "sign_for",
4768 "error" : "badSyntax",
4770 "error_message" : "Syntax error."
4774 {"sign_for: invalid json (note extra comma).",
4778 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4780 R
"({"json_argument":true,})",
4784 "method" : "sign_for",
4787 "error" : "invalidParams",
4789 "error_message" : "Invalid parameters."
4793 {"sign_for: invalid final argument.",
4796 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4798 R
"({"json_argument":true})",
4802 "method" : "sign_for",
4805 "error" : "invalidParams",
4807 "error_message" : "Invalid parameters."
4816 {
"submit",
"the blob is unvalidated and may be any length..."},
4819 "method" : "submit",
4822 "api_version" : %API_VER%,
4823 "tx_blob" : "the blob is unvalidated and may be any length..."
4832 R
"({"json_argument":true})",
4836 "method" : "submit",
4839 "api_version" : %API_VER%,
4840 "secret" : "my_secret",
4842 "json_argument" : true
4847 {"submit: too few arguments.",
4854 "method" : "submit",
4857 "error" : "badSyntax",
4859 "error_message" : "Syntax error."
4864 "submit: four arguments.",
4866 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline"},
4869 "method" : "submit",
4872 "api_version" : %API_VER%,
4874 "secret" : "my_secret",
4876 "json_argument" : true
4881 {"submit: too many arguments.",
4883 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4886 "method" : "submit",
4889 "error" : "badSyntax",
4891 "error_message" : "Syntax error."
4895 {"submit: invalid json (note extra comma).",
4900 R
"({"json_argument":true,})",
4904 "method" : "submit",
4907 "error" : "invalidParams",
4909 "error_message" : "Invalid parameters."
4913 {"submit: last argument not \"offline\".",
4915 {
"submit",
"my_secret", R
"({"json_argument":true})", "offlne"},
4918 "method" : "submit",
4921 "error" : "invalidParams",
4923 "error_message" : "Invalid parameters."
4930 {
"submit_multisigned: json.",
4933 "submit_multisigned",
4934 R
"({"json_argument":true})",
4938 "method" : "submit_multisigned",
4941 "api_version" : %API_VER%,
4943 "json_argument" : true
4948 {"submit_multisigned: too few arguments.",
4951 "submit_multisigned",
4955 "method" : "submit_multisigned",
4958 "error" : "badSyntax",
4960 "error_message" : "Syntax error."
4964 {"submit_multisigned: too many arguments.",
4966 {
"submit_multisigned", R
"({"json_argument":true})", "extra"},
4969 "method" : "submit_multisigned",
4972 "error" : "badSyntax",
4974 "error_message" : "Syntax error."
4978 {"submit_multisigned: invalid json (note extra comma).",
4981 "submit_multisigned",
4982 R
"({"json_argument":true,})",
4986 "method" : "submit_multisigned",
4989 "error" : "invalidParams",
4991 "error_message" : "Invalid parameters."
4999 {
"server_info: minimal.",
5006 "method" : "server_info",
5009 "api_version" : %API_VER%,
5013 {"server_info: counters.",
5015 {
"server_info",
"counters"},
5018 "method" : "server_info",
5021 "api_version" : %API_VER%,
5026 {"server_info: too many arguments.",
5028 {
"server_info",
"counters",
"extra"},
5031 "method" : "server_info",
5034 "error" : "badSyntax",
5036 "error_message" : "Syntax error."
5040 {"server_info: non-counters argument.",
5042 {
"server_info",
"counter"},
5045 "method" : "server_info",
5048 "api_version" : %API_VER%,
5055 {
"server_state: minimal.",
5062 "method" : "server_state",
5065 "api_version" : %API_VER%,
5069 {"server_state: counters.",
5071 {
"server_state",
"counters"},
5074 "method" : "server_state",
5077 "api_version" : %API_VER%,
5082 {"server_state: too many arguments.",
5084 {
"server_state",
"counters",
"extra"},
5087 "method" : "server_state",
5090 "error" : "badSyntax",
5092 "error_message" : "Syntax error."
5096 {"server_state: non-counters argument.",
5098 {
"server_state",
"counter"},
5101 "method" : "server_state",
5104 "api_version" : %API_VER%,
5121 "api_version" : %API_VER%,
5125 {"stop: too many arguments.",
5133 "error" : "badSyntax",
5135 "error_message" : "Syntax error."
5142 {
"transaction_entry: ledger index.",
5144 {
"transaction_entry",
5145 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5149 "method" : "transaction_entry",
5152 "api_version" : %API_VER%,
5153 "ledger_index" : 4294967295,
5154 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5158 {"transaction_entry: text ledger index.",
5160 {
"transaction_entry",
5161 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5165 "method" : "transaction_entry",
5168 "api_version" : %API_VER%,
5169 "ledger_index" : "current",
5170 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5174 {"transaction_entry: ledger hash.",
5176 {
"transaction_entry",
5177 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5178 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210"},
5181 "method" : "transaction_entry",
5184 "api_version" : %API_VER%,
5185 "ledger_hash" : "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210",
5186 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5190 {"transaction_entry: too few arguments.",
5193 "transaction_entry",
5194 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5198 "method" : "transaction_entry",
5201 "error" : "badSyntax",
5203 "error_message" : "Syntax error."
5207 {"transaction_entry: too many arguments.",
5209 {
"transaction_entry",
5210 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5215 "method" : "transaction_entry",
5218 "error" : "badSyntax",
5220 "error_message" : "Syntax error."
5224 {"transaction_entry: short tx_hash.",
5227 "transaction_entry",
5228 "123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5233 "method" : "transaction_entry",
5236 "error" : "invalidParams",
5238 "error_message" : "Invalid parameters."
5242 {"transaction_entry: long tx_hash.",
5245 "transaction_entry",
5246 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUVW",
5251 "method" : "transaction_entry",
5254 "error" : "invalidParams",
5256 "error_message" : "Invalid parameters."
5260 {"transaction_entry: small ledger index.",
5263 "transaction_entry",
5264 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5269 "method" : "transaction_entry",
5272 "error" : "invalidParams",
5274 "error_message" : "Invalid parameters."
5278 {"transaction_entry: large ledger index.",
5281 "transaction_entry",
5282 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5287 "method" : "transaction_entry",
5290 "error" : "invalidParams",
5292 "error_message" : "Invalid parameters."
5296 {"transaction_entry: short ledger hash.",
5299 "transaction_entry",
5300 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5301 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA987654321",
5305 "method" : "transaction_entry",
5308 "error" : "invalidParams",
5310 "error_message" : "Invalid parameters."
5314 {"transaction_entry: long ledger hash.",
5317 "transaction_entry",
5318 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5319 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210Z",
5323 "method" : "transaction_entry",
5326 "error" : "invalidParams",
5328 "error_message" : "Invalid parameters."
5335 {
"tx: ctid. minimal",
5337 {
"tx",
"FFFFFFFFFFFFFFFF",
"1",
"2"},
5343 "api_version" : %API_VER%,
5344 "ctid" : "FFFFFFFFFFFFFFFF",
5350 {"tx: ctid. binary",
5352 {
"tx",
"FFFFFFFFFFFFFFFF",
"binary",
"1",
"2"},
5358 "api_version" : %API_VER%,
5360 "ctid" : "FFFFFFFFFFFFFFFF",
5368 {
"tx",
"transaction_hash_is_not_validated"},
5374 "api_version" : %API_VER%,
5375 "transaction" : "transaction_hash_is_not_validated"
5381 {
"tx",
"transaction_hash_is_not_validated",
"binary"},
5387 "api_version" : %API_VER%,
5389 "transaction" : "transaction_hash_is_not_validated"
5393 {"tx: too few arguments.",
5403 "error" : "badSyntax",
5405 "error_message" : "Syntax error."
5409 {"tx: too many arguments.",
5411 {
"tx",
"transaction_hash_is_not_validated",
"binary",
"1",
"2",
"extra"},
5417 "error" : "badSyntax",
5419 "error_message" : "Syntax error."
5423 {"tx: invalid final argument is apparently ignored.",
5425 {
"tx",
"transaction_hash_is_not_validated",
"bin"},
5431 "api_version" : %API_VER%,
5432 "transaction" : "transaction_hash_is_not_validated"
5439 {
"tx_history: minimal.",
5441 {
"tx_history",
"0"},
5444 "method" : "tx_history",
5447 "api_version" : %API_VER%,
5452 {"tx_history: too few arguments.",
5459 "method" : "tx_history",
5462 "error" : "badSyntax",
5464 "error_message" : "Syntax error."
5468 {"tx_history: too many arguments.",
5470 {
"tx_history",
"0",
"1"},
5473 "method" : "tx_history",
5476 "error" : "badSyntax",
5478 "error_message" : "Syntax error."
5484 "tx_history: start too small.",
5486 {
"tx_history",
"-1"},
5492 "tx_history: start too big.",
5494 {
"tx_history",
"4294967296"},
5500 "tx_history: start not integer.",
5502 {
"tx_history",
"beginning"},
5509 {
"unl_list: minimal.",
5516 "method" : "unl_list",
5519 "api_version" : %API_VER%,
5523 {"unl_list: too many arguments.",
5525 {
"unl_list",
"extra"},
5528 "method" : "unl_list",
5531 "error" : "badSyntax",
5533 "error_message" : "Syntax error."
5540 {
"validation_create: minimal.",
5543 "validation_create",
5547 "method" : "validation_create",
5550 "api_version" : %API_VER%,
5554 {"validation_create: with secret.",
5556 {
"validation_create",
"the form of the secret is not validated"},
5559 "method" : "validation_create",
5562 "api_version" : %API_VER%,
5563 "secret" : "the form of the secret is not validated"
5567 {"validation_create: too many arguments.",
5569 {
"validation_create",
"the form of the secret is not validated",
"extra"},
5572 "method" : "validation_create",
5575 "error" : "badSyntax",
5577 "error_message" : "Syntax error."
5584 {
"version: minimal.",
5591 "method" : "version",
5594 "api_version" : %API_VER%,
5598 {"version: too many arguments.",
5600 {
"version",
"extra"},
5603 "method" : "version",
5606 "error" : "badSyntax",
5608 "error_message" : "Syntax error."
5615 {
"wallet_propose: minimal.",
5622 "method" : "wallet_propose",
5625 "api_version" : %API_VER%,
5629 {"wallet_propose: with passphrase.",
5631 {
"wallet_propose",
"the form of the passphrase is not validated"},
5634 "method" : "wallet_propose",
5637 "api_version" : %API_VER%,
5638 "passphrase" : "the form of the passphrase is not validated"
5642 {"wallet_propose: too many arguments.",
5644 {
"wallet_propose",
"the form of the passphrase is not validated",
"extra"},
5647 "method" : "wallet_propose",
5650 "error" : "badSyntax",
5652 "error_message" : "Syntax error."
5659 {
"internal: minimal.",
5661 {
"internal",
"command_name"},
5664 "method" : "internal",
5667 "api_version" : %API_VER%,
5668 "internal_command" : "command_name",
5673 {"internal: with parameters.",
5684 "method" : "internal",
5687 "api_version" : %API_VER%,
5688 "internal_command" : "command_name",
5689 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5693 {"internal: too few arguments.",
5700 "method" : "internal",
5703 "error" : "badSyntax",
5705 "error_message" : "Syntax error."
5712 {
"path_find: minimal.",
5719 "method" : "path_find",
5722 "error" : "noEvents",
5724 "error_message" : "Current transport does not support events."
5728 {"path_find: with arguments.",
5730 {
"path_find",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5733 "method" : "path_find",
5736 "error" : "noEvents",
5738 "error_message" : "Current transport does not support events."
5745 {
"subscribe: minimal.",
5752 "method" : "subscribe",
5755 "error" : "noEvents",
5757 "error_message" : "Current transport does not support events."
5761 {"subscribe: with arguments.",
5763 {
"subscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5766 "method" : "subscribe",
5769 "error" : "noEvents",
5771 "error_message" : "Current transport does not support events."
5778 {
"unsubscribe: minimal.",
5785 "method" : "unsubscribe",
5788 "error" : "noEvents",
5790 "error_message" : "Current transport does not support events."
5794 {"unsubscribe: with arguments.",
5796 {
"unsubscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5799 "method" : "unsubscribe",
5802 "error" : "noEvents",
5804 "error_message" : "Current transport does not support events."
5811 {
"unknown_command: minimal.",
5818 "method" : "unknown_command",
5821 "api_version" : %API_VER%,
5825 {"unknown_command: with arguments.",
5827 {
"unknown_command",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5830 "method" : "unknown_command",
5833 "api_version" : %API_VER%,
5834 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5844 static auto const place_holder =
"%API_VER%";
5846 boost::replace_all(jr, place_holder, version_str);
5853 using namespace test::jtx;
5855 cfg->NETWORK_ID = networkID;
5866 testcase <<
"RPCCall API version " << apiVersion;
5878 if (!BEAST_EXPECT(!rpcCallTest.exp.empty()))
5882 rpcCallTest.args.
begin(), rpcCallTest.args.end()};
5884 const char*
const expVersioned =
5886 rpcCallTest.exp.size()
5888 : rpcCallTest.exp.back();
5906 fail(rpcCallTest.description, __FILE__, rpcCallTest.line);
5919 if (
json.isMember(jss::params) &&
json[jss::params].isArray() &&
5920 json[jss::params].size() > 0 &&
5921 json[jss::params][0u].isObject())
5923 json[jss::params][0u].removeMember(jss::error_code);
5937 fail(rpcCallTest.description, __FILE__, rpcCallTest.line);
Unserialize a JSON document into a Value.
bool parse(std::string const &document, Value &root)
Read a Value from a JSON document.
void pass()
Record a successful test condition.
testcase_t testcase
Memberspace for declaring test cases.
void fail(String const &reason, char const *file, int line)
Record a failure.
void testRPCCall(unsigned apiVersion)
void run() override
Runs the suite.
A transaction testing environment.
beast::Journal const journal
static constexpr auto apiMaximumValidVersion
static constexpr auto apiMinimumSupportedVersion
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
Json::Value cmdToJSONRPC(std::vector< std::string > const &args, beast::Journal j, unsigned int apiVersion)
Given a rippled unit test rpc command, return the corresponding JSON.
std::string updateAPIVersionString(const char *const req, unsigned apiVersion)
static RPCCallTestData const rpcCallTestArray[]
std::unique_ptr< Config > makeNetworkConfig(uint32_t networkID)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void forAllApiVersions(Fn const &fn, Args &&... args)
Exception const throwsWhat
RPCCallTestData(char const *description_, int line_, std::initializer_list< char const * > const &args_, Exception throwsWhat_, char const *exp_)
RPCCallTestData & operator=(RPCCallTestData const &)=delete
RPCCallTestData(char const *description_, int line_, std::initializer_list< char const * > const &args_, Exception throwsWhat_, std::initializer_list< char const * > exp_)
std::vector< char const * > exp
RPCCallTestData(RPCCallTestData &&)=delete
RPCCallTestData & operator=(RPCCallTestData &&)=delete
std::vector< char const * > const args
RPCCallTestData(RPCCallTestData const &)=delete
char const *const description