19#include <test/jtx/utility.h>
21#include <xrpld/rpc/RPCCall.h>
22#include <xrpld/rpc/detail/RPCHelpers.h>
24#include <xrpl/beast/unit_test.h>
25#include <xrpl/json/json_reader.h>
26#include <xrpl/protocol/ErrorCodes.h>
28#include <boost/algorithm/string.hpp>
52 char const* description_,
66 char const* description_,
91 {
"account_channels: minimal.",
93 {
"account_channels",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
96 "method" : "account_channels",
99 "api_version" : %API_VER%,
100 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
104 {"account_channels: account and ledger hash.",
107 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
108 "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"},
111 "method" : "account_channels",
114 "api_version" : %API_VER%,
115 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
116 "destination_account" : "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"
120 {"account_channels: account and ledger index.",
123 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
124 "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"},
127 "method" : "account_channels",
130 "api_version" : %API_VER%,
131 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
132 "destination_account" : "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"
136 {"account_channels: two accounts.",
139 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
140 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
143 "method" : "account_channels",
146 "api_version" : %API_VER%,
147 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
148 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
152 {"account_channels: two accounts and ledger hash.",
155 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
156 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
157 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
160 "method" : "account_channels",
163 "api_version" : %API_VER%,
164 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
165 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
166 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
170 {"account_channels: two accounts and ledger index.",
173 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
174 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
178 "method" : "account_channels",
181 "api_version" : %API_VER%,
182 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
183 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
184 "ledger_index" : 90210
188 {"account_channels: too few arguments.",
195 "method" : "account_channels",
198 "error" : "badSyntax",
200 "error_message" : "Syntax error."
204 {"account_channels: too many arguments.",
207 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
208 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
213 "method" : "account_channels",
216 "error" : "badSyntax",
218 "error_message" : "Syntax error."
222 {"account_channels: invalid accountID.",
230 "method" : "account_channels",
233 "error" : "actMalformed",
235 "error_message" : "Account malformed."
242 {
"account_currencies: minimal 1.",
244 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
247 "method" : "account_currencies",
250 "api_version" : %API_VER%,
251 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
255 {"account_currencies: minimal 2.",
257 {
"account_currencies",
"racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"},
260 "method" : "account_currencies",
263 "api_version" : %API_VER%,
264 "account" : "racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"
268 {"account_currencies: ledger index.",
270 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"42"},
273 "method" : "account_currencies",
276 "api_version" : %API_VER%,
277 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
282 {"account_currencies: validated ledger.",
284 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
287 "method" : "account_currencies",
290 "api_version" : %API_VER%,
291 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
292 "ledger_index" : "validated"
296 {"account_currencies: current ledger.",
298 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"current"},
301 "method" : "account_currencies",
304 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
305 "api_version" : %API_VER%,
306 "ledger_index" : "current"
310 {"account_currencies: too few arguments.",
313 "account_currencies",
317 "method" : "account_currencies",
320 "error" : "badSyntax",
322 "error_message" : "Syntax error."
326 {"account_currencies: too many arguments.",
328 {
"account_currencies",
329 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
335 "method" : "account_currencies",
338 "error" : "badSyntax",
340 "error_message" : "Syntax error."
344 {"account_currencies: invalid second argument.",
346 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"yup"},
349 "method" : "account_currencies",
352 "api_version" : %API_VER%,
353 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
359 "account_currencies: invalid accountID.",
362 "account_currencies",
367 "method" : "account_currencies",
370 "error" : "actMalformed",
372 "error_message" : "Account malformed."
380 {
"account_info: minimal.",
382 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
385 "method" : "account_info",
388 "api_version" : %API_VER%,
389 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
393 {"account_info: with numeric ledger index.",
395 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
398 "method" : "account_info",
401 "api_version" : %API_VER%,
402 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
403 "ledger_index" : 77777
407 {"account_info: with text ledger index.",
409 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
412 "method" : "account_info",
415 "api_version" : %API_VER%,
416 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
417 "ledger_index" : "closed"
421 {"account_info: with ledger hash.",
424 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
425 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
428 "method" : "account_info",
431 "api_version" : %API_VER%,
432 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
433 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
437 {"account_info: with ledger index.",
439 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
442 "method" : "account_info",
445 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
446 "api_version" : %API_VER%,
447 "ledger_index" : "validated"
451 {"account_info: too few arguments.",
458 "method" : "account_info",
461 "error" : "badSyntax",
463 "error_message" : "Syntax error."
467 {"account_info: too many arguments.",
470 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
476 "method" : "account_info",
479 "error" : "badSyntax",
481 "error_message" : "Syntax error."
486 "account_info: invalid accountID.",
494 "method" : "account_info",
497 "error" : "actMalformed",
499 "error_message" : "Account malformed."
507 {
"account_lines: minimal.",
509 {
"account_lines",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
512 "method" : "account_lines",
515 "api_version" : %API_VER%,
516 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
520 {"account_lines: peer.",
523 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
524 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
527 "method" : "account_lines",
530 "api_version" : %API_VER%,
531 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
532 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
536 {"account_lines: peer and numeric ledger index.",
539 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
540 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
544 "method" : "account_lines",
547 "api_version" : %API_VER%,
548 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
549 "ledger_index" : 888888888,
550 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
554 {"account_lines: peer and text ledger index.",
557 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
558 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
562 "method" : "account_lines",
565 "api_version" : %API_VER%,
566 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
567 "ledger_index" : "closed",
568 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
572 {"account_lines: peer and ledger hash.",
575 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
576 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
577 "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000"},
580 "method" : "account_lines",
583 "api_version" : %API_VER%,
584 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
585 "ledger_hash" : "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000",
586 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
590 {"account_lines: too few arguments.",
597 "method" : "account_lines",
600 "error" : "badSyntax",
602 "error_message" : "Syntax error."
607 "account_lines: four arguments.",
610 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
611 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
616 "method" : "account_lines",
619 "api_version" : %API_VER%,
620 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
621 "ledger_index" : 12345678,
622 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
627 "account_lines: five arguments.",
630 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
631 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
634 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
637 "method" : "account_lines",
640 "api_version" : %API_VER%,
641 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
642 "ledger_index" : 12345678,
643 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
647 {"account_lines: too many arguments.",
650 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
651 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
654 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
658 "method" : "account_lines",
661 "error" : "badSyntax",
663 "error_message" : "Syntax error."
668 "account_lines: first invalid accountID.",
676 "method" : "account_lines",
679 "error" : "actMalformed",
681 "error_message" : "Account malformed."
687 "account_lines: second invalid accountID.",
691 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
696 "method" : "account_lines",
699 "api_version" : %API_VER%,
700 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
706 "account_lines: invalid ledger selector.",
709 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
710 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
714 "method" : "account_lines",
717 "api_version" : %API_VER%,
718 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
720 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
728 {
"account_objects: minimal.",
730 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
733 "method" : "account_objects",
736 "api_version" : %API_VER%,
737 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
741 {"account_objects: with numeric ledger index.",
743 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
746 "method" : "account_objects",
749 "api_version" : %API_VER%,
750 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
751 "ledger_index" : 77777
755 {"account_objects: with text ledger index.",
757 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
760 "method" : "account_objects",
763 "api_version" : %API_VER%,
764 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
765 "ledger_index" : "closed"
769 {"account_objects: with ledger hash.",
772 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
773 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
776 "method" : "account_objects",
779 "api_version" : %API_VER%,
780 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
781 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
785 {"account_objects: with ledger index.",
787 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
790 "method" : "account_objects",
793 "api_version" : %API_VER%,
794 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
795 "ledger_index" : "validated"
799 {"account_objects: too few arguments.",
806 "method" : "account_objects",
809 "error" : "badSyntax",
811 "error_message" : "Syntax error."
816 "account_objects: four arguments.",
820 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
827 "method" : "account_objects",
830 "api_version" : %API_VER%,
831 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
836 "account_objects: five arguments.",
840 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
848 "method" : "account_objects",
851 "api_version" : %API_VER%,
852 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
856 {"account_objects: too many arguments.",
860 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
869 "method" : "account_objects",
872 "error" : "badSyntax",
874 "error_message" : "Syntax error."
879 "account_objects: invalid accountID.",
887 "method" : "account_objects",
890 "error" : "actMalformed",
892 "error_message" : "Account malformed."
900 "account_objects: invalid ledger selection 1.",
902 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
905 "method" : "account_objects",
908 "api_version" : %API_VER%,
909 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
918 "account_objects: invalid ledger selection 2.",
920 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
923 "method" : "account_objects",
926 "api_version" : %API_VER%,
927 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
936 {
"account_offers: minimal.",
938 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
941 "method" : "account_offers",
944 "api_version" : %API_VER%,
945 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
949 {"account_offers: with numeric ledger index.",
951 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
954 "method" : "account_offers",
957 "api_version" : %API_VER%,
958 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
959 "ledger_index" : 987654321
963 {"account_offers: with text ledger index.",
965 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
968 "method" : "account_offers",
971 "api_version" : %API_VER%,
972 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
973 "ledger_index" : "validated"
977 {"account_offers: with ledger hash.",
980 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
981 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
984 "method" : "account_offers",
987 "api_version" : %API_VER%,
988 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
989 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
993 {"account_offers: with ledger index.",
995 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
998 "method" : "account_offers",
1001 "api_version" : %API_VER%,
1002 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1003 "ledger_index" : "validated"
1007 {"account_offers: too few arguments.",
1014 "method" : "account_offers",
1017 "error" : "badSyntax",
1019 "error_message" : "Syntax error."
1024 "account_offers: four arguments.",
1027 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1032 "method" : "account_offers",
1035 "api_version" : %API_VER%,
1036 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1040 {"account_offers: too many arguments.",
1044 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1052 "method" : "account_offers",
1055 "error" : "badSyntax",
1057 "error_message" : "Syntax error."
1062 "account_offers: invalid accountID.",
1070 "method" : "account_offers",
1073 "error" : "actMalformed",
1075 "error_message" : "Account malformed."
1083 "account_offers: invalid ledger selection 1.",
1085 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1088 "method" : "account_offers",
1091 "api_version" : %API_VER%,
1092 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1101 "account_offers: invalid ledger selection 2.",
1103 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1106 "method" : "account_offers",
1109 "api_version" : %API_VER%,
1110 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1119 {
"account_tx: minimal.",
1121 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
1124 "method" : "account_tx",
1127 "api_version" : %API_VER%,
1128 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1132 {"account_tx: ledger_index .",
1134 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"444"},
1137 "method" : "account_tx",
1140 "api_version" : %API_VER%,
1141 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1142 "ledger_index" : 444
1146 {"account_tx: ledger_index plus trailing params.",
1149 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1156 "method" : "account_tx",
1159 "api_version" : %API_VER%,
1160 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1163 "descending" : true,
1164 "ledger_index" : 707
1168 {"account_tx: ledger_index_min and _max.",
1170 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"-1"},
1173 "method" : "account_tx",
1176 "api_version" : %API_VER%,
1177 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1178 "ledger_index_max" : -1,
1179 "ledger_index_min" : -1
1183 {"account_tx: ledger_index_min and _max plus trailing params.",
1186 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1194 "method" : "account_tx",
1197 "api_version" : %API_VER%,
1198 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1201 "descending" : true,
1202 "ledger_index_max" : 413,
1203 "ledger_index_min" : -1
1207 {"account_tx: ledger_index_min and _max plus limit.",
1209 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"247",
"-1",
"300"},
1212 "method" : "account_tx",
1215 "api_version" : %API_VER%,
1216 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1217 "ledger_index_max" : -1,
1218 "ledger_index_min" : 247,
1223 {"account_tx: ledger_index_min and _max, limit, trailing args.",
1226 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1235 "method" : "account_tx",
1238 "api_version" : %API_VER%,
1239 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1242 "descending" : true,
1243 "ledger_index_max" : -1,
1244 "ledger_index_min" : 247,
1249 {"account_tx: ledger_index_min and _max plus limit and offset.",
1252 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1259 "method" : "account_tx",
1262 "api_version" : %API_VER%,
1263 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1264 "ledger_index_max" : 590,
1265 "ledger_index_min" : 589,
1271 {"account_tx: ledger_index_min and _max, limit, offset, trailing.",
1274 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1283 "method" : "account_tx",
1286 "api_version" : %API_VER%,
1287 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1289 "descending" : true,
1290 "ledger_index_max" : 590,
1291 "ledger_index_min" : 589,
1297 {"account_tx: too few arguments.",
1304 "method" : "account_tx",
1307 "error" : "badSyntax",
1309 "error_message" : "Syntax error."
1313 {"account_tx: too many arguments.",
1316 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1327 "method" : "account_tx",
1330 "error" : "badSyntax",
1332 "error_message" : "Syntax error."
1337 "account_tx: invalid accountID.",
1339 {
"account_tx",
"rHb9CJAWyB4rj9!VRWn96DkukG4bwdtyTh"},
1342 "method" : "account_tx",
1345 "error" : "actMalformed",
1347 "error_message" : "Account malformed."
1354 "account_tx: invalid ledger.",
1356 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-478.7"},
1359 "method" : "account_tx",
1362 "api_version" : %API_VER%,
1363 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1370 "account_tx: max less than min.",
1372 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"580",
"579"},
1376 "method" : "account_tx",
1379 "error" : "lgrIdxsInvalid",
1381 "error_message" : "Ledger indexes invalid."
1386 "method" : "account_tx",
1389 "error" : "notSynced",
1391 "error_message" : "Not synced to the network."
1398 "account_tx: non-integer min.",
1400 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"Binary",
"-1"},
1406 "account_tx: non-integer max.",
1408 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"counts"},
1414 "account_tx: non-integer offset.",
1417 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1426 "account_tx: non-integer limit.",
1429 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1438 "account_tx: RIPD-1570.",
1441 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1453 {
"book_offers: minimal no issuer.",
1462 "method" : "book_offers",
1465 "api_version" : %API_VER%,
1475 {"book_offers: minimal with currency/issuer",
1479 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1480 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1484 "method" : "book_offers",
1487 "api_version" : %API_VER%,
1490 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1494 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1501 "book_offers: add issuer.",
1503 {
"book_offers",
"USD",
"EUR",
"rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
1506 "method" : "book_offers",
1509 "api_version" : %API_VER%,
1510 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1520 {"book_offers: add issuer and numeric ledger index.",
1523 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1525 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1529 "method" : "book_offers",
1532 "api_version" : %API_VER%,
1533 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1534 "ledger_index" : 666,
1540 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1545 {"book_offers: add issuer and text ledger index.",
1549 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1550 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1554 "method" : "book_offers",
1557 "api_version" : %API_VER%,
1558 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1559 "ledger_index" : "current",
1562 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1570 {"book_offers: add issuer and ledger hash.",
1573 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1574 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1575 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1576 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
1579 "method" : "book_offers",
1582 "api_version" : %API_VER%,
1583 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1584 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1587 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1591 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1596 {"book_offers: issuer, ledger hash, and limit.",
1600 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1601 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1602 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1603 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1610 "method" : "book_offers",
1613 "api_version" : %API_VER%,
1614 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1615 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1620 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1624 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1630 "book_offers: issuer, ledger hash, limit, and marker.",
1633 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1634 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1635 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1636 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1642 "method" : "book_offers",
1645 "api_version" : %API_VER%,
1646 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1647 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1649 "marker" : "MyMarker",
1653 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1657 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1662 {"book_offers: too few arguments.",
1669 "method" : "book_offers",
1672 "error" : "badSyntax",
1674 "error_message" : "Syntax error."
1678 {"book_offers: too many arguments.",
1681 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1682 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1683 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1684 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1691 "method" : "book_offers",
1694 "error" : "badSyntax",
1696 "error_message" : "Syntax error."
1701 {"book_offers: taker pays no currency.",
1705 "/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1706 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1710 "method" : "book_offers",
1713 "error" : "invalidParams",
1715 "error_message" : "Invalid currency/issuer '/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh'"
1719 {"book_offers: taker gets no currency.",
1723 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1724 "/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1728 "method" : "book_offers",
1731 "error" : "invalidParams",
1733 "error_message" : "Invalid currency/issuer '/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA'"
1737 {"book_offers: invalid issuer.",
1739 {
"book_offers",
"USD",
"EUR",
"not_a_valid_issuer"},
1742 "method" : "book_offers",
1745 "api_version" : %API_VER%,
1746 "issuer" : "not_a_valid_issuer",
1756 {"book_offers: invalid text ledger index.",
1760 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1761 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1765 "method" : "book_offers",
1768 "api_version" : %API_VER%,
1769 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1773 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1782 "book_offers: non-numeric limit.",
1786 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1787 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1788 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1789 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1799 {
"can_delete: minimal.",
1806 "method" : "can_delete",
1809 "api_version" : %API_VER%,
1813 {"can_delete: ledger index.",
1821 "method" : "can_delete",
1824 "api_version" : %API_VER%,
1825 "can_delete" : 4294967295
1829 {"can_delete: ledger hash.",
1833 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
1837 "method" : "can_delete",
1840 "api_version" : %API_VER%,
1841 "can_delete" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210"
1845 {"can_delete: always.",
1853 "method" : "can_delete",
1856 "api_version" : %API_VER%,
1857 "can_delete" : "always"
1861 {"can_delete: never.",
1869 "method" : "can_delete",
1872 "api_version" : %API_VER%,
1873 "can_delete" : "never"
1877 {"can_delete: now.",
1885 "method" : "can_delete",
1888 "api_version" : %API_VER%,
1889 "can_delete" : "now"
1893 {"can_delete: too many arguments.",
1895 {
"can_delete",
"always",
"never"},
1898 "method" : "can_delete",
1901 "error" : "badSyntax",
1903 "error_message" : "Syntax error."
1907 {"can_delete: invalid argument.",
1909 {
"can_delete",
"invalid"},
1912 "method" : "can_delete",
1915 "api_version" : %API_VER%,
1916 "can_delete" : "invalid"
1921 "can_delete: ledger index > 32 bits.",
1930 "can_delete: ledger hash with no alphas.",
1934 "0123456701234567012345670123456701234567012345670123456701234567",
1941 {
"channel_authorize: minimal.",
1943 {
"channel_authorize",
1944 "secret_can_be_anything",
1945 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1946 "18446744073709551615"},
1949 "method" : "channel_authorize",
1952 "api_version" : %API_VER%,
1953 "amount" : "18446744073709551615",
1954 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1955 "secret" : "secret_can_be_anything"
1959 {"channel_authorize: too few arguments.",
1962 "channel_authorize",
1963 "secret_can_be_anything",
1964 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1968 "method" : "channel_authorize",
1971 "error" : "badSyntax",
1973 "error_message" : "Syntax error."
1977 {"channel_authorize: too many arguments.",
1979 {
"channel_authorize",
1981 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1987 "method" : "channel_authorize",
1990 "error" : "badSyntax",
1992 "error_message" : "Syntax error."
1996 {"channel_authorize: bad key type.",
1998 {
"channel_authorize",
2000 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2005 "method" : "channel_authorize",
2008 "error" : "badKeyType",
2010 "error_message" : "Bad key type."
2014 {"channel_authorize: channel_id too short.",
2016 {
"channel_authorize",
2017 "secret_can_be_anything",
2018 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2022 "method" : "channel_authorize",
2025 "error" : "channelMalformed",
2027 "error_message" : "Payment channel is malformed."
2031 {"channel_authorize: channel_id too long.",
2033 {
"channel_authorize",
2034 "secret_can_be_anything",
2035 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2039 "method" : "channel_authorize",
2042 "error" : "channelMalformed",
2044 "error_message" : "Payment channel is malformed."
2048 {"channel_authorize: channel_id not hex.",
2050 {
"channel_authorize",
2051 "secret_can_be_anything",
2052 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEZ",
2056 "method" : "channel_authorize",
2059 "error" : "channelMalformed",
2061 "error_message" : "Payment channel is malformed."
2065 {"channel_authorize: negative amount.",
2067 {
"channel_authorize",
2068 "secret_can_be_anything",
2069 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2073 "method" : "channel_authorize",
2076 "error" : "channelAmtMalformed",
2078 "error_message" : "Payment channel amount is malformed."
2082 {"channel_authorize: amount > 64 bits.",
2084 {
"channel_authorize",
2085 "secret_can_be_anything",
2086 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2087 "18446744073709551616"},
2090 "method" : "channel_authorize",
2093 "error" : "channelAmtMalformed",
2095 "error_message" : "Payment channel amount is malformed."
2102 {
"channel_verify: public key.",
2105 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2106 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2111 "method" : "channel_verify",
2114 "api_version" : %API_VER%,
2116 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2117 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2118 "signature" : "DEADBEEF"
2122 {"channel_verify: public key hex.",
2125 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2126 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2127 "18446744073709551615",
2131 "method" : "channel_verify",
2134 "api_version" : %API_VER%,
2135 "amount" : "18446744073709551615",
2136 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2137 "public_key" : "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2138 "signature" : "DEADBEEF"
2142 {"channel_verify: too few arguments.",
2145 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2146 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
2149 "method" : "channel_verify",
2152 "error" : "badSyntax",
2154 "error_message" : "Syntax error."
2158 {"channel_verify: too many arguments.",
2161 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2162 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2168 "method" : "channel_verify",
2171 "error" : "badSyntax",
2173 "error_message" : "Syntax error."
2177 {"channel_verify: malformed public key.",
2180 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9GoV",
2181 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2186 "method" : "channel_verify",
2189 "error" : "publicMalformed",
2191 "error_message" : "Public key is malformed."
2195 {"channel_verify: malformed hex public key.",
2198 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F",
2199 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2204 "method" : "channel_verify",
2207 "error" : "publicMalformed",
2209 "error_message" : "Public key is malformed."
2213 {"channel_verify: invalid channel id.",
2216 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2217 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2222 "method" : "channel_verify",
2225 "error" : "channelMalformed",
2227 "error_message" : "Payment channel is malformed."
2231 {"channel_verify: short channel id.",
2234 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2235 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2240 "method" : "channel_verify",
2243 "error" : "channelMalformed",
2245 "error_message" : "Payment channel is malformed."
2249 {"channel_verify: amount too small.",
2252 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2253 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2258 "method" : "channel_verify",
2261 "error" : "channelAmtMalformed",
2263 "error_message" : "Payment channel amount is malformed."
2267 {"channel_verify: amount too large.",
2270 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2271 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2272 "18446744073709551616",
2276 "method" : "channel_verify",
2279 "error" : "channelAmtMalformed",
2281 "error_message" : "Payment channel amount is malformed."
2285 {"channel_verify: non-hex signature.",
2288 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2289 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2291 "ThisIsNotHexadecimal"},
2294 "method" : "channel_verify",
2297 "api_version" : %API_VER%,
2298 "amount" : "40000000",
2299 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2300 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2301 "signature" : "ThisIsNotHexadecimal"
2308 {
"connect: minimal.",
2312 "ThereIsNoCheckingOnTheIPFormat",
2316 "method" : "connect",
2319 "api_version" : %API_VER%,
2320 "ip" : "ThereIsNoCheckingOnTheIPFormat"
2324 {"connect: ip and port.",
2326 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561"},
2329 "method" : "connect",
2332 "api_version" : %API_VER%,
2333 "ip" : "ThereIsNoCheckingOnTheIPFormat",
2338 {"connect: too few arguments.",
2345 "method" : "connect",
2348 "error" : "badSyntax",
2350 "error_message" : "Syntax error."
2354 {"connect: too many arguments.",
2356 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561",
"extra"},
2359 "method" : "connect",
2362 "error" : "badSyntax",
2364 "error_message" : "Syntax error."
2369 "connect: port too small.",
2373 "ThereIsNoCheckingOnTheIPFormat",
2379 "connect: port too large.",
2383 "ThereIsNoCheckingOnTheIPFormat",
2391 {
"consensus_info: minimal.",
2398 "method" : "consensus_info",
2401 "api_version" : %API_VER%
2405 {"consensus_info: too many arguments.",
2407 {
"consensus_info",
"whatever"},
2410 "method" : "consensus_info",
2413 "error" : "badSyntax",
2415 "error_message" : "Syntax error."
2422 {
"deposit_authorized: minimal.",
2425 "deposit_authorized",
2426 "source_account_NotValidated",
2427 "destination_account_NotValidated",
2431 "method" : "deposit_authorized",
2434 "api_version" : %API_VER%,
2435 "destination_account" : "destination_account_NotValidated",
2436 "source_account" : "source_account_NotValidated"
2440 {"deposit_authorized: with text ledger index.",
2442 {
"deposit_authorized",
2443 "source_account_NotValidated",
2444 "destination_account_NotValidated",
2448 "method" : "deposit_authorized",
2451 "api_version" : %API_VER%,
2452 "destination_account" : "destination_account_NotValidated",
2453 "ledger_index" : "validated",
2454 "source_account" : "source_account_NotValidated"
2458 {"deposit_authorized: with ledger index.",
2460 {
"deposit_authorized",
2461 "source_account_NotValidated",
2462 "destination_account_NotValidated",
2474 "method" : "deposit_authorized",
2477 "api_version" : %API_VER%,
2478 "destination_account" : "destination_account_NotValidated",
2479 "ledger_index" : 4294967295,
2480 "source_account" : "source_account_NotValidated",
2481 "credentials": ["cred1", "cred2", "cred3", "cred4", "cred5", "cred6", "cred7", "cred8"]
2485 {"deposit_authorized: with ledger hash.",
2487 {
"deposit_authorized",
2488 "source_account_NotValidated",
2489 "destination_account_NotValidated",
2490 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
2493 "method" : "deposit_authorized",
2496 "api_version" : %API_VER%,
2497 "destination_account" : "destination_account_NotValidated",
2498 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2499 "source_account" : "source_account_NotValidated"
2503 {"deposit_authorized: too few arguments.",
2506 "deposit_authorized",
2507 "source_account_NotValidated",
2511 "method" : "deposit_authorized",
2514 "error" : "badSyntax",
2516 "error_message" : "Syntax error."
2520 {"deposit_authorized: too many arguments.",
2522 {
"deposit_authorized",
2523 "source_account_NotValidated",
2524 "destination_account_NotValidated",
2525 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2537 "method" : "deposit_authorized",
2540 "error" : "badSyntax",
2542 "error_message" : "Syntax error."
2546 {"deposit_authorized: invalid ledger selection.",
2549 "deposit_authorized",
2550 "source_account_NotValidated",
2551 "destination_account_NotValidated",
2556 "method" : "deposit_authorized",
2559 "api_version" : %API_VER%,
2560 "destination_account" : "destination_account_NotValidated",
2562 "source_account" : "source_account_NotValidated"
2569 {
"feature: minimal.",
2576 "method" : "feature",
2579 "api_version" : %API_VER%,
2583 {"feature: with name.",
2585 {
"feature",
"featureNameOrHexIsNotValidated"},
2588 "method" : "feature",
2591 "api_version" : %API_VER%,
2592 "feature" : "featureNameOrHexIsNotValidated"
2596 {"feature: accept.",
2599 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA98"
2604 "method" : "feature",
2607 "api_version" : %API_VER%,
2608 "feature" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
2613 {"feature: reject.",
2615 {
"feature",
"0",
"reject"},
2618 "method" : "feature",
2621 "api_version" : %API_VER%,
2627 {"feature: too many arguments.",
2629 {
"feature",
"featureNameOrHexIsNotValidated",
"accept",
"anotherArg"},
2632 "method" : "feature",
2635 "error" : "badSyntax",
2637 "error_message" : "Syntax error."
2641 {"feature: neither accept nor reject.",
2645 "featureNameOrHexIsNotValidated",
2650 "method" : "feature",
2653 "error" : "invalidParams",
2655 "error_message" : "Invalid parameters."
2662 {
"fetch_info: minimal.",
2669 "method" : "fetch_info",
2672 "api_version" : %API_VER%,
2676 {"fetch_info: clear.",
2678 {
"fetch_info",
"clear"},
2681 "method" : "fetch_info",
2684 "api_version" : %API_VER%,
2689 {"fetch_info: too many arguments.",
2691 {
"fetch_info",
"clear",
"other"},
2694 "method" : "fetch_info",
2697 "error" : "badSyntax",
2699 "error_message" : "Syntax error."
2703 {"fetch_info: other trailing argument.",
2705 {
"fetch_info",
"too"},
2708 "method" : "fetch_info",
2711 "api_version" : %API_VER%,
2719 {
"gateway_balances: minimal.",
2721 {
"gateway_balances",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2724 "method" : "gateway_balances",
2727 "api_version" : %API_VER%,
2728 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2732 {"gateway_balances: with ledger index.",
2734 {
"gateway_balances",
"890765",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2737 "method" : "gateway_balances",
2740 "api_version" : %API_VER%,
2741 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2742 "ledger_index" : "890765"
2746 {"gateway_balances: with text ledger index.",
2748 {
"gateway_balances",
"current",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2751 "method" : "gateway_balances",
2754 "api_version" : %API_VER%,
2755 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2756 "ledger_index" : "current"
2760 {"gateway_balances: with 64 character ledger hash.",
2762 {
"gateway_balances",
2763 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2764 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2767 "method" : "gateway_balances",
2770 "api_version" : %API_VER%,
2771 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2772 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2776 {"gateway_balances: 1 hotwallet.",
2778 {
"gateway_balances",
2779 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2780 "hotwallet_is_not_validated"},
2783 "method" : "gateway_balances",
2786 "api_version" : %API_VER%,
2787 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2788 "hotwallet" : [ "hotwallet_is_not_validated" ]
2792 {"gateway_balances: 3 hotwallets.",
2796 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2797 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2798 "hotwallet_is_not_validated_1",
2799 "hotwallet_is_not_validated_2",
2800 "hotwallet_is_not_validated_3",
2804 "method" : "gateway_balances",
2807 "api_version" : %API_VER%,
2808 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2810 "hotwallet_is_not_validated_1",
2811 "hotwallet_is_not_validated_2",
2812 "hotwallet_is_not_validated_3"
2814 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2818 {"gateway_balances: too few arguments.",
2825 "method" : "gateway_balances",
2828 "error" : "badSyntax",
2830 "error_message" : "Syntax error."
2834 {"gateway_balances: empty first argument.",
2836 {
"gateway_balances",
""},
2839 "method" : "gateway_balances",
2842 "error" : "invalidParams",
2844 "error_message" : "Invalid first parameter"
2848 {"gateway_balances: with ledger index but no gateway.",
2856 "method" : "gateway_balances",
2859 "error" : "invalidParams",
2861 "error_message" : "Invalid hotwallet"
2865 {"gateway_balances: with text ledger index but no gateway.",
2873 "method" : "gateway_balances",
2876 "error" : "invalidParams",
2878 "error_message" : "Invalid hotwallet"
2882 {"gateway_balances: with 64 character ledger hash but no gateway.",
2886 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2890 "method" : "gateway_balances",
2893 "error" : "invalidParams",
2895 "error_message" : "Invalid hotwallet"
2902 {
"get_counts: minimal.",
2909 "method" : "get_counts",
2912 "api_version" : %API_VER%,
2916 {"get_counts: with maximum count.",
2918 {
"get_counts",
"100"},
2921 "method" : "get_counts",
2924 "api_version" : %API_VER%,
2929 {"get_counts: too many arguments.",
2931 {
"get_counts",
"100",
"whatever"},
2934 "method" : "get_counts",
2937 "error" : "badSyntax",
2939 "error_message" : "Syntax error."
2943 {"get_counts: count too small.",
2951 {"get_counts: count too large.",
2953 {
"get_counts",
"4294967296"},
2964 R
"({"json_argument":true})",
2968 "method" : "command",
2971 "api_version" : %API_VER%,
2972 "json_argument" : true,
2973 "method" : "command"
2977 {"json: null object.",
2986 "method" : "command",
2989 "api_version" : %API_VER%,
2990 "method" : "command"
2994 {"json: too few arguments.",
2996 {
"json",
"command"},
3002 "error" : "badSyntax",
3004 "error_message" : "Syntax error."
3008 {"json: too many arguments.",
3010 {
"json",
"command", R
"({"json_argument":true})", "extra"},
3016 "error" : "badSyntax",
3018 "error_message" : "Syntax error."
3022 {"json: array, not object.",
3027 R
"(["arg1","arg2"])",
3034 "error" : "invalidParams",
3036 "error_message" : "Invalid parameters."
3040 {"json: invalid json (note closing comma).",
3045 R
"({"json_argument":true,})",
3052 "error" : "invalidParams",
3054 "error_message" : "Invalid parameters."
3061 {
"json2: minimal object.",
3065 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3071 "method" : "call_1",
3074 "api_version" : %API_VER%,
3077 "method" : "call_1",
3083 {"json2: object with nested params.",
3089 "ripplerpc" : "2.0",
3091 "method" : "call_1",
3092 "params" : [{"inner_arg" : "yup"}]
3099 "method" : "call_1",
3102 "api_version" : %API_VER%,
3108 "method" : "call_1",
3114 {"json2: minimal array.",
3118 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"}])",
3126 "api_version" : %API_VER%,
3129 "method" : "call_1",
3135 {"json2: array with object with nested params.",
3144 "params" : [{"inner_arg" : "yup"}]}
3153 "api_version" : %API_VER%,
3159 "method" : "call_1",
3164 {"json2: too few arguments.",
3174 "error" : "badSyntax",
3176 "error_message" : "Syntax error."
3180 {"json2: too many arguments.",
3183 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_this"})",
3190 "error" : "badSyntax",
3192 "error_message" : "Syntax error."
3196 {"json2: malformed json (note extra comma).",
3200 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",})",
3209 "error" : "invalidParams",
3211 "error_message" : "Invalid parameters.",
3219 {"json2: omit jsonrpc.",
3223 R
"({"ripplerpc":"2.0","id":"A1","method":"call_1"})",
3231 "error" : "invalidParams",
3233 "error_message" : "Invalid parameters.",
3240 {"json2: wrong jsonrpc version.",
3244 R
"({"jsonrpc":"2.1","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3253 "error" : "invalidParams",
3255 "error_message" : "Invalid parameters.",
3263 {"json2: omit ripplerpc.",
3267 R
"({"jsonrpc":"2.0","id":"A1","method":"call_1"})",
3276 "error" : "invalidParams",
3278 "error_message" : "Invalid parameters.",
3284 {"json2: wrong ripplerpc version.",
3288 R
"({"jsonrpc":"2.0","ripplerpc":"2.00","id":"A1","method":"call_1"})",
3297 "error" : "invalidParams",
3299 "error_message" : "Invalid parameters.",
3302 "ripplerpc" : "2.00"
3305 "ripplerpc" : "2.00"
3311 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","method":"call_1"})",
3319 "error" : "invalidParams",
3321 "error_message" : "Invalid parameters.",
3328 {"json2: omit method.",
3332 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1"})",
3341 "error" : "invalidParams",
3343 "error_message" : "Invalid parameters.",
3351 {"json2: empty outer array.",
3362 "error" : "invalidParams",
3364 "error_message" : "Invalid parameters."
3368 {"json2: empty inner array.",
3372 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",[]}])",
3379 "error" : "invalidParams",
3381 "error_message" : "Invalid parameters."
3385 {"json2: array with non-json2 object.",
3391 "ripplerpc" : "2.0",
3402 "error" : "invalidParams",
3404 "error_message" : "Invalid parameters."
3408 {"json2: non-object or -array inner params member.",
3414 "ripplerpc" : "2.0",
3416 "method" : "call_1",
3427 "error" : "invalidParams",
3429 "error_message" : "Invalid parameters.",
3440 {
"ledger: minimal.",
3445 "method" : "ledger",
3448 "api_version" : %API_VER%,
3452 {"ledger: ledger index.",
3454 {
"ledger",
"4294967295"},
3457 "method" : "ledger",
3460 "api_version" : %API_VER%,
3461 "ledger_index" : 4294967295
3465 {"ledger: text ledger index.",
3467 {
"ledger",
"validated"},
3470 "method" : "ledger",
3473 "api_version" : %API_VER%,
3474 "ledger_index" : "validated"
3478 {"ledger: ledger hash.",
3481 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3484 "method" : "ledger",
3487 "api_version" : %API_VER%,
3488 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3494 {
"ledger",
"current",
"full"},
3497 "method" : "ledger",
3500 "api_version" : %API_VER%,
3502 "ledger_index" : "current"
3508 {
"ledger",
"closed",
"tx"},
3511 "method" : "ledger",
3514 "api_version" : %API_VER%,
3516 "ledger_index" : "closed",
3517 "transactions" : true
3521 {"ledger: too many arguments.",
3523 {
"ledger",
"4294967295",
"spare"},
3526 "method" : "ledger",
3529 "api_version" : %API_VER%,
3530 "ledger_index" : 4294967295
3534 {"ledger: ledger index too small.",
3539 "method" : "ledger",
3542 "api_version" : %API_VER%,
3547 {"ledger: ledger index too big.",
3549 {
"ledger",
"4294967296"},
3552 "method" : "ledger",
3555 "api_version" : %API_VER%,
3560 {"ledger: invalid ledger text.",
3562 {
"ledger",
"latest"},
3565 "method" : "ledger",
3568 "api_version" : %API_VER%,
3573 {"ledger: unsupported final argument.",
3575 {
"ledger",
"current",
"expand"},
3578 "method" : "ledger",
3581 "api_version" : %API_VER%,
3582 "ledger_index" : "current"
3589 {
"ledger_closed: minimal.",
3594 "method" : "ledger_closed",
3597 "api_version" : %API_VER%,
3601 {"ledger_closed: too many arguments.",
3603 {
"ledger_closed",
"today"},
3606 "method" : "ledger_closed",
3609 "error" : "badSyntax",
3611 "error_message" : "Syntax error."
3618 {
"ledger_current: minimal.",
3623 "method" : "ledger_current",
3626 "api_version" : %API_VER%,
3630 {"ledger_current: too many arguments.",
3632 {
"ledger_current",
"today"},
3635 "method" : "ledger_current",
3638 "error" : "badSyntax",
3640 "error_message" : "Syntax error."
3647 {
"ledger_header: ledger index.",
3649 {
"ledger_header",
"4294967295"},
3652 "method" : "ledger_header",
3655 "api_version" : %API_VER%,
3656 "ledger_index" : 4294967295
3660 {"ledger_header: ledger hash.",
3663 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3666 "method" : "ledger_header",
3669 "api_version" : %API_VER%,
3670 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3674 {"ledger_header: too few arguments.",
3681 "method" : "ledger_header",
3684 "error" : "badSyntax",
3686 "error_message" : "Syntax error."
3690 {"ledger_header: too many arguments.",
3692 {
"ledger_header",
"4294967295",
"spare"},
3695 "method" : "ledger_header",
3698 "error" : "badSyntax",
3700 "error_message" : "Syntax error."
3704 {"ledger_header: text ledger index.",
3706 {
"ledger_header",
"current"},
3709 "method" : "ledger_header",
3712 "api_version" : %API_VER%,
3717 {"ledger_header: ledger index too small.",
3719 {
"ledger_header",
"-1"},
3722 "method" : "ledger_header",
3725 "api_version" : %API_VER%,
3730 {"ledger_header: ledger index too big.",
3732 {
"ledger_header",
"4294967296"},
3735 "method" : "ledger_header",
3738 "api_version" : %API_VER%,
3746 {
"ledger_request: ledger index.",
3748 {
"ledger_request",
"4294967295"},
3751 "method" : "ledger_request",
3754 "api_version" : %API_VER%,
3755 "ledger_index" : 4294967295
3759 {"ledger_request: ledger hash.",
3762 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3765 "method" : "ledger_request",
3768 "api_version" : %API_VER%,
3769 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3773 {"ledger_request: too few arguments.",
3780 "method" : "ledger_request",
3783 "error" : "badSyntax",
3785 "error_message" : "Syntax error."
3789 {"ledger_request: too many arguments.",
3791 {
"ledger_request",
"4294967295",
"spare"},
3794 "method" : "ledger_request",
3797 "error" : "badSyntax",
3799 "error_message" : "Syntax error."
3803 {"ledger_request: text ledger index.",
3805 {
"ledger_request",
"current"},
3808 "method" : "ledger_request",
3811 "api_version" : %API_VER%,
3816 {"ledger_request: ledger index too small.",
3818 {
"ledger_request",
"-1"},
3821 "method" : "ledger_request",
3824 "api_version" : %API_VER%,
3829 {"ledger_request: ledger index too big.",
3831 {
"ledger_request",
"4294967296"},
3834 "method" : "ledger_request",
3837 "api_version" : %API_VER%,
3845 {
"log_level: minimal.",
3852 "method" : "log_level",
3855 "api_version" : %API_VER%,
3859 {"log_level: fatal.",
3861 {
"log_level",
"fatal"},
3864 "method" : "log_level",
3867 "api_version" : %API_VER%,
3868 "severity" : "fatal"
3872 {"log_level: error.",
3874 {
"log_level",
"error"},
3877 "method" : "log_level",
3880 "api_version" : %API_VER%,
3881 "severity" : "error"
3885 {"log_level: warn.",
3887 {
"log_level",
"warn"},
3890 "method" : "log_level",
3893 "api_version" : %API_VER%,
3898 {"log_level: debug.",
3900 {
"log_level",
"debug"},
3903 "method" : "log_level",
3906 "api_version" : %API_VER%,
3907 "severity" : "debug"
3911 {"log_level: trace.",
3913 {
"log_level",
"trace"},
3916 "method" : "log_level",
3919 "api_version" : %API_VER%,
3920 "severity" : "trace"
3924 {"log_level: base partition.",
3926 {
"log_level",
"base",
"trace"},
3929 "method" : "log_level",
3932 "api_version" : %API_VER%,
3933 "partition" : "base",
3934 "severity" : "trace"
3938 {"log_level: partiton_name.",
3940 {
"log_level",
"partition_name",
"fatal"},
3943 "method" : "log_level",
3946 "api_version" : %API_VER%,
3947 "partition" : "partition_name",
3948 "severity" : "fatal"
3952 {"log_level: too many arguments.",
3954 {
"log_level",
"partition_name",
"fatal",
"extra"},
3957 "method" : "log_level",
3960 "error" : "badSyntax",
3962 "error_message" : "Syntax error."
3966 {"log_level: invalid severity.",
3968 {
"log_level",
"err"},
3971 "method" : "log_level",
3974 "api_version" : %API_VER%,
3979 {"log_level: swap partition name and severity.",
3988 "method" : "log_level",
3991 "api_version" : %API_VER%,
3992 "partition" : "fatal",
3993 "severity" : "partition_name"
4000 {
"logrotate: minimal.",
4007 "method" : "logrotate",
4010 "api_version" : %API_VER%,
4014 {"logrotate: too many arguments.",
4016 {
"logrotate",
"extra"},
4019 "method" : "logrotate",
4022 "error" : "badSyntax",
4024 "error_message" : "Syntax error."
4031 {
"owner_info: minimal.",
4033 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
4036 "method" : "owner_info",
4039 "api_version" : %API_VER%,
4040 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
4044 {"owner_info: with numeric ledger index.",
4046 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
4049 "method" : "owner_info",
4052 "api_version" : %API_VER%,
4053 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4054 "ledger_index" : 987654321
4058 {"owner_info: with text ledger index.",
4060 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4063 "method" : "owner_info",
4066 "api_version" : %API_VER%,
4067 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4068 "ledger_index" : "validated"
4072 {"owner_info: with ledger hash.",
4075 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4076 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
4079 "method" : "owner_info",
4082 "api_version" : %API_VER%,
4083 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4084 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
4088 {"owner_info: with ledger index.",
4090 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4093 "method" : "owner_info",
4096 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4097 "api_version" : %API_VER%,
4098 "ledger_index" : "validated"
4102 {"owner_info: too few arguments.",
4109 "method" : "owner_info",
4112 "error" : "badSyntax",
4114 "error_message" : "Syntax error."
4118 {"owner_info: too many arguments.",
4122 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4129 "method" : "owner_info",
4132 "error" : "badSyntax",
4134 "error_message" : "Syntax error."
4139 "owner_info: invalid accountID.",
4147 "method" : "owner_info",
4150 "error" : "actMalformed",
4152 "error_message" : "Account malformed."
4160 "owner_info: invalid ledger selection.",
4162 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4165 "method" : "owner_info",
4168 "api_version" : %API_VER%,
4169 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4178 "owner_info: invalid ledger selection.",
4180 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4183 "method" : "owner_info",
4186 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4187 "api_version" : %API_VER%,
4206 "api_version" : %API_VER%,
4210 {"peers: too many arguments.",
4218 "error" : "badSyntax",
4220 "error_message" : "Syntax error."
4227 {
"peer_reservations_add: minimal.",
4229 {
"peer_reservations_add",
"public_key_string"},
4232 "method" : "peer_reservations_add",
4235 "api_version" : %API_VER%,
4236 "public_key" : "public_key_string"
4240 {"peer_reservations_add: with description.",
4242 {
"peer_reservations_add",
"public_key_string",
"public_key_description"},
4245 "method" : "peer_reservations_add",
4248 "api_version" : %API_VER%,
4249 "description" : "public_key_description",
4250 "public_key" : "public_key_string"
4254 {"peer_reservations_add: too few arguments.",
4256 {
"peer_reservations_add"},
4259 "method" : "peer_reservations_add",
4262 "error" : "badSyntax",
4264 "error_message" : "Syntax error."
4268 {"peer_reservations_add: too many arguments.",
4270 {
"peer_reservations_add",
4271 "public_key_string",
4272 "public_key_description",
4276 "method" : "peer_reservations_add",
4279 "error" : "badSyntax",
4281 "error_message" : "Syntax error."
4288 {
"peer_reservations_del: minimal.",
4290 {
"peer_reservations_del",
"public_key_string"},
4293 "method" : "peer_reservations_del",
4296 "api_version" : %API_VER%,
4297 "public_key" : "public_key_string"
4301 {"peer_reservations_del: too few arguments.",
4303 {
"peer_reservations_del"},
4306 "method" : "peer_reservations_del",
4309 "error" : "badSyntax",
4311 "error_message" : "Syntax error."
4315 {"peer_reservations_del: too many arguments.",
4317 {
"peer_reservations_del",
4318 "public_key_string",
4319 "public_key_description",
4323 "method" : "peer_reservations_del",
4326 "error" : "badSyntax",
4328 "error_message" : "Syntax error."
4345 "api_version" : %API_VER%,
4349 {"ping: too many arguments.",
4357 "error" : "badSyntax",
4359 "error_message" : "Syntax error."
4376 "api_version" : %API_VER%,
4381 "print: extra argument.",
4389 "api_version" : %API_VER%,
4390 "params" : [ "extra" ]
4394 {"print: too many arguments.",
4396 {
"print",
"extra1",
"extra2"},
4402 "error" : "badSyntax",
4404 "error_message" : "Syntax error."
4411 {
"random: minimal.",
4418 "method" : "random",
4421 "api_version" : %API_VER%,
4425 {"random: too many arguments.",
4427 {
"random",
"extra"},
4430 "method" : "random",
4433 "error" : "badSyntax",
4435 "error_message" : "Syntax error."
4442 {
"ripple_path_find: minimal.",
4446 R
"({"json_argument":true})",
4450 "method" : "ripple_path_find",
4453 "api_version" : %API_VER%,
4454 "json_argument" : true
4458 {"ripple_path_find: ledger index.",
4460 {
"ripple_path_find", R
"({"json_argument":true})", "4294967295"},
4463 "method" : "ripple_path_find",
4466 "api_version" : %API_VER%,
4467 "json_argument" : true,
4468 "ledger_index" : 4294967295
4472 {"ripple_path_find: text ledger index.",
4474 {
"ripple_path_find", R
"({"json_argument":true})", "closed"},
4477 "method" : "ripple_path_find",
4480 "api_version" : %API_VER%,
4481 "json_argument" : true,
4482 "ledger_index" : "closed"
4486 {"ripple_path_find: ledger hash.",
4488 {
"ripple_path_find",
4489 R
"({"json_argument":true})",
4490 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"},
4493 "method" : "ripple_path_find",
4496 "api_version" : %API_VER%,
4497 "json_argument" : true,
4498 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
4503 {"ripple_path_find: too few arguments.",
4510 "method" : "ripple_path_find",
4513 "error" : "badSyntax",
4515 "error_message" : "Syntax error."
4519 {"ripple_path_find: too many arguments.",
4521 {
"ripple_path_find", R
"({"json_argument":true})", "current",
"extra"},
4524 "method" : "ripple_path_find",
4527 "error" : "badSyntax",
4529 "error_message" : "Syntax error."
4533 {"ripple_path_find: invalid json (note extra comma).",
4537 R
"({"json_argument":true,})",
4541 "method" : "ripple_path_find",
4544 "error" : "invalidParams",
4546 "error_message" : "Invalid parameters."
4550 {"ripple_path_find: ledger index too small.",
4552 {
"ripple_path_find", R
"({"json_argument":true})", "-1"},
4555 "method" : "ripple_path_find",
4558 "api_version" : %API_VER%,
4559 "json_argument" : true,
4564 {"ripple_path_find: ledger index too big.",
4566 {
"ripple_path_find", R
"({"json_argument":true})", "4294967296"},
4569 "method" : "ripple_path_find",
4572 "api_version" : %API_VER%,
4573 "json_argument" : true,
4578 {"ripple_path_find: invalid text ledger index.",
4580 {
"ripple_path_find", R
"({"json_argument":true})", "cur"},
4583 "method" : "ripple_path_find",
4586 "api_version" : %API_VER%,
4587 "json_argument" : true,
4600 R
"({"json_argument":true})",
4607 "api_version" : %API_VER%,
4608 "secret" : "my_secret",
4610 "json_argument" : true
4617 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline"},
4623 "api_version" : %API_VER%,
4625 "secret" : "my_secret",
4627 "json_argument" : true
4632 {"sign: too few arguments.",
4634 {
"sign",
"contents_of_blob"},
4640 "error" : "badSyntax",
4642 "error_message" : "Syntax error."
4646 {"sign: too many arguments.",
4648 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4654 "error" : "badSyntax",
4656 "error_message" : "Syntax error."
4660 {"sign: invalid JSON (note extra comma).",
4665 R
"({"json_argument":true,})",
4672 "error" : "invalidParams",
4674 "error_message" : "Invalid parameters."
4678 {"sign: invalid final argument.",
4680 {
"sign",
"my_secret", R
"({"json_argument":true})", "offlin"},
4686 "error" : "invalidParams",
4688 "error_message" : "Invalid parameters."
4695 {
"sign_for: minimal.",
4699 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4701 R
"({"json_argument":true})",
4705 "method" : "sign_for",
4708 "api_version" : %API_VER%,
4709 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4710 "secret" : "my_secret",
4712 "json_argument" : true
4717 {"sign_for: offline.",
4720 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4722 R
"({"json_argument":true})",
4726 "method" : "sign_for",
4729 "api_version" : %API_VER%,
4730 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4732 "secret" : "my_secret",
4734 "json_argument" : true
4739 {"sign_for: too few arguments.",
4743 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4748 "method" : "sign_for",
4751 "error" : "badSyntax",
4753 "error_message" : "Syntax error."
4757 {"sign_for: too many arguments.",
4760 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4762 R
"({"json_argument":true})",
4767 "method" : "sign_for",
4770 "error" : "badSyntax",
4772 "error_message" : "Syntax error."
4776 {"sign_for: invalid json (note extra comma).",
4780 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4782 R
"({"json_argument":true,})",
4786 "method" : "sign_for",
4789 "error" : "invalidParams",
4791 "error_message" : "Invalid parameters."
4795 {"sign_for: invalid final argument.",
4798 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4800 R
"({"json_argument":true})",
4804 "method" : "sign_for",
4807 "error" : "invalidParams",
4809 "error_message" : "Invalid parameters."
4818 {
"submit",
"the blob is unvalidated and may be any length..."},
4821 "method" : "submit",
4824 "api_version" : %API_VER%,
4825 "tx_blob" : "the blob is unvalidated and may be any length..."
4834 R
"({"json_argument":true})",
4838 "method" : "submit",
4841 "api_version" : %API_VER%,
4842 "secret" : "my_secret",
4844 "json_argument" : true
4849 {"submit: too few arguments.",
4856 "method" : "submit",
4859 "error" : "badSyntax",
4861 "error_message" : "Syntax error."
4866 "submit: four arguments.",
4868 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline"},
4871 "method" : "submit",
4874 "api_version" : %API_VER%,
4876 "secret" : "my_secret",
4878 "json_argument" : true
4883 {"submit: too many arguments.",
4885 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4888 "method" : "submit",
4891 "error" : "badSyntax",
4893 "error_message" : "Syntax error."
4897 {"submit: invalid json (note extra comma).",
4902 R
"({"json_argument":true,})",
4906 "method" : "submit",
4909 "error" : "invalidParams",
4911 "error_message" : "Invalid parameters."
4915 {"submit: last argument not \"offline\".",
4917 {
"submit",
"my_secret", R
"({"json_argument":true})", "offlne"},
4920 "method" : "submit",
4923 "error" : "invalidParams",
4925 "error_message" : "Invalid parameters."
4932 {
"submit_multisigned: json.",
4935 "submit_multisigned",
4936 R
"({"json_argument":true})",
4940 "method" : "submit_multisigned",
4943 "api_version" : %API_VER%,
4945 "json_argument" : true
4950 {"submit_multisigned: too few arguments.",
4953 "submit_multisigned",
4957 "method" : "submit_multisigned",
4960 "error" : "badSyntax",
4962 "error_message" : "Syntax error."
4966 {"submit_multisigned: too many arguments.",
4968 {
"submit_multisigned", R
"({"json_argument":true})", "extra"},
4971 "method" : "submit_multisigned",
4974 "error" : "badSyntax",
4976 "error_message" : "Syntax error."
4980 {"submit_multisigned: invalid json (note extra comma).",
4983 "submit_multisigned",
4984 R
"({"json_argument":true,})",
4988 "method" : "submit_multisigned",
4991 "error" : "invalidParams",
4993 "error_message" : "Invalid parameters."
5001 {
"server_info: minimal.",
5008 "method" : "server_info",
5011 "api_version" : %API_VER%,
5015 {"server_info: counters.",
5017 {
"server_info",
"counters"},
5020 "method" : "server_info",
5023 "api_version" : %API_VER%,
5028 {"server_info: too many arguments.",
5030 {
"server_info",
"counters",
"extra"},
5033 "method" : "server_info",
5036 "error" : "badSyntax",
5038 "error_message" : "Syntax error."
5042 {"server_info: non-counters argument.",
5044 {
"server_info",
"counter"},
5047 "method" : "server_info",
5050 "api_version" : %API_VER%,
5057 {
"server_state: minimal.",
5064 "method" : "server_state",
5067 "api_version" : %API_VER%,
5071 {"server_state: counters.",
5073 {
"server_state",
"counters"},
5076 "method" : "server_state",
5079 "api_version" : %API_VER%,
5084 {"server_state: too many arguments.",
5086 {
"server_state",
"counters",
"extra"},
5089 "method" : "server_state",
5092 "error" : "badSyntax",
5094 "error_message" : "Syntax error."
5098 {"server_state: non-counters argument.",
5100 {
"server_state",
"counter"},
5103 "method" : "server_state",
5106 "api_version" : %API_VER%,
5123 "api_version" : %API_VER%,
5127 {"stop: too many arguments.",
5135 "error" : "badSyntax",
5137 "error_message" : "Syntax error."
5144 {
"transaction_entry: ledger index.",
5146 {
"transaction_entry",
5147 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5151 "method" : "transaction_entry",
5154 "api_version" : %API_VER%,
5155 "ledger_index" : 4294967295,
5156 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5160 {"transaction_entry: text ledger index.",
5162 {
"transaction_entry",
5163 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5167 "method" : "transaction_entry",
5170 "api_version" : %API_VER%,
5171 "ledger_index" : "current",
5172 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5176 {"transaction_entry: ledger hash.",
5178 {
"transaction_entry",
5179 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5180 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210"},
5183 "method" : "transaction_entry",
5186 "api_version" : %API_VER%,
5187 "ledger_hash" : "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210",
5188 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5192 {"transaction_entry: too few arguments.",
5195 "transaction_entry",
5196 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5200 "method" : "transaction_entry",
5203 "error" : "badSyntax",
5205 "error_message" : "Syntax error."
5209 {"transaction_entry: too many arguments.",
5211 {
"transaction_entry",
5212 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5217 "method" : "transaction_entry",
5220 "error" : "badSyntax",
5222 "error_message" : "Syntax error."
5226 {"transaction_entry: short tx_hash.",
5229 "transaction_entry",
5230 "123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5235 "method" : "transaction_entry",
5238 "error" : "invalidParams",
5240 "error_message" : "Invalid parameters."
5244 {"transaction_entry: long tx_hash.",
5247 "transaction_entry",
5248 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUVW",
5253 "method" : "transaction_entry",
5256 "error" : "invalidParams",
5258 "error_message" : "Invalid parameters."
5262 {"transaction_entry: small ledger index.",
5265 "transaction_entry",
5266 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5271 "method" : "transaction_entry",
5274 "error" : "invalidParams",
5276 "error_message" : "Invalid parameters."
5280 {"transaction_entry: large ledger index.",
5283 "transaction_entry",
5284 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5289 "method" : "transaction_entry",
5292 "error" : "invalidParams",
5294 "error_message" : "Invalid parameters."
5298 {"transaction_entry: short ledger hash.",
5301 "transaction_entry",
5302 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5303 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA987654321",
5307 "method" : "transaction_entry",
5310 "error" : "invalidParams",
5312 "error_message" : "Invalid parameters."
5316 {"transaction_entry: long ledger hash.",
5319 "transaction_entry",
5320 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5321 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210Z",
5325 "method" : "transaction_entry",
5328 "error" : "invalidParams",
5330 "error_message" : "Invalid parameters."
5337 {
"tx: ctid. minimal",
5339 {
"tx",
"FFFFFFFFFFFFFFFF",
"1",
"2"},
5345 "api_version" : %API_VER%,
5346 "ctid" : "FFFFFFFFFFFFFFFF",
5352 {"tx: ctid. binary",
5354 {
"tx",
"FFFFFFFFFFFFFFFF",
"binary",
"1",
"2"},
5360 "api_version" : %API_VER%,
5362 "ctid" : "FFFFFFFFFFFFFFFF",
5370 {
"tx",
"transaction_hash_is_not_validated"},
5376 "api_version" : %API_VER%,
5377 "transaction" : "transaction_hash_is_not_validated"
5383 {
"tx",
"transaction_hash_is_not_validated",
"binary"},
5389 "api_version" : %API_VER%,
5391 "transaction" : "transaction_hash_is_not_validated"
5395 {"tx: too few arguments.",
5405 "error" : "badSyntax",
5407 "error_message" : "Syntax error."
5411 {"tx: too many arguments.",
5413 {
"tx",
"transaction_hash_is_not_validated",
"binary",
"1",
"2",
"extra"},
5419 "error" : "badSyntax",
5421 "error_message" : "Syntax error."
5425 {"tx: invalid final argument is apparently ignored.",
5427 {
"tx",
"transaction_hash_is_not_validated",
"bin"},
5433 "api_version" : %API_VER%,
5434 "transaction" : "transaction_hash_is_not_validated"
5441 {
"tx_history: minimal.",
5443 {
"tx_history",
"0"},
5446 "method" : "tx_history",
5449 "api_version" : %API_VER%,
5454 {"tx_history: too few arguments.",
5461 "method" : "tx_history",
5464 "error" : "badSyntax",
5466 "error_message" : "Syntax error."
5470 {"tx_history: too many arguments.",
5472 {
"tx_history",
"0",
"1"},
5475 "method" : "tx_history",
5478 "error" : "badSyntax",
5480 "error_message" : "Syntax error."
5486 "tx_history: start too small.",
5488 {
"tx_history",
"-1"},
5494 "tx_history: start too big.",
5496 {
"tx_history",
"4294967296"},
5502 "tx_history: start not integer.",
5504 {
"tx_history",
"beginning"},
5511 {
"unl_list: minimal.",
5518 "method" : "unl_list",
5521 "api_version" : %API_VER%,
5525 {"unl_list: too many arguments.",
5527 {
"unl_list",
"extra"},
5530 "method" : "unl_list",
5533 "error" : "badSyntax",
5535 "error_message" : "Syntax error."
5542 {
"validation_create: minimal.",
5545 "validation_create",
5549 "method" : "validation_create",
5552 "api_version" : %API_VER%,
5556 {"validation_create: with secret.",
5558 {
"validation_create",
"the form of the secret is not validated"},
5561 "method" : "validation_create",
5564 "api_version" : %API_VER%,
5565 "secret" : "the form of the secret is not validated"
5569 {"validation_create: too many arguments.",
5571 {
"validation_create",
"the form of the secret is not validated",
"extra"},
5574 "method" : "validation_create",
5577 "error" : "badSyntax",
5579 "error_message" : "Syntax error."
5586 {
"version: minimal.",
5593 "method" : "version",
5596 "api_version" : %API_VER%,
5600 {"version: too many arguments.",
5602 {
"version",
"extra"},
5605 "method" : "version",
5608 "error" : "badSyntax",
5610 "error_message" : "Syntax error."
5617 {
"wallet_propose: minimal.",
5624 "method" : "wallet_propose",
5627 "api_version" : %API_VER%,
5631 {"wallet_propose: with passphrase.",
5633 {
"wallet_propose",
"the form of the passphrase is not validated"},
5636 "method" : "wallet_propose",
5639 "api_version" : %API_VER%,
5640 "passphrase" : "the form of the passphrase is not validated"
5644 {"wallet_propose: too many arguments.",
5646 {
"wallet_propose",
"the form of the passphrase is not validated",
"extra"},
5649 "method" : "wallet_propose",
5652 "error" : "badSyntax",
5654 "error_message" : "Syntax error."
5661 {
"internal: minimal.",
5663 {
"internal",
"command_name"},
5666 "method" : "internal",
5669 "api_version" : %API_VER%,
5670 "internal_command" : "command_name",
5675 {"internal: with parameters.",
5686 "method" : "internal",
5689 "api_version" : %API_VER%,
5690 "internal_command" : "command_name",
5691 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5695 {"internal: too few arguments.",
5702 "method" : "internal",
5705 "error" : "badSyntax",
5707 "error_message" : "Syntax error."
5714 {
"path_find: minimal.",
5721 "method" : "path_find",
5724 "error" : "noEvents",
5726 "error_message" : "Current transport does not support events."
5730 {"path_find: with arguments.",
5732 {
"path_find",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5735 "method" : "path_find",
5738 "error" : "noEvents",
5740 "error_message" : "Current transport does not support events."
5747 {
"subscribe: minimal.",
5754 "method" : "subscribe",
5757 "error" : "noEvents",
5759 "error_message" : "Current transport does not support events."
5763 {"subscribe: with arguments.",
5765 {
"subscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5768 "method" : "subscribe",
5771 "error" : "noEvents",
5773 "error_message" : "Current transport does not support events."
5780 {
"unsubscribe: minimal.",
5787 "method" : "unsubscribe",
5790 "error" : "noEvents",
5792 "error_message" : "Current transport does not support events."
5796 {"unsubscribe: with arguments.",
5798 {
"unsubscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5801 "method" : "unsubscribe",
5804 "error" : "noEvents",
5806 "error_message" : "Current transport does not support events."
5813 {
"unknown_command: minimal.",
5820 "method" : "unknown_command",
5823 "api_version" : %API_VER%,
5827 {"unknown_command: with arguments.",
5829 {
"unknown_command",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5832 "method" : "unknown_command",
5835 "api_version" : %API_VER%,
5836 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5846 static auto const place_holder =
"%API_VER%";
5848 boost::replace_all(jr, place_holder, version_str);
5855 using namespace test::jtx;
5857 cfg->NETWORK_ID = networkID;
5868 testcase <<
"RPCCall API version " << apiVersion;
5880 if (!BEAST_EXPECT(!rpcCallTest.exp.empty()))
5884 rpcCallTest.args.
begin(), rpcCallTest.args.end()};
5886 char const*
const expVersioned =
5888 rpcCallTest.exp.size()
5890 : rpcCallTest.exp.back();
5908 fail(rpcCallTest.description, __FILE__, rpcCallTest.line);
5921 if (
json.isMember(jss::params) &&
json[jss::params].isArray() &&
5922 json[jss::params].size() > 0 &&
5923 json[jss::params][0u].isObject())
5925 json[jss::params][0u].removeMember(jss::error_code);
5939 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
Set the expected result code for a JTx The test will fail if the code doesn't match.
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(char const *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