2#include <test/jtx/utility.h>
4#include <xrpld/rpc/RPCCall.h>
6#include <xrpl/beast/unit_test.h>
7#include <xrpl/json/json_reader.h>
8#include <xrpl/protocol/ApiVersion.h>
9#include <xrpl/protocol/ErrorCodes.h>
11#include <boost/algorithm/string.hpp>
35 char const* description_,
49 char const* description_,
74 {
"account_channels: minimal.",
76 {
"account_channels",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
79 "method" : "account_channels",
82 "api_version" : %API_VER%,
83 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
87 {"account_channels: account and ledger hash.",
90 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
91 "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"},
94 "method" : "account_channels",
97 "api_version" : %API_VER%,
98 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
99 "destination_account" : "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"
103 {"account_channels: account and ledger index.",
106 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
107 "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"},
110 "method" : "account_channels",
113 "api_version" : %API_VER%,
114 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
115 "destination_account" : "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"
119 {"account_channels: two accounts.",
122 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
123 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
126 "method" : "account_channels",
129 "api_version" : %API_VER%,
130 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
131 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
135 {"account_channels: two accounts and ledger hash.",
138 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
139 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
140 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
143 "method" : "account_channels",
146 "api_version" : %API_VER%,
147 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
148 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
149 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
153 {"account_channels: two accounts and ledger index.",
156 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
157 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
161 "method" : "account_channels",
164 "api_version" : %API_VER%,
165 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
166 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
167 "ledger_index" : 90210
171 {"account_channels: too few arguments.",
178 "method" : "account_channels",
181 "error" : "badSyntax",
183 "error_message" : "Syntax error."
187 {"account_channels: too many arguments.",
190 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
191 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
196 "method" : "account_channels",
199 "error" : "badSyntax",
201 "error_message" : "Syntax error."
205 {"account_channels: invalid accountID.",
213 "method" : "account_channels",
216 "error" : "actMalformed",
218 "error_message" : "Account malformed."
225 {
"account_currencies: minimal 1.",
227 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
230 "method" : "account_currencies",
233 "api_version" : %API_VER%,
234 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
238 {"account_currencies: minimal 2.",
240 {
"account_currencies",
"racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"},
243 "method" : "account_currencies",
246 "api_version" : %API_VER%,
247 "account" : "racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"
251 {"account_currencies: ledger index.",
253 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"42"},
256 "method" : "account_currencies",
259 "api_version" : %API_VER%,
260 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
265 {"account_currencies: validated ledger.",
267 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
270 "method" : "account_currencies",
273 "api_version" : %API_VER%,
274 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
275 "ledger_index" : "validated"
279 {"account_currencies: current ledger.",
281 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"current"},
284 "method" : "account_currencies",
287 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
288 "api_version" : %API_VER%,
289 "ledger_index" : "current"
293 {"account_currencies: too few arguments.",
296 "account_currencies",
300 "method" : "account_currencies",
303 "error" : "badSyntax",
305 "error_message" : "Syntax error."
309 {"account_currencies: too many arguments.",
311 {
"account_currencies",
312 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
318 "method" : "account_currencies",
321 "error" : "badSyntax",
323 "error_message" : "Syntax error."
327 {"account_currencies: invalid second argument.",
329 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"yup"},
332 "method" : "account_currencies",
335 "api_version" : %API_VER%,
336 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
342 "account_currencies: invalid accountID.",
345 "account_currencies",
350 "method" : "account_currencies",
353 "error" : "actMalformed",
355 "error_message" : "Account malformed."
363 {
"account_info: minimal.",
365 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
368 "method" : "account_info",
371 "api_version" : %API_VER%,
372 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
376 {"account_info: with numeric ledger index.",
378 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
381 "method" : "account_info",
384 "api_version" : %API_VER%,
385 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
386 "ledger_index" : 77777
390 {"account_info: with text ledger index.",
392 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
395 "method" : "account_info",
398 "api_version" : %API_VER%,
399 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
400 "ledger_index" : "closed"
404 {"account_info: with ledger hash.",
407 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
408 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
411 "method" : "account_info",
414 "api_version" : %API_VER%,
415 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
416 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
420 {"account_info: with ledger index.",
422 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
425 "method" : "account_info",
428 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
429 "api_version" : %API_VER%,
430 "ledger_index" : "validated"
434 {"account_info: too few arguments.",
441 "method" : "account_info",
444 "error" : "badSyntax",
446 "error_message" : "Syntax error."
450 {"account_info: too many arguments.",
453 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
459 "method" : "account_info",
462 "error" : "badSyntax",
464 "error_message" : "Syntax error."
469 "account_info: invalid accountID.",
477 "method" : "account_info",
480 "error" : "actMalformed",
482 "error_message" : "Account malformed."
490 {
"account_lines: minimal.",
492 {
"account_lines",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
495 "method" : "account_lines",
498 "api_version" : %API_VER%,
499 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
503 {"account_lines: peer.",
506 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
507 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
510 "method" : "account_lines",
513 "api_version" : %API_VER%,
514 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
515 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
519 {"account_lines: peer and numeric ledger index.",
522 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
523 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
527 "method" : "account_lines",
530 "api_version" : %API_VER%,
531 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
532 "ledger_index" : 888888888,
533 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
537 {"account_lines: peer and text ledger index.",
540 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
541 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
545 "method" : "account_lines",
548 "api_version" : %API_VER%,
549 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
550 "ledger_index" : "closed",
551 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
555 {"account_lines: peer and ledger hash.",
558 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
559 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
560 "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000"},
563 "method" : "account_lines",
566 "api_version" : %API_VER%,
567 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
568 "ledger_hash" : "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000",
569 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
573 {"account_lines: too few arguments.",
580 "method" : "account_lines",
583 "error" : "badSyntax",
585 "error_message" : "Syntax error."
590 "account_lines: four arguments.",
593 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
594 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
599 "method" : "account_lines",
602 "api_version" : %API_VER%,
603 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
604 "ledger_index" : 12345678,
605 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
610 "account_lines: five arguments.",
613 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
614 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
617 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
620 "method" : "account_lines",
623 "api_version" : %API_VER%,
624 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
625 "ledger_index" : 12345678,
626 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
630 {"account_lines: too many arguments.",
633 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
634 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
637 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
641 "method" : "account_lines",
644 "error" : "badSyntax",
646 "error_message" : "Syntax error."
651 "account_lines: first invalid accountID.",
659 "method" : "account_lines",
662 "error" : "actMalformed",
664 "error_message" : "Account malformed."
670 "account_lines: second invalid accountID.",
674 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
679 "method" : "account_lines",
682 "api_version" : %API_VER%,
683 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
689 "account_lines: invalid ledger selector.",
692 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
693 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
697 "method" : "account_lines",
700 "api_version" : %API_VER%,
701 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
703 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
711 {
"account_objects: minimal.",
713 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
716 "method" : "account_objects",
719 "api_version" : %API_VER%,
720 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
724 {"account_objects: with numeric ledger index.",
726 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
729 "method" : "account_objects",
732 "api_version" : %API_VER%,
733 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
734 "ledger_index" : 77777
738 {"account_objects: with text ledger index.",
740 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
743 "method" : "account_objects",
746 "api_version" : %API_VER%,
747 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
748 "ledger_index" : "closed"
752 {"account_objects: with ledger hash.",
755 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
756 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
759 "method" : "account_objects",
762 "api_version" : %API_VER%,
763 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
764 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
768 {"account_objects: with ledger index.",
770 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
773 "method" : "account_objects",
776 "api_version" : %API_VER%,
777 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
778 "ledger_index" : "validated"
782 {"account_objects: too few arguments.",
789 "method" : "account_objects",
792 "error" : "badSyntax",
794 "error_message" : "Syntax error."
799 "account_objects: four arguments.",
803 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
810 "method" : "account_objects",
813 "api_version" : %API_VER%,
814 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
819 "account_objects: five arguments.",
823 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
831 "method" : "account_objects",
834 "api_version" : %API_VER%,
835 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
839 {"account_objects: too many arguments.",
843 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
852 "method" : "account_objects",
855 "error" : "badSyntax",
857 "error_message" : "Syntax error."
862 "account_objects: invalid accountID.",
870 "method" : "account_objects",
873 "error" : "actMalformed",
875 "error_message" : "Account malformed."
883 "account_objects: invalid ledger selection 1.",
885 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
888 "method" : "account_objects",
891 "api_version" : %API_VER%,
892 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
901 "account_objects: invalid ledger selection 2.",
903 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
906 "method" : "account_objects",
909 "api_version" : %API_VER%,
910 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
919 {
"account_offers: minimal.",
921 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
924 "method" : "account_offers",
927 "api_version" : %API_VER%,
928 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
932 {"account_offers: with numeric ledger index.",
934 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
937 "method" : "account_offers",
940 "api_version" : %API_VER%,
941 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
942 "ledger_index" : 987654321
946 {"account_offers: with text ledger index.",
948 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
951 "method" : "account_offers",
954 "api_version" : %API_VER%,
955 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
956 "ledger_index" : "validated"
960 {"account_offers: with ledger hash.",
963 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
964 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
967 "method" : "account_offers",
970 "api_version" : %API_VER%,
971 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
972 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
976 {"account_offers: with ledger index.",
978 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
981 "method" : "account_offers",
984 "api_version" : %API_VER%,
985 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
986 "ledger_index" : "validated"
990 {"account_offers: too few arguments.",
997 "method" : "account_offers",
1000 "error" : "badSyntax",
1002 "error_message" : "Syntax error."
1007 "account_offers: four arguments.",
1010 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1015 "method" : "account_offers",
1018 "api_version" : %API_VER%,
1019 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1023 {"account_offers: too many arguments.",
1027 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1035 "method" : "account_offers",
1038 "error" : "badSyntax",
1040 "error_message" : "Syntax error."
1045 "account_offers: invalid accountID.",
1053 "method" : "account_offers",
1056 "error" : "actMalformed",
1058 "error_message" : "Account malformed."
1066 "account_offers: invalid ledger selection 1.",
1068 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1071 "method" : "account_offers",
1074 "api_version" : %API_VER%,
1075 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1084 "account_offers: invalid ledger selection 2.",
1086 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1089 "method" : "account_offers",
1092 "api_version" : %API_VER%,
1093 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1102 {
"account_tx: minimal.",
1104 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
1107 "method" : "account_tx",
1110 "api_version" : %API_VER%,
1111 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1115 {"account_tx: ledger_index .",
1117 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"444"},
1120 "method" : "account_tx",
1123 "api_version" : %API_VER%,
1124 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1125 "ledger_index" : 444
1129 {"account_tx: ledger_index plus trailing params.",
1132 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1139 "method" : "account_tx",
1142 "api_version" : %API_VER%,
1143 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1146 "descending" : true,
1147 "ledger_index" : 707
1151 {"account_tx: ledger_index_min and _max.",
1153 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"-1"},
1156 "method" : "account_tx",
1159 "api_version" : %API_VER%,
1160 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1161 "ledger_index_max" : -1,
1162 "ledger_index_min" : -1
1166 {"account_tx: ledger_index_min and _max plus trailing params.",
1169 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1177 "method" : "account_tx",
1180 "api_version" : %API_VER%,
1181 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1184 "descending" : true,
1185 "ledger_index_max" : 413,
1186 "ledger_index_min" : -1
1190 {"account_tx: ledger_index_min and _max plus limit.",
1192 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"247",
"-1",
"300"},
1195 "method" : "account_tx",
1198 "api_version" : %API_VER%,
1199 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1200 "ledger_index_max" : -1,
1201 "ledger_index_min" : 247,
1206 {"account_tx: ledger_index_min and _max, limit, trailing args.",
1209 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1218 "method" : "account_tx",
1221 "api_version" : %API_VER%,
1222 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1225 "descending" : true,
1226 "ledger_index_max" : -1,
1227 "ledger_index_min" : 247,
1232 {"account_tx: ledger_index_min and _max plus limit and offset.",
1235 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1242 "method" : "account_tx",
1245 "api_version" : %API_VER%,
1246 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1247 "ledger_index_max" : 590,
1248 "ledger_index_min" : 589,
1254 {"account_tx: ledger_index_min and _max, limit, offset, trailing.",
1257 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1266 "method" : "account_tx",
1269 "api_version" : %API_VER%,
1270 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1272 "descending" : true,
1273 "ledger_index_max" : 590,
1274 "ledger_index_min" : 589,
1280 {"account_tx: too few arguments.",
1287 "method" : "account_tx",
1290 "error" : "badSyntax",
1292 "error_message" : "Syntax error."
1296 {"account_tx: too many arguments.",
1299 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1310 "method" : "account_tx",
1313 "error" : "badSyntax",
1315 "error_message" : "Syntax error."
1320 "account_tx: invalid accountID.",
1322 {
"account_tx",
"rHb9CJAWyB4rj9!VRWn96DkukG4bwdtyTh"},
1325 "method" : "account_tx",
1328 "error" : "actMalformed",
1330 "error_message" : "Account malformed."
1337 "account_tx: invalid ledger.",
1339 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-478.7"},
1342 "method" : "account_tx",
1345 "api_version" : %API_VER%,
1346 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1353 "account_tx: max less than min.",
1355 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"580",
"579"},
1359 "method" : "account_tx",
1362 "error" : "lgrIdxsInvalid",
1364 "error_message" : "Ledger indexes invalid."
1369 "method" : "account_tx",
1372 "error" : "notSynced",
1374 "error_message" : "Not synced to the network."
1381 "account_tx: non-integer min.",
1383 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"Binary",
"-1"},
1389 "account_tx: non-integer max.",
1391 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"counts"},
1397 "account_tx: non-integer offset.",
1400 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1409 "account_tx: non-integer limit.",
1412 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1421 "account_tx: RIPD-1570.",
1424 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1436 {
"book_offers: minimal no issuer.",
1445 "method" : "book_offers",
1448 "api_version" : %API_VER%,
1458 {"book_offers: minimal with currency/issuer",
1462 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1463 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1467 "method" : "book_offers",
1470 "api_version" : %API_VER%,
1473 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1477 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1484 "book_offers: add issuer.",
1486 {
"book_offers",
"USD",
"EUR",
"rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
1489 "method" : "book_offers",
1492 "api_version" : %API_VER%,
1493 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1503 {"book_offers: add issuer and numeric ledger index.",
1506 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1508 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1512 "method" : "book_offers",
1515 "api_version" : %API_VER%,
1516 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1517 "ledger_index" : 666,
1523 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1528 {"book_offers: add issuer and text ledger index.",
1532 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1533 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1537 "method" : "book_offers",
1540 "api_version" : %API_VER%,
1541 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1542 "ledger_index" : "current",
1545 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1553 {"book_offers: add issuer and ledger hash.",
1556 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1557 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1558 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1559 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
1562 "method" : "book_offers",
1565 "api_version" : %API_VER%,
1566 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1567 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1570 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1574 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1579 {"book_offers: issuer, ledger hash, and limit.",
1583 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1584 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1585 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1586 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1593 "method" : "book_offers",
1596 "api_version" : %API_VER%,
1597 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1598 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1603 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1607 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1613 "book_offers: issuer, ledger hash, limit, and marker.",
1616 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1617 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1618 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1619 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1625 "method" : "book_offers",
1628 "api_version" : %API_VER%,
1629 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1630 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1632 "marker" : "MyMarker",
1636 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1640 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1645 {"book_offers: too few arguments.",
1652 "method" : "book_offers",
1655 "error" : "badSyntax",
1657 "error_message" : "Syntax error."
1661 {"book_offers: too many arguments.",
1664 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1665 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1666 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1667 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1674 "method" : "book_offers",
1677 "error" : "badSyntax",
1679 "error_message" : "Syntax error."
1684 {"book_offers: taker pays no currency.",
1688 "/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1689 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1693 "method" : "book_offers",
1696 "error" : "invalidParams",
1698 "error_message" : "Invalid currency/issuer '/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh'"
1702 {"book_offers: taker gets no currency.",
1706 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1707 "/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1711 "method" : "book_offers",
1714 "error" : "invalidParams",
1716 "error_message" : "Invalid currency/issuer '/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA'"
1720 {"book_offers: invalid issuer.",
1722 {
"book_offers",
"USD",
"EUR",
"not_a_valid_issuer"},
1725 "method" : "book_offers",
1728 "api_version" : %API_VER%,
1729 "issuer" : "not_a_valid_issuer",
1739 {"book_offers: invalid text ledger index.",
1743 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1744 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1748 "method" : "book_offers",
1751 "api_version" : %API_VER%,
1752 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1756 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1765 "book_offers: non-numeric limit.",
1769 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1770 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1771 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1772 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1782 {
"can_delete: minimal.",
1789 "method" : "can_delete",
1792 "api_version" : %API_VER%,
1796 {"can_delete: ledger index.",
1804 "method" : "can_delete",
1807 "api_version" : %API_VER%,
1808 "can_delete" : 4294967295
1812 {"can_delete: ledger hash.",
1816 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
1820 "method" : "can_delete",
1823 "api_version" : %API_VER%,
1824 "can_delete" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210"
1828 {"can_delete: always.",
1836 "method" : "can_delete",
1839 "api_version" : %API_VER%,
1840 "can_delete" : "always"
1844 {"can_delete: never.",
1852 "method" : "can_delete",
1855 "api_version" : %API_VER%,
1856 "can_delete" : "never"
1860 {"can_delete: now.",
1868 "method" : "can_delete",
1871 "api_version" : %API_VER%,
1872 "can_delete" : "now"
1876 {"can_delete: too many arguments.",
1878 {
"can_delete",
"always",
"never"},
1881 "method" : "can_delete",
1884 "error" : "badSyntax",
1886 "error_message" : "Syntax error."
1890 {"can_delete: invalid argument.",
1892 {
"can_delete",
"invalid"},
1895 "method" : "can_delete",
1898 "api_version" : %API_VER%,
1899 "can_delete" : "invalid"
1904 "can_delete: ledger index > 32 bits.",
1913 "can_delete: ledger hash with no alphas.",
1917 "0123456701234567012345670123456701234567012345670123456701234567",
1924 {
"channel_authorize: minimal.",
1926 {
"channel_authorize",
1927 "secret_can_be_anything",
1928 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1929 "18446744073709551615"},
1932 "method" : "channel_authorize",
1935 "api_version" : %API_VER%,
1936 "amount" : "18446744073709551615",
1937 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1938 "secret" : "secret_can_be_anything"
1942 {"channel_authorize: too few arguments.",
1945 "channel_authorize",
1946 "secret_can_be_anything",
1947 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1951 "method" : "channel_authorize",
1954 "error" : "badSyntax",
1956 "error_message" : "Syntax error."
1960 {"channel_authorize: too many arguments.",
1962 {
"channel_authorize",
1964 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1970 "method" : "channel_authorize",
1973 "error" : "badSyntax",
1975 "error_message" : "Syntax error."
1979 {"channel_authorize: bad key type.",
1981 {
"channel_authorize",
1983 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1988 "method" : "channel_authorize",
1991 "error" : "badKeyType",
1993 "error_message" : "Bad key type."
1997 {"channel_authorize: channel_id too short.",
1999 {
"channel_authorize",
2000 "secret_can_be_anything",
2001 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2005 "method" : "channel_authorize",
2008 "error" : "channelMalformed",
2010 "error_message" : "Payment channel is malformed."
2014 {"channel_authorize: channel_id too long.",
2016 {
"channel_authorize",
2017 "secret_can_be_anything",
2018 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2022 "method" : "channel_authorize",
2025 "error" : "channelMalformed",
2027 "error_message" : "Payment channel is malformed."
2031 {"channel_authorize: channel_id not hex.",
2033 {
"channel_authorize",
2034 "secret_can_be_anything",
2035 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEZ",
2039 "method" : "channel_authorize",
2042 "error" : "channelMalformed",
2044 "error_message" : "Payment channel is malformed."
2048 {"channel_authorize: negative amount.",
2050 {
"channel_authorize",
2051 "secret_can_be_anything",
2052 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2056 "method" : "channel_authorize",
2059 "error" : "channelAmtMalformed",
2061 "error_message" : "Payment channel amount is malformed."
2065 {"channel_authorize: amount > 64 bits.",
2067 {
"channel_authorize",
2068 "secret_can_be_anything",
2069 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2070 "18446744073709551616"},
2073 "method" : "channel_authorize",
2076 "error" : "channelAmtMalformed",
2078 "error_message" : "Payment channel amount is malformed."
2085 {
"channel_verify: public key.",
2088 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2089 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2094 "method" : "channel_verify",
2097 "api_version" : %API_VER%,
2099 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2100 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2101 "signature" : "DEADBEEF"
2105 {"channel_verify: public key hex.",
2108 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2109 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2110 "18446744073709551615",
2114 "method" : "channel_verify",
2117 "api_version" : %API_VER%,
2118 "amount" : "18446744073709551615",
2119 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2120 "public_key" : "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2121 "signature" : "DEADBEEF"
2125 {"channel_verify: too few arguments.",
2128 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2129 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
2132 "method" : "channel_verify",
2135 "error" : "badSyntax",
2137 "error_message" : "Syntax error."
2141 {"channel_verify: too many arguments.",
2144 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2145 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2151 "method" : "channel_verify",
2154 "error" : "badSyntax",
2156 "error_message" : "Syntax error."
2160 {"channel_verify: malformed public key.",
2163 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9GoV",
2164 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2169 "method" : "channel_verify",
2172 "error" : "publicMalformed",
2174 "error_message" : "Public key is malformed."
2178 {"channel_verify: malformed hex public key.",
2181 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F",
2182 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2187 "method" : "channel_verify",
2190 "error" : "publicMalformed",
2192 "error_message" : "Public key is malformed."
2196 {"channel_verify: invalid channel id.",
2199 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2200 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2205 "method" : "channel_verify",
2208 "error" : "channelMalformed",
2210 "error_message" : "Payment channel is malformed."
2214 {"channel_verify: short channel id.",
2217 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2218 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2223 "method" : "channel_verify",
2226 "error" : "channelMalformed",
2228 "error_message" : "Payment channel is malformed."
2232 {"channel_verify: amount too small.",
2235 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2236 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2241 "method" : "channel_verify",
2244 "error" : "channelAmtMalformed",
2246 "error_message" : "Payment channel amount is malformed."
2250 {"channel_verify: amount too large.",
2253 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2254 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2255 "18446744073709551616",
2259 "method" : "channel_verify",
2262 "error" : "channelAmtMalformed",
2264 "error_message" : "Payment channel amount is malformed."
2268 {"channel_verify: non-hex signature.",
2271 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2272 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2274 "ThisIsNotHexadecimal"},
2277 "method" : "channel_verify",
2280 "api_version" : %API_VER%,
2281 "amount" : "40000000",
2282 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2283 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2284 "signature" : "ThisIsNotHexadecimal"
2291 {
"connect: minimal.",
2295 "ThereIsNoCheckingOnTheIPFormat",
2299 "method" : "connect",
2302 "api_version" : %API_VER%,
2303 "ip" : "ThereIsNoCheckingOnTheIPFormat"
2307 {"connect: ip and port.",
2309 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561"},
2312 "method" : "connect",
2315 "api_version" : %API_VER%,
2316 "ip" : "ThereIsNoCheckingOnTheIPFormat",
2321 {"connect: too few arguments.",
2328 "method" : "connect",
2331 "error" : "badSyntax",
2333 "error_message" : "Syntax error."
2337 {"connect: too many arguments.",
2339 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561",
"extra"},
2342 "method" : "connect",
2345 "error" : "badSyntax",
2347 "error_message" : "Syntax error."
2352 "connect: port too small.",
2356 "ThereIsNoCheckingOnTheIPFormat",
2362 "connect: port too large.",
2366 "ThereIsNoCheckingOnTheIPFormat",
2374 {
"consensus_info: minimal.",
2381 "method" : "consensus_info",
2384 "api_version" : %API_VER%
2388 {"consensus_info: too many arguments.",
2390 {
"consensus_info",
"whatever"},
2393 "method" : "consensus_info",
2396 "error" : "badSyntax",
2398 "error_message" : "Syntax error."
2405 {
"deposit_authorized: minimal.",
2408 "deposit_authorized",
2409 "source_account_NotValidated",
2410 "destination_account_NotValidated",
2414 "method" : "deposit_authorized",
2417 "api_version" : %API_VER%,
2418 "destination_account" : "destination_account_NotValidated",
2419 "source_account" : "source_account_NotValidated"
2423 {"deposit_authorized: with text ledger index.",
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 "ledger_index" : "validated",
2437 "source_account" : "source_account_NotValidated"
2441 {"deposit_authorized: with ledger index.",
2443 {
"deposit_authorized",
2444 "source_account_NotValidated",
2445 "destination_account_NotValidated",
2457 "method" : "deposit_authorized",
2460 "api_version" : %API_VER%,
2461 "destination_account" : "destination_account_NotValidated",
2462 "ledger_index" : 4294967295,
2463 "source_account" : "source_account_NotValidated",
2464 "credentials": ["cred1", "cred2", "cred3", "cred4", "cred5", "cred6", "cred7", "cred8"]
2468 {"deposit_authorized: with ledger hash.",
2470 {
"deposit_authorized",
2471 "source_account_NotValidated",
2472 "destination_account_NotValidated",
2473 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
2476 "method" : "deposit_authorized",
2479 "api_version" : %API_VER%,
2480 "destination_account" : "destination_account_NotValidated",
2481 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2482 "source_account" : "source_account_NotValidated"
2486 {"deposit_authorized: too few arguments.",
2489 "deposit_authorized",
2490 "source_account_NotValidated",
2494 "method" : "deposit_authorized",
2497 "error" : "badSyntax",
2499 "error_message" : "Syntax error."
2503 {"deposit_authorized: too many arguments.",
2505 {
"deposit_authorized",
2506 "source_account_NotValidated",
2507 "destination_account_NotValidated",
2508 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2520 "method" : "deposit_authorized",
2523 "error" : "badSyntax",
2525 "error_message" : "Syntax error."
2529 {"deposit_authorized: invalid ledger selection.",
2532 "deposit_authorized",
2533 "source_account_NotValidated",
2534 "destination_account_NotValidated",
2539 "method" : "deposit_authorized",
2542 "api_version" : %API_VER%,
2543 "destination_account" : "destination_account_NotValidated",
2545 "source_account" : "source_account_NotValidated"
2552 {
"feature: minimal.",
2559 "method" : "feature",
2562 "api_version" : %API_VER%,
2566 {"feature: with name.",
2568 {
"feature",
"featureNameOrHexIsNotValidated"},
2571 "method" : "feature",
2574 "api_version" : %API_VER%,
2575 "feature" : "featureNameOrHexIsNotValidated"
2579 {"feature: accept.",
2582 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA98"
2587 "method" : "feature",
2590 "api_version" : %API_VER%,
2591 "feature" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
2596 {"feature: reject.",
2598 {
"feature",
"0",
"reject"},
2601 "method" : "feature",
2604 "api_version" : %API_VER%,
2610 {"feature: too many arguments.",
2612 {
"feature",
"featureNameOrHexIsNotValidated",
"accept",
"anotherArg"},
2615 "method" : "feature",
2618 "error" : "badSyntax",
2620 "error_message" : "Syntax error."
2624 {"feature: neither accept nor reject.",
2628 "featureNameOrHexIsNotValidated",
2633 "method" : "feature",
2636 "error" : "invalidParams",
2638 "error_message" : "Invalid parameters."
2645 {
"fetch_info: minimal.",
2652 "method" : "fetch_info",
2655 "api_version" : %API_VER%,
2659 {"fetch_info: clear.",
2661 {
"fetch_info",
"clear"},
2664 "method" : "fetch_info",
2667 "api_version" : %API_VER%,
2672 {"fetch_info: too many arguments.",
2674 {
"fetch_info",
"clear",
"other"},
2677 "method" : "fetch_info",
2680 "error" : "badSyntax",
2682 "error_message" : "Syntax error."
2686 {"fetch_info: other trailing argument.",
2688 {
"fetch_info",
"too"},
2691 "method" : "fetch_info",
2694 "api_version" : %API_VER%,
2702 {
"gateway_balances: minimal.",
2704 {
"gateway_balances",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2707 "method" : "gateway_balances",
2710 "api_version" : %API_VER%,
2711 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2715 {"gateway_balances: with ledger index.",
2717 {
"gateway_balances",
"890765",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2720 "method" : "gateway_balances",
2723 "api_version" : %API_VER%,
2724 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2725 "ledger_index" : "890765"
2729 {"gateway_balances: with text ledger index.",
2731 {
"gateway_balances",
"current",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2734 "method" : "gateway_balances",
2737 "api_version" : %API_VER%,
2738 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2739 "ledger_index" : "current"
2743 {"gateway_balances: with 64 character ledger hash.",
2745 {
"gateway_balances",
2746 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2747 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2750 "method" : "gateway_balances",
2753 "api_version" : %API_VER%,
2754 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2755 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2759 {"gateway_balances: 1 hotwallet.",
2761 {
"gateway_balances",
2762 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2763 "hotwallet_is_not_validated"},
2766 "method" : "gateway_balances",
2769 "api_version" : %API_VER%,
2770 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2771 "hotwallet" : [ "hotwallet_is_not_validated" ]
2775 {"gateway_balances: 3 hotwallets.",
2779 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2780 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2781 "hotwallet_is_not_validated_1",
2782 "hotwallet_is_not_validated_2",
2783 "hotwallet_is_not_validated_3",
2787 "method" : "gateway_balances",
2790 "api_version" : %API_VER%,
2791 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2793 "hotwallet_is_not_validated_1",
2794 "hotwallet_is_not_validated_2",
2795 "hotwallet_is_not_validated_3"
2797 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2801 {"gateway_balances: too few arguments.",
2808 "method" : "gateway_balances",
2811 "error" : "badSyntax",
2813 "error_message" : "Syntax error."
2817 {"gateway_balances: empty first argument.",
2819 {
"gateway_balances",
""},
2822 "method" : "gateway_balances",
2825 "error" : "invalidParams",
2827 "error_message" : "Invalid first parameter"
2831 {"gateway_balances: with ledger index but no gateway.",
2839 "method" : "gateway_balances",
2842 "error" : "invalidParams",
2844 "error_message" : "Invalid hotwallet"
2848 {"gateway_balances: with text ledger index but no gateway.",
2856 "method" : "gateway_balances",
2859 "error" : "invalidParams",
2861 "error_message" : "Invalid hotwallet"
2865 {"gateway_balances: with 64 character ledger hash but no gateway.",
2869 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2873 "method" : "gateway_balances",
2876 "error" : "invalidParams",
2878 "error_message" : "Invalid hotwallet"
2885 {
"get_counts: minimal.",
2892 "method" : "get_counts",
2895 "api_version" : %API_VER%,
2899 {"get_counts: with maximum count.",
2901 {
"get_counts",
"100"},
2904 "method" : "get_counts",
2907 "api_version" : %API_VER%,
2912 {"get_counts: too many arguments.",
2914 {
"get_counts",
"100",
"whatever"},
2917 "method" : "get_counts",
2920 "error" : "badSyntax",
2922 "error_message" : "Syntax error."
2926 {"get_counts: count too small.",
2934 {"get_counts: count too large.",
2936 {
"get_counts",
"4294967296"},
2947 R
"({"json_argument":true})",
2951 "method" : "command",
2954 "api_version" : %API_VER%,
2955 "json_argument" : true,
2956 "method" : "command"
2960 {"json: null object.",
2969 "method" : "command",
2972 "api_version" : %API_VER%,
2973 "method" : "command"
2977 {"json: too few arguments.",
2979 {
"json",
"command"},
2985 "error" : "badSyntax",
2987 "error_message" : "Syntax error."
2991 {"json: too many arguments.",
2993 {
"json",
"command", R
"({"json_argument":true})", "extra"},
2999 "error" : "badSyntax",
3001 "error_message" : "Syntax error."
3005 {"json: array, not object.",
3010 R
"(["arg1","arg2"])",
3017 "error" : "invalidParams",
3019 "error_message" : "Invalid parameters."
3023 {"json: invalid json (note closing comma).",
3028 R
"({"json_argument":true,})",
3035 "error" : "invalidParams",
3037 "error_message" : "Invalid parameters."
3044 {
"json2: minimal object.",
3048 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3054 "method" : "call_1",
3057 "api_version" : %API_VER%,
3060 "method" : "call_1",
3066 {"json2: object with nested params.",
3072 "ripplerpc" : "2.0",
3074 "method" : "call_1",
3075 "params" : [{"inner_arg" : "yup"}]
3082 "method" : "call_1",
3085 "api_version" : %API_VER%,
3091 "method" : "call_1",
3097 {"json2: minimal array.",
3101 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"}])",
3109 "api_version" : %API_VER%,
3112 "method" : "call_1",
3118 {"json2: array with object with nested params.",
3127 "params" : [{"inner_arg" : "yup"}]}
3136 "api_version" : %API_VER%,
3142 "method" : "call_1",
3147 {"json2: too few arguments.",
3157 "error" : "badSyntax",
3159 "error_message" : "Syntax error."
3163 {"json2: too many arguments.",
3166 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_this"})",
3173 "error" : "badSyntax",
3175 "error_message" : "Syntax error."
3179 {"json2: malformed json (note extra comma).",
3183 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",})",
3192 "error" : "invalidParams",
3194 "error_message" : "Invalid parameters.",
3202 {"json2: omit jsonrpc.",
3206 R
"({"ripplerpc":"2.0","id":"A1","method":"call_1"})",
3214 "error" : "invalidParams",
3216 "error_message" : "Invalid parameters.",
3223 {"json2: wrong jsonrpc version.",
3227 R
"({"jsonrpc":"2.1","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3236 "error" : "invalidParams",
3238 "error_message" : "Invalid parameters.",
3246 {"json2: omit ripplerpc.",
3250 R
"({"jsonrpc":"2.0","id":"A1","method":"call_1"})",
3259 "error" : "invalidParams",
3261 "error_message" : "Invalid parameters.",
3267 {"json2: wrong ripplerpc version.",
3271 R
"({"jsonrpc":"2.0","ripplerpc":"2.00","id":"A1","method":"call_1"})",
3280 "error" : "invalidParams",
3282 "error_message" : "Invalid parameters.",
3285 "ripplerpc" : "2.00"
3288 "ripplerpc" : "2.00"
3294 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","method":"call_1"})",
3302 "error" : "invalidParams",
3304 "error_message" : "Invalid parameters.",
3311 {"json2: omit method.",
3315 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1"})",
3324 "error" : "invalidParams",
3326 "error_message" : "Invalid parameters.",
3334 {"json2: empty outer array.",
3345 "error" : "invalidParams",
3347 "error_message" : "Invalid parameters."
3351 {"json2: empty inner array.",
3355 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",[]}])",
3362 "error" : "invalidParams",
3364 "error_message" : "Invalid parameters."
3368 {"json2: array with non-json2 object.",
3374 "ripplerpc" : "2.0",
3385 "error" : "invalidParams",
3387 "error_message" : "Invalid parameters."
3391 {"json2: non-object or -array inner params member.",
3397 "ripplerpc" : "2.0",
3399 "method" : "call_1",
3410 "error" : "invalidParams",
3412 "error_message" : "Invalid parameters.",
3423 {
"ledger: minimal.",
3428 "method" : "ledger",
3431 "api_version" : %API_VER%,
3435 {"ledger: ledger index.",
3437 {
"ledger",
"4294967295"},
3440 "method" : "ledger",
3443 "api_version" : %API_VER%,
3444 "ledger_index" : 4294967295
3448 {"ledger: text ledger index.",
3450 {
"ledger",
"validated"},
3453 "method" : "ledger",
3456 "api_version" : %API_VER%,
3457 "ledger_index" : "validated"
3461 {"ledger: ledger hash.",
3464 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3467 "method" : "ledger",
3470 "api_version" : %API_VER%,
3471 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3477 {
"ledger",
"current",
"full"},
3480 "method" : "ledger",
3483 "api_version" : %API_VER%,
3485 "ledger_index" : "current"
3491 {
"ledger",
"closed",
"tx"},
3494 "method" : "ledger",
3497 "api_version" : %API_VER%,
3499 "ledger_index" : "closed",
3500 "transactions" : true
3504 {"ledger: too many arguments.",
3506 {
"ledger",
"4294967295",
"spare"},
3509 "method" : "ledger",
3512 "api_version" : %API_VER%,
3513 "ledger_index" : 4294967295
3517 {"ledger: ledger index too small.",
3522 "method" : "ledger",
3525 "api_version" : %API_VER%,
3530 {"ledger: ledger index too big.",
3532 {
"ledger",
"4294967296"},
3535 "method" : "ledger",
3538 "api_version" : %API_VER%,
3543 {"ledger: invalid ledger text.",
3545 {
"ledger",
"latest"},
3548 "method" : "ledger",
3551 "api_version" : %API_VER%,
3556 {"ledger: unsupported final argument.",
3558 {
"ledger",
"current",
"expand"},
3561 "method" : "ledger",
3564 "api_version" : %API_VER%,
3565 "ledger_index" : "current"
3572 {
"ledger_closed: minimal.",
3577 "method" : "ledger_closed",
3580 "api_version" : %API_VER%,
3584 {"ledger_closed: too many arguments.",
3586 {
"ledger_closed",
"today"},
3589 "method" : "ledger_closed",
3592 "error" : "badSyntax",
3594 "error_message" : "Syntax error."
3601 {
"ledger_current: minimal.",
3606 "method" : "ledger_current",
3609 "api_version" : %API_VER%,
3613 {"ledger_current: too many arguments.",
3615 {
"ledger_current",
"today"},
3618 "method" : "ledger_current",
3621 "error" : "badSyntax",
3623 "error_message" : "Syntax error."
3630 {
"ledger_header: ledger index.",
3632 {
"ledger_header",
"4294967295"},
3635 "method" : "ledger_header",
3638 "api_version" : %API_VER%,
3639 "ledger_index" : 4294967295
3643 {"ledger_header: ledger hash.",
3646 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3649 "method" : "ledger_header",
3652 "api_version" : %API_VER%,
3653 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3657 {"ledger_header: too few arguments.",
3664 "method" : "ledger_header",
3667 "error" : "badSyntax",
3669 "error_message" : "Syntax error."
3673 {"ledger_header: too many arguments.",
3675 {
"ledger_header",
"4294967295",
"spare"},
3678 "method" : "ledger_header",
3681 "error" : "badSyntax",
3683 "error_message" : "Syntax error."
3687 {"ledger_header: text ledger index.",
3689 {
"ledger_header",
"current"},
3692 "method" : "ledger_header",
3695 "api_version" : %API_VER%,
3700 {"ledger_header: ledger index too small.",
3702 {
"ledger_header",
"-1"},
3705 "method" : "ledger_header",
3708 "api_version" : %API_VER%,
3713 {"ledger_header: ledger index too big.",
3715 {
"ledger_header",
"4294967296"},
3718 "method" : "ledger_header",
3721 "api_version" : %API_VER%,
3729 {
"ledger_request: ledger index.",
3731 {
"ledger_request",
"4294967295"},
3734 "method" : "ledger_request",
3737 "api_version" : %API_VER%,
3738 "ledger_index" : 4294967295
3742 {"ledger_request: ledger hash.",
3745 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3748 "method" : "ledger_request",
3751 "api_version" : %API_VER%,
3752 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3756 {"ledger_request: too few arguments.",
3763 "method" : "ledger_request",
3766 "error" : "badSyntax",
3768 "error_message" : "Syntax error."
3772 {"ledger_request: too many arguments.",
3774 {
"ledger_request",
"4294967295",
"spare"},
3777 "method" : "ledger_request",
3780 "error" : "badSyntax",
3782 "error_message" : "Syntax error."
3786 {"ledger_request: text ledger index.",
3788 {
"ledger_request",
"current"},
3791 "method" : "ledger_request",
3794 "api_version" : %API_VER%,
3799 {"ledger_request: ledger index too small.",
3801 {
"ledger_request",
"-1"},
3804 "method" : "ledger_request",
3807 "api_version" : %API_VER%,
3812 {"ledger_request: ledger index too big.",
3814 {
"ledger_request",
"4294967296"},
3817 "method" : "ledger_request",
3820 "api_version" : %API_VER%,
3828 {
"log_level: minimal.",
3835 "method" : "log_level",
3838 "api_version" : %API_VER%,
3842 {"log_level: fatal.",
3844 {
"log_level",
"fatal"},
3847 "method" : "log_level",
3850 "api_version" : %API_VER%,
3851 "severity" : "fatal"
3855 {"log_level: error.",
3857 {
"log_level",
"error"},
3860 "method" : "log_level",
3863 "api_version" : %API_VER%,
3864 "severity" : "error"
3868 {"log_level: warn.",
3870 {
"log_level",
"warn"},
3873 "method" : "log_level",
3876 "api_version" : %API_VER%,
3881 {"log_level: debug.",
3883 {
"log_level",
"debug"},
3886 "method" : "log_level",
3889 "api_version" : %API_VER%,
3890 "severity" : "debug"
3894 {"log_level: trace.",
3896 {
"log_level",
"trace"},
3899 "method" : "log_level",
3902 "api_version" : %API_VER%,
3903 "severity" : "trace"
3907 {"log_level: base partition.",
3909 {
"log_level",
"base",
"trace"},
3912 "method" : "log_level",
3915 "api_version" : %API_VER%,
3916 "partition" : "base",
3917 "severity" : "trace"
3921 {"log_level: partiton_name.",
3923 {
"log_level",
"partition_name",
"fatal"},
3926 "method" : "log_level",
3929 "api_version" : %API_VER%,
3930 "partition" : "partition_name",
3931 "severity" : "fatal"
3935 {"log_level: too many arguments.",
3937 {
"log_level",
"partition_name",
"fatal",
"extra"},
3940 "method" : "log_level",
3943 "error" : "badSyntax",
3945 "error_message" : "Syntax error."
3949 {"log_level: invalid severity.",
3951 {
"log_level",
"err"},
3954 "method" : "log_level",
3957 "api_version" : %API_VER%,
3962 {"log_level: swap partition name and severity.",
3971 "method" : "log_level",
3974 "api_version" : %API_VER%,
3975 "partition" : "fatal",
3976 "severity" : "partition_name"
3983 {
"logrotate: minimal.",
3990 "method" : "logrotate",
3993 "api_version" : %API_VER%,
3997 {"logrotate: too many arguments.",
3999 {
"logrotate",
"extra"},
4002 "method" : "logrotate",
4005 "error" : "badSyntax",
4007 "error_message" : "Syntax error."
4014 {
"owner_info: minimal.",
4016 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
4019 "method" : "owner_info",
4022 "api_version" : %API_VER%,
4023 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
4027 {"owner_info: with numeric ledger index.",
4029 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
4032 "method" : "owner_info",
4035 "api_version" : %API_VER%,
4036 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4037 "ledger_index" : 987654321
4041 {"owner_info: with text ledger index.",
4043 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4046 "method" : "owner_info",
4049 "api_version" : %API_VER%,
4050 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4051 "ledger_index" : "validated"
4055 {"owner_info: with ledger hash.",
4058 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4059 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
4062 "method" : "owner_info",
4065 "api_version" : %API_VER%,
4066 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4067 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
4071 {"owner_info: with ledger index.",
4073 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4076 "method" : "owner_info",
4079 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4080 "api_version" : %API_VER%,
4081 "ledger_index" : "validated"
4085 {"owner_info: too few arguments.",
4092 "method" : "owner_info",
4095 "error" : "badSyntax",
4097 "error_message" : "Syntax error."
4101 {"owner_info: too many arguments.",
4105 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4112 "method" : "owner_info",
4115 "error" : "badSyntax",
4117 "error_message" : "Syntax error."
4122 "owner_info: invalid accountID.",
4130 "method" : "owner_info",
4133 "error" : "actMalformed",
4135 "error_message" : "Account malformed."
4143 "owner_info: invalid ledger selection.",
4145 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4148 "method" : "owner_info",
4151 "api_version" : %API_VER%,
4152 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4161 "owner_info: invalid ledger selection.",
4163 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4166 "method" : "owner_info",
4169 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4170 "api_version" : %API_VER%,
4189 "api_version" : %API_VER%,
4193 {"peers: too many arguments.",
4201 "error" : "badSyntax",
4203 "error_message" : "Syntax error."
4210 {
"peer_reservations_add: minimal.",
4212 {
"peer_reservations_add",
"public_key_string"},
4215 "method" : "peer_reservations_add",
4218 "api_version" : %API_VER%,
4219 "public_key" : "public_key_string"
4223 {"peer_reservations_add: with description.",
4225 {
"peer_reservations_add",
"public_key_string",
"public_key_description"},
4228 "method" : "peer_reservations_add",
4231 "api_version" : %API_VER%,
4232 "description" : "public_key_description",
4233 "public_key" : "public_key_string"
4237 {"peer_reservations_add: too few arguments.",
4239 {
"peer_reservations_add"},
4242 "method" : "peer_reservations_add",
4245 "error" : "badSyntax",
4247 "error_message" : "Syntax error."
4251 {"peer_reservations_add: too many arguments.",
4253 {
"peer_reservations_add",
4254 "public_key_string",
4255 "public_key_description",
4259 "method" : "peer_reservations_add",
4262 "error" : "badSyntax",
4264 "error_message" : "Syntax error."
4271 {
"peer_reservations_del: minimal.",
4273 {
"peer_reservations_del",
"public_key_string"},
4276 "method" : "peer_reservations_del",
4279 "api_version" : %API_VER%,
4280 "public_key" : "public_key_string"
4284 {"peer_reservations_del: too few arguments.",
4286 {
"peer_reservations_del"},
4289 "method" : "peer_reservations_del",
4292 "error" : "badSyntax",
4294 "error_message" : "Syntax error."
4298 {"peer_reservations_del: too many arguments.",
4300 {
"peer_reservations_del",
4301 "public_key_string",
4302 "public_key_description",
4306 "method" : "peer_reservations_del",
4309 "error" : "badSyntax",
4311 "error_message" : "Syntax error."
4328 "api_version" : %API_VER%,
4332 {"ping: too many arguments.",
4340 "error" : "badSyntax",
4342 "error_message" : "Syntax error."
4359 "api_version" : %API_VER%,
4364 "print: extra argument.",
4372 "api_version" : %API_VER%,
4373 "params" : [ "extra" ]
4377 {"print: too many arguments.",
4379 {
"print",
"extra1",
"extra2"},
4385 "error" : "badSyntax",
4387 "error_message" : "Syntax error."
4394 {
"random: minimal.",
4401 "method" : "random",
4404 "api_version" : %API_VER%,
4408 {"random: too many arguments.",
4410 {
"random",
"extra"},
4413 "method" : "random",
4416 "error" : "badSyntax",
4418 "error_message" : "Syntax error."
4425 {
"ripple_path_find: minimal.",
4429 R
"({"json_argument":true})",
4433 "method" : "ripple_path_find",
4436 "api_version" : %API_VER%,
4437 "json_argument" : true
4441 {"ripple_path_find: ledger index.",
4443 {
"ripple_path_find", R
"({"json_argument":true})", "4294967295"},
4446 "method" : "ripple_path_find",
4449 "api_version" : %API_VER%,
4450 "json_argument" : true,
4451 "ledger_index" : 4294967295
4455 {"ripple_path_find: text ledger index.",
4457 {
"ripple_path_find", R
"({"json_argument":true})", "closed"},
4460 "method" : "ripple_path_find",
4463 "api_version" : %API_VER%,
4464 "json_argument" : true,
4465 "ledger_index" : "closed"
4469 {"ripple_path_find: ledger hash.",
4471 {
"ripple_path_find",
4472 R
"({"json_argument":true})",
4473 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"},
4476 "method" : "ripple_path_find",
4479 "api_version" : %API_VER%,
4480 "json_argument" : true,
4481 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
4486 {"ripple_path_find: too few arguments.",
4493 "method" : "ripple_path_find",
4496 "error" : "badSyntax",
4498 "error_message" : "Syntax error."
4502 {"ripple_path_find: too many arguments.",
4504 {
"ripple_path_find", R
"({"json_argument":true})", "current",
"extra"},
4507 "method" : "ripple_path_find",
4510 "error" : "badSyntax",
4512 "error_message" : "Syntax error."
4516 {"ripple_path_find: invalid json (note extra comma).",
4520 R
"({"json_argument":true,})",
4524 "method" : "ripple_path_find",
4527 "error" : "invalidParams",
4529 "error_message" : "Invalid parameters."
4533 {"ripple_path_find: ledger index too small.",
4535 {
"ripple_path_find", R
"({"json_argument":true})", "-1"},
4538 "method" : "ripple_path_find",
4541 "api_version" : %API_VER%,
4542 "json_argument" : true,
4547 {"ripple_path_find: ledger index too big.",
4549 {
"ripple_path_find", R
"({"json_argument":true})", "4294967296"},
4552 "method" : "ripple_path_find",
4555 "api_version" : %API_VER%,
4556 "json_argument" : true,
4561 {"ripple_path_find: invalid text ledger index.",
4563 {
"ripple_path_find", R
"({"json_argument":true})", "cur"},
4566 "method" : "ripple_path_find",
4569 "api_version" : %API_VER%,
4570 "json_argument" : true,
4583 R
"({"json_argument":true})",
4590 "api_version" : %API_VER%,
4591 "secret" : "my_secret",
4593 "json_argument" : true
4600 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline"},
4606 "api_version" : %API_VER%,
4608 "secret" : "my_secret",
4610 "json_argument" : true
4615 {"sign: too few arguments.",
4617 {
"sign",
"contents_of_blob"},
4623 "error" : "badSyntax",
4625 "error_message" : "Syntax error."
4629 {"sign: offline flag with signature_target.",
4631 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4637 "api_version" : %API_VER%,
4639 "secret" : "my_secret",
4640 "signature_target" : "extra",
4643 "json_argument" : true
4648 {"sign: too many arguments.",
4652 R
"({"json_argument":true})",
4654 "CounterpartySignature",
4661 "error" : "badSyntax",
4663 "error_message" : "Syntax error."
4667 {"sign: invalid JSON (note extra comma).",
4672 R
"({"json_argument":true,})",
4679 "error" : "invalidParams",
4681 "error_message" : "Invalid parameters."
4685 {"sign: misspelled offline flag interpreted as signature_target.",
4687 {
"sign",
"my_secret", R
"({"json_argument":true})", "offlin"},
4693 "api_version" : %API_VER%,
4694 "secret" : "my_secret",
4695 "signature_target" : "offlin",
4698 "json_argument" : true
4706 {
"sign_for: minimal.",
4710 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4712 R
"({"json_argument":true})",
4716 "method" : "sign_for",
4719 "api_version" : %API_VER%,
4720 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4721 "secret" : "my_secret",
4723 "json_argument" : true
4728 {"sign_for: offline.",
4731 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4733 R
"({"json_argument":true})",
4737 "method" : "sign_for",
4740 "api_version" : %API_VER%,
4741 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4743 "secret" : "my_secret",
4745 "json_argument" : true
4750 {"sign_for: too few arguments.",
4754 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4759 "method" : "sign_for",
4762 "error" : "badSyntax",
4764 "error_message" : "Syntax error."
4768 {"sign_for: too many arguments.",
4771 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4773 R
"({"json_argument":true})",
4778 "method" : "sign_for",
4781 "error" : "badSyntax",
4783 "error_message" : "Syntax error."
4787 {"sign_for: invalid json (note extra comma).",
4791 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4793 R
"({"json_argument":true,})",
4797 "method" : "sign_for",
4800 "error" : "invalidParams",
4802 "error_message" : "Invalid parameters."
4806 {"sign_for: invalid final argument.",
4809 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4811 R
"({"json_argument":true})",
4815 "method" : "sign_for",
4818 "error" : "invalidParams",
4820 "error_message" : "Invalid parameters."
4829 {
"submit",
"the blob is unvalidated and may be any length..."},
4832 "method" : "submit",
4835 "api_version" : %API_VER%,
4836 "tx_blob" : "the blob is unvalidated and may be any length..."
4845 R
"({"json_argument":true})",
4849 "method" : "submit",
4852 "api_version" : %API_VER%,
4853 "secret" : "my_secret",
4855 "json_argument" : true
4860 {"submit: too few arguments.",
4867 "method" : "submit",
4870 "error" : "badSyntax",
4872 "error_message" : "Syntax error."
4877 "submit: four arguments.",
4879 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline"},
4882 "method" : "submit",
4885 "api_version" : %API_VER%,
4887 "secret" : "my_secret",
4889 "json_argument" : true
4894 {"submit: offline flag with signature_target.",
4896 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4899 "method" : "submit",
4902 "api_version" : %API_VER%,
4904 "secret" : "my_secret",
4905 "signature_target" : "extra",
4908 "json_argument" : true
4913 {"submit: too many arguments.",
4917 R
"({"json_argument":true})",
4919 "CounterpartySignature",
4923 "method" : "submit",
4926 "error" : "badSyntax",
4928 "error_message" : "Syntax error."
4932 {"submit: invalid json (note extra comma).",
4937 R
"({"json_argument":true,})",
4941 "method" : "submit",
4944 "error" : "invalidParams",
4946 "error_message" : "Invalid parameters."
4950 {"submit: misspelled offline flag interpreted as signature_target.",
4952 {
"submit",
"my_secret", R
"({"json_argument":true})", "offlne"},
4955 "method" : "submit",
4958 "api_version" : %API_VER%,
4959 "secret" : "my_secret",
4960 "signature_target" : "offlne",
4963 "json_argument" : true
4971 {
"submit_multisigned: json.",
4974 "submit_multisigned",
4975 R
"({"json_argument":true})",
4979 "method" : "submit_multisigned",
4982 "api_version" : %API_VER%,
4984 "json_argument" : true
4989 {"submit_multisigned: too few arguments.",
4992 "submit_multisigned",
4996 "method" : "submit_multisigned",
4999 "error" : "badSyntax",
5001 "error_message" : "Syntax error."
5005 {"submit_multisigned: too many arguments.",
5007 {
"submit_multisigned", R
"({"json_argument":true})", "extra"},
5010 "method" : "submit_multisigned",
5013 "error" : "badSyntax",
5015 "error_message" : "Syntax error."
5019 {"submit_multisigned: invalid json (note extra comma).",
5022 "submit_multisigned",
5023 R
"({"json_argument":true,})",
5027 "method" : "submit_multisigned",
5030 "error" : "invalidParams",
5032 "error_message" : "Invalid parameters."
5040 {
"server_info: minimal.",
5047 "method" : "server_info",
5050 "api_version" : %API_VER%,
5054 {"server_info: counters.",
5056 {
"server_info",
"counters"},
5059 "method" : "server_info",
5062 "api_version" : %API_VER%,
5067 {"server_info: too many arguments.",
5069 {
"server_info",
"counters",
"extra"},
5072 "method" : "server_info",
5075 "error" : "badSyntax",
5077 "error_message" : "Syntax error."
5081 {"server_info: non-counters argument.",
5083 {
"server_info",
"counter"},
5086 "method" : "server_info",
5089 "api_version" : %API_VER%,
5096 {
"server_state: minimal.",
5103 "method" : "server_state",
5106 "api_version" : %API_VER%,
5110 {"server_state: counters.",
5112 {
"server_state",
"counters"},
5115 "method" : "server_state",
5118 "api_version" : %API_VER%,
5123 {"server_state: too many arguments.",
5125 {
"server_state",
"counters",
"extra"},
5128 "method" : "server_state",
5131 "error" : "badSyntax",
5133 "error_message" : "Syntax error."
5137 {"server_state: non-counters argument.",
5139 {
"server_state",
"counter"},
5142 "method" : "server_state",
5145 "api_version" : %API_VER%,
5162 "api_version" : %API_VER%,
5166 {"stop: too many arguments.",
5174 "error" : "badSyntax",
5176 "error_message" : "Syntax error."
5183 {
"transaction_entry: ledger index.",
5185 {
"transaction_entry",
5186 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5190 "method" : "transaction_entry",
5193 "api_version" : %API_VER%,
5194 "ledger_index" : 4294967295,
5195 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5199 {"transaction_entry: text ledger index.",
5201 {
"transaction_entry",
5202 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5206 "method" : "transaction_entry",
5209 "api_version" : %API_VER%,
5210 "ledger_index" : "current",
5211 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5215 {"transaction_entry: ledger hash.",
5217 {
"transaction_entry",
5218 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5219 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210"},
5222 "method" : "transaction_entry",
5225 "api_version" : %API_VER%,
5226 "ledger_hash" : "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210",
5227 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5231 {"transaction_entry: too few arguments.",
5234 "transaction_entry",
5235 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5239 "method" : "transaction_entry",
5242 "error" : "badSyntax",
5244 "error_message" : "Syntax error."
5248 {"transaction_entry: too many arguments.",
5250 {
"transaction_entry",
5251 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5256 "method" : "transaction_entry",
5259 "error" : "badSyntax",
5261 "error_message" : "Syntax error."
5265 {"transaction_entry: short tx_hash.",
5268 "transaction_entry",
5269 "123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5274 "method" : "transaction_entry",
5277 "error" : "invalidParams",
5279 "error_message" : "Invalid parameters."
5283 {"transaction_entry: long tx_hash.",
5286 "transaction_entry",
5287 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUVW",
5292 "method" : "transaction_entry",
5295 "error" : "invalidParams",
5297 "error_message" : "Invalid parameters."
5301 {"transaction_entry: small ledger index.",
5304 "transaction_entry",
5305 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5310 "method" : "transaction_entry",
5313 "error" : "invalidParams",
5315 "error_message" : "Invalid parameters."
5319 {"transaction_entry: large ledger index.",
5322 "transaction_entry",
5323 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5328 "method" : "transaction_entry",
5331 "error" : "invalidParams",
5333 "error_message" : "Invalid parameters."
5337 {"transaction_entry: short ledger hash.",
5340 "transaction_entry",
5341 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5342 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA987654321",
5346 "method" : "transaction_entry",
5349 "error" : "invalidParams",
5351 "error_message" : "Invalid parameters."
5355 {"transaction_entry: long ledger hash.",
5358 "transaction_entry",
5359 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5360 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210Z",
5364 "method" : "transaction_entry",
5367 "error" : "invalidParams",
5369 "error_message" : "Invalid parameters."
5376 {
"tx: ctid. minimal",
5378 {
"tx",
"FFFFFFFFFFFFFFFF",
"1",
"2"},
5384 "api_version" : %API_VER%,
5385 "ctid" : "FFFFFFFFFFFFFFFF",
5391 {"tx: ctid. binary",
5393 {
"tx",
"FFFFFFFFFFFFFFFF",
"binary",
"1",
"2"},
5399 "api_version" : %API_VER%,
5401 "ctid" : "FFFFFFFFFFFFFFFF",
5409 {
"tx",
"transaction_hash_is_not_validated"},
5415 "api_version" : %API_VER%,
5416 "transaction" : "transaction_hash_is_not_validated"
5422 {
"tx",
"transaction_hash_is_not_validated",
"binary"},
5428 "api_version" : %API_VER%,
5430 "transaction" : "transaction_hash_is_not_validated"
5434 {"tx: too few arguments.",
5444 "error" : "badSyntax",
5446 "error_message" : "Syntax error."
5450 {"tx: too many arguments.",
5452 {
"tx",
"transaction_hash_is_not_validated",
"binary",
"1",
"2",
"extra"},
5458 "error" : "badSyntax",
5460 "error_message" : "Syntax error."
5464 {"tx: invalid final argument is apparently ignored.",
5466 {
"tx",
"transaction_hash_is_not_validated",
"bin"},
5472 "api_version" : %API_VER%,
5473 "transaction" : "transaction_hash_is_not_validated"
5480 {
"tx_history: minimal.",
5482 {
"tx_history",
"0"},
5485 "method" : "tx_history",
5488 "api_version" : %API_VER%,
5493 {"tx_history: too few arguments.",
5500 "method" : "tx_history",
5503 "error" : "badSyntax",
5505 "error_message" : "Syntax error."
5509 {"tx_history: too many arguments.",
5511 {
"tx_history",
"0",
"1"},
5514 "method" : "tx_history",
5517 "error" : "badSyntax",
5519 "error_message" : "Syntax error."
5525 "tx_history: start too small.",
5527 {
"tx_history",
"-1"},
5533 "tx_history: start too big.",
5535 {
"tx_history",
"4294967296"},
5541 "tx_history: start not integer.",
5543 {
"tx_history",
"beginning"},
5550 {
"unl_list: minimal.",
5557 "method" : "unl_list",
5560 "api_version" : %API_VER%,
5564 {"unl_list: too many arguments.",
5566 {
"unl_list",
"extra"},
5569 "method" : "unl_list",
5572 "error" : "badSyntax",
5574 "error_message" : "Syntax error."
5581 {
"validation_create: minimal.",
5584 "validation_create",
5588 "method" : "validation_create",
5591 "api_version" : %API_VER%,
5595 {"validation_create: with secret.",
5597 {
"validation_create",
"the form of the secret is not validated"},
5600 "method" : "validation_create",
5603 "api_version" : %API_VER%,
5604 "secret" : "the form of the secret is not validated"
5608 {"validation_create: too many arguments.",
5610 {
"validation_create",
"the form of the secret is not validated",
"extra"},
5613 "method" : "validation_create",
5616 "error" : "badSyntax",
5618 "error_message" : "Syntax error."
5625 {
"version: minimal.",
5632 "method" : "version",
5635 "api_version" : %API_VER%,
5639 {"version: too many arguments.",
5641 {
"version",
"extra"},
5644 "method" : "version",
5647 "error" : "badSyntax",
5649 "error_message" : "Syntax error."
5656 {
"wallet_propose: minimal.",
5663 "method" : "wallet_propose",
5666 "api_version" : %API_VER%,
5670 {"wallet_propose: with passphrase.",
5672 {
"wallet_propose",
"the form of the passphrase is not validated"},
5675 "method" : "wallet_propose",
5678 "api_version" : %API_VER%,
5679 "passphrase" : "the form of the passphrase is not validated"
5683 {"wallet_propose: too many arguments.",
5685 {
"wallet_propose",
"the form of the passphrase is not validated",
"extra"},
5688 "method" : "wallet_propose",
5691 "error" : "badSyntax",
5693 "error_message" : "Syntax error."
5700 {
"internal: minimal.",
5702 {
"internal",
"command_name"},
5705 "method" : "internal",
5708 "api_version" : %API_VER%,
5709 "internal_command" : "command_name",
5714 {"internal: with parameters.",
5725 "method" : "internal",
5728 "api_version" : %API_VER%,
5729 "internal_command" : "command_name",
5730 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5734 {"internal: too few arguments.",
5741 "method" : "internal",
5744 "error" : "badSyntax",
5746 "error_message" : "Syntax error."
5753 {
"path_find: minimal.",
5760 "method" : "path_find",
5763 "error" : "noEvents",
5765 "error_message" : "Current transport does not support events."
5769 {"path_find: with arguments.",
5771 {
"path_find",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5774 "method" : "path_find",
5777 "error" : "noEvents",
5779 "error_message" : "Current transport does not support events."
5786 {
"subscribe: minimal.",
5793 "method" : "subscribe",
5796 "error" : "noEvents",
5798 "error_message" : "Current transport does not support events."
5802 {"subscribe: with arguments.",
5804 {
"subscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5807 "method" : "subscribe",
5810 "error" : "noEvents",
5812 "error_message" : "Current transport does not support events."
5819 {
"unsubscribe: minimal.",
5826 "method" : "unsubscribe",
5829 "error" : "noEvents",
5831 "error_message" : "Current transport does not support events."
5835 {"unsubscribe: with arguments.",
5837 {
"unsubscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5840 "method" : "unsubscribe",
5843 "error" : "noEvents",
5845 "error_message" : "Current transport does not support events."
5852 {
"unknown_command: minimal.",
5859 "method" : "unknown_command",
5862 "api_version" : %API_VER%,
5866 {"unknown_command: with arguments.",
5868 {
"unknown_command",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5871 "method" : "unknown_command",
5874 "api_version" : %API_VER%,
5875 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5885 static auto const place_holder =
"%API_VER%";
5887 boost::replace_all(jr, place_holder, version_str);
5894 using namespace test::jtx;
5896 cfg->NETWORK_ID = networkID;
5907 testcase <<
"RPCCall API version " << apiVersion;
5919 if (!BEAST_EXPECT(!rpcCallTest.exp.empty()))
5923 rpcCallTest.args.
begin(), rpcCallTest.args.end()};
5925 char const*
const expVersioned =
5927 rpcCallTest.exp.size()
5929 : rpcCallTest.exp.back();
5947 fail(rpcCallTest.description, __FILE__, rpcCallTest.line);
5960 if (
json.isMember(jss::params) &&
json[jss::params].isArray() &&
5961 json[jss::params].size() > 0 &&
5962 json[jss::params][0u].isObject())
5964 json[jss::params][0u].removeMember(jss::error_code);
5978 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