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",
1591 "method" : "book_offers",
1594 "api_version" : %API_VER%,
1595 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1596 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1600 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1604 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1610 "book_offers: issuer, ledger hash, limit, and marker.",
1613 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1614 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1615 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1616 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1622 "method" : "book_offers",
1625 "api_version" : %API_VER%,
1626 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1627 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1629 "marker" : "MyMarker",
1632 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1636 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1641 {"book_offers: too few arguments.",
1648 "method" : "book_offers",
1651 "error" : "badSyntax",
1653 "error_message" : "Syntax error."
1657 {"book_offers: too many arguments.",
1660 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1661 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1662 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1663 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1670 "method" : "book_offers",
1673 "error" : "badSyntax",
1675 "error_message" : "Syntax error."
1680 {"book_offers: taker pays no currency.",
1684 "/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1685 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1689 "method" : "book_offers",
1692 "error" : "invalidParams",
1694 "error_message" : "Invalid currency/issuer '/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh'"
1698 {"book_offers: taker gets no currency.",
1702 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1703 "/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1707 "method" : "book_offers",
1710 "error" : "invalidParams",
1712 "error_message" : "Invalid currency/issuer '/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA'"
1716 {"book_offers: invalid issuer.",
1718 {
"book_offers",
"USD",
"EUR",
"not_a_valid_issuer"},
1721 "method" : "book_offers",
1724 "api_version" : %API_VER%,
1725 "issuer" : "not_a_valid_issuer",
1735 {"book_offers: invalid text ledger index.",
1739 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1740 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1744 "method" : "book_offers",
1747 "api_version" : %API_VER%,
1748 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1752 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1761 "book_offers: non-numeric limit.",
1765 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1766 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1767 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1768 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1773 "method" : "book_offers",
1776 "error" : "invalidParams",
1778 "error_message" : "Invalid field 'limit'."
1785 {
"can_delete: minimal.",
1792 "method" : "can_delete",
1795 "api_version" : %API_VER%,
1799 {"can_delete: ledger index.",
1807 "method" : "can_delete",
1810 "api_version" : %API_VER%,
1811 "can_delete" : 4294967295
1815 {"can_delete: ledger hash.",
1819 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
1823 "method" : "can_delete",
1826 "api_version" : %API_VER%,
1827 "can_delete" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210"
1831 {"can_delete: always.",
1839 "method" : "can_delete",
1842 "api_version" : %API_VER%,
1843 "can_delete" : "always"
1847 {"can_delete: never.",
1855 "method" : "can_delete",
1858 "api_version" : %API_VER%,
1859 "can_delete" : "never"
1863 {"can_delete: now.",
1871 "method" : "can_delete",
1874 "api_version" : %API_VER%,
1875 "can_delete" : "now"
1879 {"can_delete: too many arguments.",
1881 {
"can_delete",
"always",
"never"},
1884 "method" : "can_delete",
1887 "error" : "badSyntax",
1889 "error_message" : "Syntax error."
1893 {"can_delete: invalid argument.",
1895 {
"can_delete",
"invalid"},
1898 "method" : "can_delete",
1901 "api_version" : %API_VER%,
1902 "can_delete" : "invalid"
1907 "can_delete: ledger index > 32 bits.",
1916 "can_delete: ledger hash with no alphas.",
1920 "0123456701234567012345670123456701234567012345670123456701234567",
1927 {
"channel_authorize: minimal.",
1929 {
"channel_authorize",
1930 "secret_can_be_anything",
1931 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1932 "18446744073709551615"},
1935 "method" : "channel_authorize",
1938 "api_version" : %API_VER%,
1939 "amount" : "18446744073709551615",
1940 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1941 "secret" : "secret_can_be_anything"
1945 {"channel_authorize: too few arguments.",
1948 "channel_authorize",
1949 "secret_can_be_anything",
1950 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1954 "method" : "channel_authorize",
1957 "error" : "badSyntax",
1959 "error_message" : "Syntax error."
1963 {"channel_authorize: too many arguments.",
1965 {
"channel_authorize",
1967 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1973 "method" : "channel_authorize",
1976 "error" : "badSyntax",
1978 "error_message" : "Syntax error."
1982 {"channel_authorize: bad key type.",
1984 {
"channel_authorize",
1986 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1991 "method" : "channel_authorize",
1994 "error" : "badKeyType",
1996 "error_message" : "Bad key type."
2000 {"channel_authorize: channel_id too short.",
2002 {
"channel_authorize",
2003 "secret_can_be_anything",
2004 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2008 "method" : "channel_authorize",
2011 "error" : "channelMalformed",
2013 "error_message" : "Payment channel is malformed."
2017 {"channel_authorize: channel_id too long.",
2019 {
"channel_authorize",
2020 "secret_can_be_anything",
2021 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2025 "method" : "channel_authorize",
2028 "error" : "channelMalformed",
2030 "error_message" : "Payment channel is malformed."
2034 {"channel_authorize: channel_id not hex.",
2036 {
"channel_authorize",
2037 "secret_can_be_anything",
2038 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEZ",
2042 "method" : "channel_authorize",
2045 "error" : "channelMalformed",
2047 "error_message" : "Payment channel is malformed."
2051 {"channel_authorize: negative amount.",
2053 {
"channel_authorize",
2054 "secret_can_be_anything",
2055 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2059 "method" : "channel_authorize",
2062 "error" : "channelAmtMalformed",
2064 "error_message" : "Payment channel amount is malformed."
2068 {"channel_authorize: amount > 64 bits.",
2070 {
"channel_authorize",
2071 "secret_can_be_anything",
2072 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2073 "18446744073709551616"},
2076 "method" : "channel_authorize",
2079 "error" : "channelAmtMalformed",
2081 "error_message" : "Payment channel amount is malformed."
2088 {
"channel_verify: public key.",
2091 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2092 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2097 "method" : "channel_verify",
2100 "api_version" : %API_VER%,
2102 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2103 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2104 "signature" : "DEADBEEF"
2108 {"channel_verify: public key hex.",
2111 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2112 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2113 "18446744073709551615",
2117 "method" : "channel_verify",
2120 "api_version" : %API_VER%,
2121 "amount" : "18446744073709551615",
2122 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2123 "public_key" : "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2124 "signature" : "DEADBEEF"
2128 {"channel_verify: too few arguments.",
2131 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2132 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
2135 "method" : "channel_verify",
2138 "error" : "badSyntax",
2140 "error_message" : "Syntax error."
2144 {"channel_verify: too many arguments.",
2147 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2148 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2154 "method" : "channel_verify",
2157 "error" : "badSyntax",
2159 "error_message" : "Syntax error."
2163 {"channel_verify: malformed public key.",
2166 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9GoV",
2167 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2172 "method" : "channel_verify",
2175 "error" : "publicMalformed",
2177 "error_message" : "Public key is malformed."
2181 {"channel_verify: malformed hex public key.",
2184 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F",
2185 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2190 "method" : "channel_verify",
2193 "error" : "publicMalformed",
2195 "error_message" : "Public key is malformed."
2199 {"channel_verify: invalid channel id.",
2202 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2203 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2208 "method" : "channel_verify",
2211 "error" : "channelMalformed",
2213 "error_message" : "Payment channel is malformed."
2217 {"channel_verify: short channel id.",
2220 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2221 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2226 "method" : "channel_verify",
2229 "error" : "channelMalformed",
2231 "error_message" : "Payment channel is malformed."
2235 {"channel_verify: amount too small.",
2238 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2239 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2244 "method" : "channel_verify",
2247 "error" : "channelAmtMalformed",
2249 "error_message" : "Payment channel amount is malformed."
2253 {"channel_verify: amount too large.",
2256 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2257 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2258 "18446744073709551616",
2262 "method" : "channel_verify",
2265 "error" : "channelAmtMalformed",
2267 "error_message" : "Payment channel amount is malformed."
2271 {"channel_verify: non-hex signature.",
2274 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2275 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2277 "ThisIsNotHexadecimal"},
2280 "method" : "channel_verify",
2283 "api_version" : %API_VER%,
2284 "amount" : "40000000",
2285 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2286 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2287 "signature" : "ThisIsNotHexadecimal"
2294 {
"connect: minimal.",
2298 "ThereIsNoCheckingOnTheIPFormat",
2302 "method" : "connect",
2305 "api_version" : %API_VER%,
2306 "ip" : "ThereIsNoCheckingOnTheIPFormat"
2310 {"connect: ip and port.",
2312 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561"},
2315 "method" : "connect",
2318 "api_version" : %API_VER%,
2319 "ip" : "ThereIsNoCheckingOnTheIPFormat",
2324 {"connect: too few arguments.",
2331 "method" : "connect",
2334 "error" : "badSyntax",
2336 "error_message" : "Syntax error."
2340 {"connect: too many arguments.",
2342 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561",
"extra"},
2345 "method" : "connect",
2348 "error" : "badSyntax",
2350 "error_message" : "Syntax error."
2355 "connect: port too small.",
2359 "ThereIsNoCheckingOnTheIPFormat",
2365 "connect: port too large.",
2369 "ThereIsNoCheckingOnTheIPFormat",
2377 {
"consensus_info: minimal.",
2384 "method" : "consensus_info",
2387 "api_version" : %API_VER%
2391 {"consensus_info: too many arguments.",
2393 {
"consensus_info",
"whatever"},
2396 "method" : "consensus_info",
2399 "error" : "badSyntax",
2401 "error_message" : "Syntax error."
2408 {
"deposit_authorized: minimal.",
2411 "deposit_authorized",
2412 "source_account_NotValidated",
2413 "destination_account_NotValidated",
2417 "method" : "deposit_authorized",
2420 "api_version" : %API_VER%,
2421 "destination_account" : "destination_account_NotValidated",
2422 "source_account" : "source_account_NotValidated"
2426 {"deposit_authorized: with text ledger index.",
2428 {
"deposit_authorized",
2429 "source_account_NotValidated",
2430 "destination_account_NotValidated",
2434 "method" : "deposit_authorized",
2437 "api_version" : %API_VER%,
2438 "destination_account" : "destination_account_NotValidated",
2439 "ledger_index" : "validated",
2440 "source_account" : "source_account_NotValidated"
2444 {"deposit_authorized: with ledger index.",
2446 {
"deposit_authorized",
2447 "source_account_NotValidated",
2448 "destination_account_NotValidated",
2460 "method" : "deposit_authorized",
2463 "api_version" : %API_VER%,
2464 "destination_account" : "destination_account_NotValidated",
2465 "ledger_index" : 4294967295,
2466 "source_account" : "source_account_NotValidated",
2467 "credentials": ["cred1", "cred2", "cred3", "cred4", "cred5", "cred6", "cred7", "cred8"]
2471 {"deposit_authorized: with ledger hash.",
2473 {
"deposit_authorized",
2474 "source_account_NotValidated",
2475 "destination_account_NotValidated",
2476 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
2479 "method" : "deposit_authorized",
2482 "api_version" : %API_VER%,
2483 "destination_account" : "destination_account_NotValidated",
2484 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2485 "source_account" : "source_account_NotValidated"
2489 {"deposit_authorized: too few arguments.",
2492 "deposit_authorized",
2493 "source_account_NotValidated",
2497 "method" : "deposit_authorized",
2500 "error" : "badSyntax",
2502 "error_message" : "Syntax error."
2506 {"deposit_authorized: too many arguments.",
2508 {
"deposit_authorized",
2509 "source_account_NotValidated",
2510 "destination_account_NotValidated",
2511 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2523 "method" : "deposit_authorized",
2526 "error" : "badSyntax",
2528 "error_message" : "Syntax error."
2532 {"deposit_authorized: invalid ledger selection.",
2535 "deposit_authorized",
2536 "source_account_NotValidated",
2537 "destination_account_NotValidated",
2542 "method" : "deposit_authorized",
2545 "api_version" : %API_VER%,
2546 "destination_account" : "destination_account_NotValidated",
2548 "source_account" : "source_account_NotValidated"
2555 {
"feature: minimal.",
2562 "method" : "feature",
2565 "api_version" : %API_VER%,
2569 {"feature: with name.",
2571 {
"feature",
"featureNameOrHexIsNotValidated"},
2574 "method" : "feature",
2577 "api_version" : %API_VER%,
2578 "feature" : "featureNameOrHexIsNotValidated"
2582 {"feature: accept.",
2585 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA98"
2590 "method" : "feature",
2593 "api_version" : %API_VER%,
2594 "feature" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
2599 {"feature: reject.",
2601 {
"feature",
"0",
"reject"},
2604 "method" : "feature",
2607 "api_version" : %API_VER%,
2613 {"feature: too many arguments.",
2615 {
"feature",
"featureNameOrHexIsNotValidated",
"accept",
"anotherArg"},
2618 "method" : "feature",
2621 "error" : "badSyntax",
2623 "error_message" : "Syntax error."
2627 {"feature: neither accept nor reject.",
2631 "featureNameOrHexIsNotValidated",
2636 "method" : "feature",
2639 "error" : "invalidParams",
2641 "error_message" : "Invalid parameters."
2648 {
"fetch_info: minimal.",
2655 "method" : "fetch_info",
2658 "api_version" : %API_VER%,
2662 {"fetch_info: clear.",
2664 {
"fetch_info",
"clear"},
2667 "method" : "fetch_info",
2670 "api_version" : %API_VER%,
2675 {"fetch_info: too many arguments.",
2677 {
"fetch_info",
"clear",
"other"},
2680 "method" : "fetch_info",
2683 "error" : "badSyntax",
2685 "error_message" : "Syntax error."
2689 {"fetch_info: other trailing argument.",
2691 {
"fetch_info",
"too"},
2694 "method" : "fetch_info",
2697 "api_version" : %API_VER%,
2705 {
"gateway_balances: minimal.",
2707 {
"gateway_balances",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2710 "method" : "gateway_balances",
2713 "api_version" : %API_VER%,
2714 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2718 {"gateway_balances: with ledger index.",
2720 {
"gateway_balances",
"890765",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2723 "method" : "gateway_balances",
2726 "api_version" : %API_VER%,
2727 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2728 "ledger_index" : "890765"
2732 {"gateway_balances: with text ledger index.",
2734 {
"gateway_balances",
"current",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2737 "method" : "gateway_balances",
2740 "api_version" : %API_VER%,
2741 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2742 "ledger_index" : "current"
2746 {"gateway_balances: with 64 character ledger hash.",
2748 {
"gateway_balances",
2749 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2750 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2753 "method" : "gateway_balances",
2756 "api_version" : %API_VER%,
2757 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2758 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2762 {"gateway_balances: 1 hotwallet.",
2764 {
"gateway_balances",
2765 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2766 "hotwallet_is_not_validated"},
2769 "method" : "gateway_balances",
2772 "api_version" : %API_VER%,
2773 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2774 "hotwallet" : [ "hotwallet_is_not_validated" ]
2778 {"gateway_balances: 3 hotwallets.",
2782 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2783 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2784 "hotwallet_is_not_validated_1",
2785 "hotwallet_is_not_validated_2",
2786 "hotwallet_is_not_validated_3",
2790 "method" : "gateway_balances",
2793 "api_version" : %API_VER%,
2794 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2796 "hotwallet_is_not_validated_1",
2797 "hotwallet_is_not_validated_2",
2798 "hotwallet_is_not_validated_3"
2800 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2804 {"gateway_balances: too few arguments.",
2811 "method" : "gateway_balances",
2814 "error" : "badSyntax",
2816 "error_message" : "Syntax error."
2820 {"gateway_balances: empty first argument.",
2822 {
"gateway_balances",
""},
2825 "method" : "gateway_balances",
2828 "error" : "invalidParams",
2830 "error_message" : "Invalid first parameter"
2834 {"gateway_balances: with ledger index but no gateway.",
2842 "method" : "gateway_balances",
2845 "error" : "invalidParams",
2847 "error_message" : "Invalid hotwallet"
2851 {"gateway_balances: with text ledger index but no gateway.",
2859 "method" : "gateway_balances",
2862 "error" : "invalidParams",
2864 "error_message" : "Invalid hotwallet"
2868 {"gateway_balances: with 64 character ledger hash but no gateway.",
2872 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2876 "method" : "gateway_balances",
2879 "error" : "invalidParams",
2881 "error_message" : "Invalid hotwallet"
2888 {
"get_counts: minimal.",
2895 "method" : "get_counts",
2898 "api_version" : %API_VER%,
2902 {"get_counts: with maximum count.",
2904 {
"get_counts",
"100"},
2907 "method" : "get_counts",
2910 "api_version" : %API_VER%,
2915 {"get_counts: too many arguments.",
2917 {
"get_counts",
"100",
"whatever"},
2920 "method" : "get_counts",
2923 "error" : "badSyntax",
2925 "error_message" : "Syntax error."
2929 {"get_counts: count too small.",
2937 {"get_counts: count too large.",
2939 {
"get_counts",
"4294967296"},
2950 R
"({"json_argument":true})",
2954 "method" : "command",
2957 "api_version" : %API_VER%,
2958 "json_argument" : true,
2959 "method" : "command"
2963 {"json: null object.",
2972 "method" : "command",
2975 "api_version" : %API_VER%,
2976 "method" : "command"
2980 {"json: too few arguments.",
2982 {
"json",
"command"},
2988 "error" : "badSyntax",
2990 "error_message" : "Syntax error."
2994 {"json: too many arguments.",
2996 {
"json",
"command", R
"({"json_argument":true})", "extra"},
3002 "error" : "badSyntax",
3004 "error_message" : "Syntax error."
3008 {"json: array, not object.",
3013 R
"(["arg1","arg2"])",
3020 "error" : "invalidParams",
3022 "error_message" : "Invalid parameters."
3026 {"json: invalid json (note closing comma).",
3031 R
"({"json_argument":true,})",
3038 "error" : "invalidParams",
3040 "error_message" : "Invalid parameters."
3047 {
"json2: minimal object.",
3051 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3057 "method" : "call_1",
3060 "api_version" : %API_VER%,
3063 "method" : "call_1",
3069 {"json2: object with nested params.",
3075 "ripplerpc" : "2.0",
3077 "method" : "call_1",
3078 "params" : [{"inner_arg" : "yup"}]
3085 "method" : "call_1",
3088 "api_version" : %API_VER%,
3094 "method" : "call_1",
3100 {"json2: minimal array.",
3104 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"}])",
3112 "api_version" : %API_VER%,
3115 "method" : "call_1",
3121 {"json2: array with object with nested params.",
3130 "params" : [{"inner_arg" : "yup"}]}
3139 "api_version" : %API_VER%,
3145 "method" : "call_1",
3150 {"json2: too few arguments.",
3160 "error" : "badSyntax",
3162 "error_message" : "Syntax error."
3166 {"json2: too many arguments.",
3169 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_this"})",
3176 "error" : "badSyntax",
3178 "error_message" : "Syntax error."
3182 {"json2: malformed json (note extra comma).",
3186 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",})",
3195 "error" : "invalidParams",
3197 "error_message" : "Invalid parameters.",
3205 {"json2: omit jsonrpc.",
3209 R
"({"ripplerpc":"2.0","id":"A1","method":"call_1"})",
3217 "error" : "invalidParams",
3219 "error_message" : "Invalid parameters.",
3226 {"json2: wrong jsonrpc version.",
3230 R
"({"jsonrpc":"2.1","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3239 "error" : "invalidParams",
3241 "error_message" : "Invalid parameters.",
3249 {"json2: omit ripplerpc.",
3253 R
"({"jsonrpc":"2.0","id":"A1","method":"call_1"})",
3262 "error" : "invalidParams",
3264 "error_message" : "Invalid parameters.",
3270 {"json2: wrong ripplerpc version.",
3274 R
"({"jsonrpc":"2.0","ripplerpc":"2.00","id":"A1","method":"call_1"})",
3283 "error" : "invalidParams",
3285 "error_message" : "Invalid parameters.",
3288 "ripplerpc" : "2.00"
3291 "ripplerpc" : "2.00"
3297 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","method":"call_1"})",
3305 "error" : "invalidParams",
3307 "error_message" : "Invalid parameters.",
3314 {"json2: omit method.",
3318 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1"})",
3327 "error" : "invalidParams",
3329 "error_message" : "Invalid parameters.",
3337 {"json2: empty outer array.",
3348 "error" : "invalidParams",
3350 "error_message" : "Invalid parameters."
3354 {"json2: empty inner array.",
3358 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",[]}])",
3365 "error" : "invalidParams",
3367 "error_message" : "Invalid parameters."
3371 {"json2: array with non-json2 object.",
3377 "ripplerpc" : "2.0",
3388 "error" : "invalidParams",
3390 "error_message" : "Invalid parameters."
3394 {"json2: non-object or -array inner params member.",
3400 "ripplerpc" : "2.0",
3402 "method" : "call_1",
3413 "error" : "invalidParams",
3415 "error_message" : "Invalid parameters.",
3426 {
"ledger: minimal.",
3431 "method" : "ledger",
3434 "api_version" : %API_VER%,
3438 {"ledger: ledger index.",
3440 {
"ledger",
"4294967295"},
3443 "method" : "ledger",
3446 "api_version" : %API_VER%,
3447 "ledger_index" : 4294967295
3451 {"ledger: text ledger index.",
3453 {
"ledger",
"validated"},
3456 "method" : "ledger",
3459 "api_version" : %API_VER%,
3460 "ledger_index" : "validated"
3464 {"ledger: ledger hash.",
3467 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3470 "method" : "ledger",
3473 "api_version" : %API_VER%,
3474 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3480 {
"ledger",
"current",
"full"},
3483 "method" : "ledger",
3486 "api_version" : %API_VER%,
3488 "ledger_index" : "current"
3494 {
"ledger",
"closed",
"tx"},
3497 "method" : "ledger",
3500 "api_version" : %API_VER%,
3502 "ledger_index" : "closed",
3503 "transactions" : true
3507 {"ledger: too many arguments.",
3509 {
"ledger",
"4294967295",
"spare"},
3512 "method" : "ledger",
3515 "api_version" : %API_VER%,
3516 "ledger_index" : 4294967295
3520 {"ledger: ledger index too small.",
3525 "method" : "ledger",
3528 "api_version" : %API_VER%,
3533 {"ledger: ledger index too big.",
3535 {
"ledger",
"4294967296"},
3538 "method" : "ledger",
3541 "api_version" : %API_VER%,
3546 {"ledger: invalid ledger text.",
3548 {
"ledger",
"latest"},
3551 "method" : "ledger",
3554 "api_version" : %API_VER%,
3559 {"ledger: unsupported final argument.",
3561 {
"ledger",
"current",
"expand"},
3564 "method" : "ledger",
3567 "api_version" : %API_VER%,
3568 "ledger_index" : "current"
3575 {
"ledger_closed: minimal.",
3580 "method" : "ledger_closed",
3583 "api_version" : %API_VER%,
3587 {"ledger_closed: too many arguments.",
3589 {
"ledger_closed",
"today"},
3592 "method" : "ledger_closed",
3595 "error" : "badSyntax",
3597 "error_message" : "Syntax error."
3604 {
"ledger_current: minimal.",
3609 "method" : "ledger_current",
3612 "api_version" : %API_VER%,
3616 {"ledger_current: too many arguments.",
3618 {
"ledger_current",
"today"},
3621 "method" : "ledger_current",
3624 "error" : "badSyntax",
3626 "error_message" : "Syntax error."
3633 {
"ledger_header: ledger index.",
3635 {
"ledger_header",
"4294967295"},
3638 "method" : "ledger_header",
3641 "api_version" : %API_VER%,
3642 "ledger_index" : 4294967295
3646 {"ledger_header: ledger hash.",
3649 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3652 "method" : "ledger_header",
3655 "api_version" : %API_VER%,
3656 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3660 {"ledger_header: too few arguments.",
3667 "method" : "ledger_header",
3670 "error" : "badSyntax",
3672 "error_message" : "Syntax error."
3676 {"ledger_header: too many arguments.",
3678 {
"ledger_header",
"4294967295",
"spare"},
3681 "method" : "ledger_header",
3684 "error" : "badSyntax",
3686 "error_message" : "Syntax error."
3690 {"ledger_header: text ledger index.",
3692 {
"ledger_header",
"current"},
3695 "method" : "ledger_header",
3698 "api_version" : %API_VER%,
3703 {"ledger_header: ledger index too small.",
3705 {
"ledger_header",
"-1"},
3708 "method" : "ledger_header",
3711 "api_version" : %API_VER%,
3716 {"ledger_header: ledger index too big.",
3718 {
"ledger_header",
"4294967296"},
3721 "method" : "ledger_header",
3724 "api_version" : %API_VER%,
3732 {
"ledger_request: ledger index.",
3734 {
"ledger_request",
"4294967295"},
3737 "method" : "ledger_request",
3740 "api_version" : %API_VER%,
3741 "ledger_index" : 4294967295
3745 {"ledger_request: ledger hash.",
3748 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3751 "method" : "ledger_request",
3754 "api_version" : %API_VER%,
3755 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3759 {"ledger_request: too few arguments.",
3766 "method" : "ledger_request",
3769 "error" : "badSyntax",
3771 "error_message" : "Syntax error."
3775 {"ledger_request: too many arguments.",
3777 {
"ledger_request",
"4294967295",
"spare"},
3780 "method" : "ledger_request",
3783 "error" : "badSyntax",
3785 "error_message" : "Syntax error."
3789 {"ledger_request: text ledger index.",
3791 {
"ledger_request",
"current"},
3794 "method" : "ledger_request",
3797 "api_version" : %API_VER%,
3802 {"ledger_request: ledger index too small.",
3804 {
"ledger_request",
"-1"},
3807 "method" : "ledger_request",
3810 "api_version" : %API_VER%,
3815 {"ledger_request: ledger index too big.",
3817 {
"ledger_request",
"4294967296"},
3820 "method" : "ledger_request",
3823 "api_version" : %API_VER%,
3831 {
"log_level: minimal.",
3838 "method" : "log_level",
3841 "api_version" : %API_VER%,
3845 {"log_level: fatal.",
3847 {
"log_level",
"fatal"},
3850 "method" : "log_level",
3853 "api_version" : %API_VER%,
3854 "severity" : "fatal"
3858 {"log_level: error.",
3860 {
"log_level",
"error"},
3863 "method" : "log_level",
3866 "api_version" : %API_VER%,
3867 "severity" : "error"
3871 {"log_level: warn.",
3873 {
"log_level",
"warn"},
3876 "method" : "log_level",
3879 "api_version" : %API_VER%,
3884 {"log_level: debug.",
3886 {
"log_level",
"debug"},
3889 "method" : "log_level",
3892 "api_version" : %API_VER%,
3893 "severity" : "debug"
3897 {"log_level: trace.",
3899 {
"log_level",
"trace"},
3902 "method" : "log_level",
3905 "api_version" : %API_VER%,
3906 "severity" : "trace"
3910 {"log_level: base partition.",
3912 {
"log_level",
"base",
"trace"},
3915 "method" : "log_level",
3918 "api_version" : %API_VER%,
3919 "partition" : "base",
3920 "severity" : "trace"
3924 {"log_level: partiton_name.",
3926 {
"log_level",
"partition_name",
"fatal"},
3929 "method" : "log_level",
3932 "api_version" : %API_VER%,
3933 "partition" : "partition_name",
3934 "severity" : "fatal"
3938 {"log_level: too many arguments.",
3940 {
"log_level",
"partition_name",
"fatal",
"extra"},
3943 "method" : "log_level",
3946 "error" : "badSyntax",
3948 "error_message" : "Syntax error."
3952 {"log_level: invalid severity.",
3954 {
"log_level",
"err"},
3957 "method" : "log_level",
3960 "api_version" : %API_VER%,
3965 {"log_level: swap partition name and severity.",
3974 "method" : "log_level",
3977 "api_version" : %API_VER%,
3978 "partition" : "fatal",
3979 "severity" : "partition_name"
3986 {
"logrotate: minimal.",
3993 "method" : "logrotate",
3996 "api_version" : %API_VER%,
4000 {"logrotate: too many arguments.",
4002 {
"logrotate",
"extra"},
4005 "method" : "logrotate",
4008 "error" : "badSyntax",
4010 "error_message" : "Syntax error."
4017 {
"owner_info: minimal.",
4019 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
4022 "method" : "owner_info",
4025 "api_version" : %API_VER%,
4026 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
4030 {"owner_info: with numeric ledger index.",
4032 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
4035 "method" : "owner_info",
4038 "api_version" : %API_VER%,
4039 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4040 "ledger_index" : 987654321
4044 {"owner_info: with text ledger index.",
4046 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4049 "method" : "owner_info",
4052 "api_version" : %API_VER%,
4053 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4054 "ledger_index" : "validated"
4058 {"owner_info: with ledger hash.",
4061 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4062 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
4065 "method" : "owner_info",
4068 "api_version" : %API_VER%,
4069 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4070 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
4074 {"owner_info: with ledger index.",
4076 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4079 "method" : "owner_info",
4082 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4083 "api_version" : %API_VER%,
4084 "ledger_index" : "validated"
4088 {"owner_info: too few arguments.",
4095 "method" : "owner_info",
4098 "error" : "badSyntax",
4100 "error_message" : "Syntax error."
4104 {"owner_info: too many arguments.",
4108 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4115 "method" : "owner_info",
4118 "error" : "badSyntax",
4120 "error_message" : "Syntax error."
4125 "owner_info: invalid accountID.",
4133 "method" : "owner_info",
4136 "error" : "actMalformed",
4138 "error_message" : "Account malformed."
4146 "owner_info: invalid ledger selection.",
4148 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4151 "method" : "owner_info",
4154 "api_version" : %API_VER%,
4155 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4164 "owner_info: invalid ledger selection.",
4166 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4169 "method" : "owner_info",
4172 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4173 "api_version" : %API_VER%,
4192 "api_version" : %API_VER%,
4196 {"peers: too many arguments.",
4204 "error" : "badSyntax",
4206 "error_message" : "Syntax error."
4213 {
"peer_reservations_add: minimal.",
4215 {
"peer_reservations_add",
"public_key_string"},
4218 "method" : "peer_reservations_add",
4221 "api_version" : %API_VER%,
4222 "public_key" : "public_key_string"
4226 {"peer_reservations_add: with description.",
4228 {
"peer_reservations_add",
"public_key_string",
"public_key_description"},
4231 "method" : "peer_reservations_add",
4234 "api_version" : %API_VER%,
4235 "description" : "public_key_description",
4236 "public_key" : "public_key_string"
4240 {"peer_reservations_add: too few arguments.",
4242 {
"peer_reservations_add"},
4245 "method" : "peer_reservations_add",
4248 "error" : "badSyntax",
4250 "error_message" : "Syntax error."
4254 {"peer_reservations_add: too many arguments.",
4256 {
"peer_reservations_add",
4257 "public_key_string",
4258 "public_key_description",
4262 "method" : "peer_reservations_add",
4265 "error" : "badSyntax",
4267 "error_message" : "Syntax error."
4274 {
"peer_reservations_del: minimal.",
4276 {
"peer_reservations_del",
"public_key_string"},
4279 "method" : "peer_reservations_del",
4282 "api_version" : %API_VER%,
4283 "public_key" : "public_key_string"
4287 {"peer_reservations_del: too few arguments.",
4289 {
"peer_reservations_del"},
4292 "method" : "peer_reservations_del",
4295 "error" : "badSyntax",
4297 "error_message" : "Syntax error."
4301 {"peer_reservations_del: too many arguments.",
4303 {
"peer_reservations_del",
4304 "public_key_string",
4305 "public_key_description",
4309 "method" : "peer_reservations_del",
4312 "error" : "badSyntax",
4314 "error_message" : "Syntax error."
4331 "api_version" : %API_VER%,
4335 {"ping: too many arguments.",
4343 "error" : "badSyntax",
4345 "error_message" : "Syntax error."
4362 "api_version" : %API_VER%,
4367 "print: extra argument.",
4375 "api_version" : %API_VER%,
4376 "params" : [ "extra" ]
4380 {"print: too many arguments.",
4382 {
"print",
"extra1",
"extra2"},
4388 "error" : "badSyntax",
4390 "error_message" : "Syntax error."
4397 {
"random: minimal.",
4404 "method" : "random",
4407 "api_version" : %API_VER%,
4411 {"random: too many arguments.",
4413 {
"random",
"extra"},
4416 "method" : "random",
4419 "error" : "badSyntax",
4421 "error_message" : "Syntax error."
4428 {
"ripple_path_find: minimal.",
4432 R
"({"json_argument":true})",
4436 "method" : "ripple_path_find",
4439 "api_version" : %API_VER%,
4440 "json_argument" : true
4444 {"ripple_path_find: ledger index.",
4446 {
"ripple_path_find", R
"({"json_argument":true})", "4294967295"},
4449 "method" : "ripple_path_find",
4452 "api_version" : %API_VER%,
4453 "json_argument" : true,
4454 "ledger_index" : 4294967295
4458 {"ripple_path_find: text ledger index.",
4460 {
"ripple_path_find", R
"({"json_argument":true})", "closed"},
4463 "method" : "ripple_path_find",
4466 "api_version" : %API_VER%,
4467 "json_argument" : true,
4468 "ledger_index" : "closed"
4472 {"ripple_path_find: ledger hash.",
4474 {
"ripple_path_find",
4475 R
"({"json_argument":true})",
4476 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"},
4479 "method" : "ripple_path_find",
4482 "api_version" : %API_VER%,
4483 "json_argument" : true,
4484 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
4489 {"ripple_path_find: too few arguments.",
4496 "method" : "ripple_path_find",
4499 "error" : "badSyntax",
4501 "error_message" : "Syntax error."
4505 {"ripple_path_find: too many arguments.",
4507 {
"ripple_path_find", R
"({"json_argument":true})", "current",
"extra"},
4510 "method" : "ripple_path_find",
4513 "error" : "badSyntax",
4515 "error_message" : "Syntax error."
4519 {"ripple_path_find: invalid json (note extra comma).",
4523 R
"({"json_argument":true,})",
4527 "method" : "ripple_path_find",
4530 "error" : "invalidParams",
4532 "error_message" : "Invalid parameters."
4536 {"ripple_path_find: ledger index too small.",
4538 {
"ripple_path_find", R
"({"json_argument":true})", "-1"},
4541 "method" : "ripple_path_find",
4544 "api_version" : %API_VER%,
4545 "json_argument" : true,
4550 {"ripple_path_find: ledger index too big.",
4552 {
"ripple_path_find", R
"({"json_argument":true})", "4294967296"},
4555 "method" : "ripple_path_find",
4558 "api_version" : %API_VER%,
4559 "json_argument" : true,
4564 {"ripple_path_find: invalid text ledger index.",
4566 {
"ripple_path_find", R
"({"json_argument":true})", "cur"},
4569 "method" : "ripple_path_find",
4572 "api_version" : %API_VER%,
4573 "json_argument" : true,
4586 R
"({"json_argument":true})",
4593 "api_version" : %API_VER%,
4594 "secret" : "my_secret",
4596 "json_argument" : true
4603 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline"},
4609 "api_version" : %API_VER%,
4611 "secret" : "my_secret",
4613 "json_argument" : true
4618 {"sign: too few arguments.",
4620 {
"sign",
"contents_of_blob"},
4626 "error" : "badSyntax",
4628 "error_message" : "Syntax error."
4632 {"sign: offline flag with signature_target.",
4634 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4640 "api_version" : %API_VER%,
4642 "secret" : "my_secret",
4643 "signature_target" : "extra",
4646 "json_argument" : true
4651 {"sign: too many arguments.",
4655 R
"({"json_argument":true})",
4657 "CounterpartySignature",
4664 "error" : "badSyntax",
4666 "error_message" : "Syntax error."
4670 {"sign: invalid JSON (note extra comma).",
4675 R
"({"json_argument":true,})",
4682 "error" : "invalidParams",
4684 "error_message" : "Invalid parameters."
4688 {"sign: misspelled offline flag interpreted as signature_target.",
4690 {
"sign",
"my_secret", R
"({"json_argument":true})", "offlin"},
4696 "api_version" : %API_VER%,
4697 "secret" : "my_secret",
4698 "signature_target" : "offlin",
4701 "json_argument" : true
4709 {
"sign_for: minimal.",
4713 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4715 R
"({"json_argument":true})",
4719 "method" : "sign_for",
4722 "api_version" : %API_VER%,
4723 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4724 "secret" : "my_secret",
4726 "json_argument" : true
4731 {"sign_for: offline.",
4734 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4736 R
"({"json_argument":true})",
4740 "method" : "sign_for",
4743 "api_version" : %API_VER%,
4744 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4746 "secret" : "my_secret",
4748 "json_argument" : true
4753 {"sign_for: too few arguments.",
4757 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4762 "method" : "sign_for",
4765 "error" : "badSyntax",
4767 "error_message" : "Syntax error."
4771 {"sign_for: too many arguments.",
4774 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4776 R
"({"json_argument":true})",
4781 "method" : "sign_for",
4784 "error" : "badSyntax",
4786 "error_message" : "Syntax error."
4790 {"sign_for: invalid json (note extra comma).",
4794 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4796 R
"({"json_argument":true,})",
4800 "method" : "sign_for",
4803 "error" : "invalidParams",
4805 "error_message" : "Invalid parameters."
4809 {"sign_for: invalid final argument.",
4812 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4814 R
"({"json_argument":true})",
4818 "method" : "sign_for",
4821 "error" : "invalidParams",
4823 "error_message" : "Invalid parameters."
4832 {
"submit",
"the blob is unvalidated and may be any length..."},
4835 "method" : "submit",
4838 "api_version" : %API_VER%,
4839 "tx_blob" : "the blob is unvalidated and may be any length..."
4848 R
"({"json_argument":true})",
4852 "method" : "submit",
4855 "api_version" : %API_VER%,
4856 "secret" : "my_secret",
4858 "json_argument" : true
4863 {"submit: too few arguments.",
4870 "method" : "submit",
4873 "error" : "badSyntax",
4875 "error_message" : "Syntax error."
4880 "submit: four arguments.",
4882 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline"},
4885 "method" : "submit",
4888 "api_version" : %API_VER%,
4890 "secret" : "my_secret",
4892 "json_argument" : true
4897 {"submit: offline flag with signature_target.",
4899 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4902 "method" : "submit",
4905 "api_version" : %API_VER%,
4907 "secret" : "my_secret",
4908 "signature_target" : "extra",
4911 "json_argument" : true
4916 {"submit: too many arguments.",
4920 R
"({"json_argument":true})",
4922 "CounterpartySignature",
4926 "method" : "submit",
4929 "error" : "badSyntax",
4931 "error_message" : "Syntax error."
4935 {"submit: invalid json (note extra comma).",
4940 R
"({"json_argument":true,})",
4944 "method" : "submit",
4947 "error" : "invalidParams",
4949 "error_message" : "Invalid parameters."
4953 {"submit: misspelled offline flag interpreted as signature_target.",
4955 {
"submit",
"my_secret", R
"({"json_argument":true})", "offlne"},
4958 "method" : "submit",
4961 "api_version" : %API_VER%,
4962 "secret" : "my_secret",
4963 "signature_target" : "offlne",
4966 "json_argument" : true
4974 {
"submit_multisigned: json.",
4977 "submit_multisigned",
4978 R
"({"json_argument":true})",
4982 "method" : "submit_multisigned",
4985 "api_version" : %API_VER%,
4987 "json_argument" : true
4992 {"submit_multisigned: too few arguments.",
4995 "submit_multisigned",
4999 "method" : "submit_multisigned",
5002 "error" : "badSyntax",
5004 "error_message" : "Syntax error."
5008 {"submit_multisigned: too many arguments.",
5010 {
"submit_multisigned", R
"({"json_argument":true})", "extra"},
5013 "method" : "submit_multisigned",
5016 "error" : "badSyntax",
5018 "error_message" : "Syntax error."
5022 {"submit_multisigned: invalid json (note extra comma).",
5025 "submit_multisigned",
5026 R
"({"json_argument":true,})",
5030 "method" : "submit_multisigned",
5033 "error" : "invalidParams",
5035 "error_message" : "Invalid parameters."
5043 {
"server_info: minimal.",
5050 "method" : "server_info",
5053 "api_version" : %API_VER%,
5057 {"server_info: counters.",
5059 {
"server_info",
"counters"},
5062 "method" : "server_info",
5065 "api_version" : %API_VER%,
5070 {"server_info: too many arguments.",
5072 {
"server_info",
"counters",
"extra"},
5075 "method" : "server_info",
5078 "error" : "badSyntax",
5080 "error_message" : "Syntax error."
5084 {"server_info: non-counters argument.",
5086 {
"server_info",
"counter"},
5089 "method" : "server_info",
5092 "api_version" : %API_VER%,
5099 {
"server_state: minimal.",
5106 "method" : "server_state",
5109 "api_version" : %API_VER%,
5113 {"server_state: counters.",
5115 {
"server_state",
"counters"},
5118 "method" : "server_state",
5121 "api_version" : %API_VER%,
5126 {"server_state: too many arguments.",
5128 {
"server_state",
"counters",
"extra"},
5131 "method" : "server_state",
5134 "error" : "badSyntax",
5136 "error_message" : "Syntax error."
5140 {"server_state: non-counters argument.",
5142 {
"server_state",
"counter"},
5145 "method" : "server_state",
5148 "api_version" : %API_VER%,
5165 "api_version" : %API_VER%,
5169 {"stop: too many arguments.",
5177 "error" : "badSyntax",
5179 "error_message" : "Syntax error."
5186 {
"transaction_entry: ledger index.",
5188 {
"transaction_entry",
5189 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5193 "method" : "transaction_entry",
5196 "api_version" : %API_VER%,
5197 "ledger_index" : 4294967295,
5198 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5202 {"transaction_entry: text ledger index.",
5204 {
"transaction_entry",
5205 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5209 "method" : "transaction_entry",
5212 "api_version" : %API_VER%,
5213 "ledger_index" : "current",
5214 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5218 {"transaction_entry: ledger hash.",
5220 {
"transaction_entry",
5221 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5222 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210"},
5225 "method" : "transaction_entry",
5228 "api_version" : %API_VER%,
5229 "ledger_hash" : "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210",
5230 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5234 {"transaction_entry: too few arguments.",
5237 "transaction_entry",
5238 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5242 "method" : "transaction_entry",
5245 "error" : "badSyntax",
5247 "error_message" : "Syntax error."
5251 {"transaction_entry: too many arguments.",
5253 {
"transaction_entry",
5254 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5259 "method" : "transaction_entry",
5262 "error" : "badSyntax",
5264 "error_message" : "Syntax error."
5268 {"transaction_entry: short tx_hash.",
5271 "transaction_entry",
5272 "123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5277 "method" : "transaction_entry",
5280 "error" : "invalidParams",
5282 "error_message" : "Invalid parameters."
5286 {"transaction_entry: long tx_hash.",
5289 "transaction_entry",
5290 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUVW",
5295 "method" : "transaction_entry",
5298 "error" : "invalidParams",
5300 "error_message" : "Invalid parameters."
5304 {"transaction_entry: small ledger index.",
5307 "transaction_entry",
5308 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5313 "method" : "transaction_entry",
5316 "error" : "invalidParams",
5318 "error_message" : "Invalid parameters."
5322 {"transaction_entry: large ledger index.",
5325 "transaction_entry",
5326 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5331 "method" : "transaction_entry",
5334 "error" : "invalidParams",
5336 "error_message" : "Invalid parameters."
5340 {"transaction_entry: short ledger hash.",
5343 "transaction_entry",
5344 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5345 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA987654321",
5349 "method" : "transaction_entry",
5352 "error" : "invalidParams",
5354 "error_message" : "Invalid parameters."
5358 {"transaction_entry: long ledger hash.",
5361 "transaction_entry",
5362 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5363 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210Z",
5367 "method" : "transaction_entry",
5370 "error" : "invalidParams",
5372 "error_message" : "Invalid parameters."
5379 {
"tx: ctid. minimal",
5381 {
"tx",
"FFFFFFFFFFFFFFFF",
"1",
"2"},
5387 "api_version" : %API_VER%,
5388 "ctid" : "FFFFFFFFFFFFFFFF",
5394 {"tx: ctid. binary",
5396 {
"tx",
"FFFFFFFFFFFFFFFF",
"binary",
"1",
"2"},
5402 "api_version" : %API_VER%,
5404 "ctid" : "FFFFFFFFFFFFFFFF",
5412 {
"tx",
"transaction_hash_is_not_validated"},
5418 "api_version" : %API_VER%,
5419 "transaction" : "transaction_hash_is_not_validated"
5425 {
"tx",
"transaction_hash_is_not_validated",
"binary"},
5431 "api_version" : %API_VER%,
5433 "transaction" : "transaction_hash_is_not_validated"
5437 {"tx: too few arguments.",
5447 "error" : "badSyntax",
5449 "error_message" : "Syntax error."
5453 {"tx: too many arguments.",
5455 {
"tx",
"transaction_hash_is_not_validated",
"binary",
"1",
"2",
"extra"},
5461 "error" : "badSyntax",
5463 "error_message" : "Syntax error."
5467 {"tx: invalid final argument is apparently ignored.",
5469 {
"tx",
"transaction_hash_is_not_validated",
"bin"},
5475 "api_version" : %API_VER%,
5476 "transaction" : "transaction_hash_is_not_validated"
5483 {
"tx_history: minimal.",
5485 {
"tx_history",
"0"},
5488 "method" : "tx_history",
5491 "api_version" : %API_VER%,
5496 {"tx_history: too few arguments.",
5503 "method" : "tx_history",
5506 "error" : "badSyntax",
5508 "error_message" : "Syntax error."
5512 {"tx_history: too many arguments.",
5514 {
"tx_history",
"0",
"1"},
5517 "method" : "tx_history",
5520 "error" : "badSyntax",
5522 "error_message" : "Syntax error."
5528 "tx_history: start too small.",
5530 {
"tx_history",
"-1"},
5536 "tx_history: start too big.",
5538 {
"tx_history",
"4294967296"},
5544 "tx_history: start not integer.",
5546 {
"tx_history",
"beginning"},
5553 {
"unl_list: minimal.",
5560 "method" : "unl_list",
5563 "api_version" : %API_VER%,
5567 {"unl_list: too many arguments.",
5569 {
"unl_list",
"extra"},
5572 "method" : "unl_list",
5575 "error" : "badSyntax",
5577 "error_message" : "Syntax error."
5584 {
"validation_create: minimal.",
5587 "validation_create",
5591 "method" : "validation_create",
5594 "api_version" : %API_VER%,
5598 {"validation_create: with secret.",
5600 {
"validation_create",
"the form of the secret is not validated"},
5603 "method" : "validation_create",
5606 "api_version" : %API_VER%,
5607 "secret" : "the form of the secret is not validated"
5611 {"validation_create: too many arguments.",
5613 {
"validation_create",
"the form of the secret is not validated",
"extra"},
5616 "method" : "validation_create",
5619 "error" : "badSyntax",
5621 "error_message" : "Syntax error."
5628 {
"version: minimal.",
5635 "method" : "version",
5638 "api_version" : %API_VER%,
5642 {"version: too many arguments.",
5644 {
"version",
"extra"},
5647 "method" : "version",
5650 "error" : "badSyntax",
5652 "error_message" : "Syntax error."
5659 {
"wallet_propose: minimal.",
5666 "method" : "wallet_propose",
5669 "api_version" : %API_VER%,
5673 {"wallet_propose: with passphrase.",
5675 {
"wallet_propose",
"the form of the passphrase is not validated"},
5678 "method" : "wallet_propose",
5681 "api_version" : %API_VER%,
5682 "passphrase" : "the form of the passphrase is not validated"
5686 {"wallet_propose: too many arguments.",
5688 {
"wallet_propose",
"the form of the passphrase is not validated",
"extra"},
5691 "method" : "wallet_propose",
5694 "error" : "badSyntax",
5696 "error_message" : "Syntax error."
5703 {
"internal: minimal.",
5705 {
"internal",
"command_name"},
5708 "method" : "internal",
5711 "api_version" : %API_VER%,
5712 "internal_command" : "command_name",
5717 {"internal: with parameters.",
5728 "method" : "internal",
5731 "api_version" : %API_VER%,
5732 "internal_command" : "command_name",
5733 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5737 {"internal: too few arguments.",
5744 "method" : "internal",
5747 "error" : "badSyntax",
5749 "error_message" : "Syntax error."
5756 {
"path_find: minimal.",
5763 "method" : "path_find",
5766 "error" : "noEvents",
5768 "error_message" : "Current transport does not support events."
5772 {"path_find: with arguments.",
5774 {
"path_find",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5777 "method" : "path_find",
5780 "error" : "noEvents",
5782 "error_message" : "Current transport does not support events."
5789 {
"subscribe: minimal.",
5796 "method" : "subscribe",
5799 "error" : "noEvents",
5801 "error_message" : "Current transport does not support events."
5805 {"subscribe: with arguments.",
5807 {
"subscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5810 "method" : "subscribe",
5813 "error" : "noEvents",
5815 "error_message" : "Current transport does not support events."
5822 {
"unsubscribe: minimal.",
5829 "method" : "unsubscribe",
5832 "error" : "noEvents",
5834 "error_message" : "Current transport does not support events."
5838 {"unsubscribe: with arguments.",
5840 {
"unsubscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5843 "method" : "unsubscribe",
5846 "error" : "noEvents",
5848 "error_message" : "Current transport does not support events."
5855 {
"unknown_command: minimal.",
5862 "method" : "unknown_command",
5865 "api_version" : %API_VER%,
5869 {"unknown_command: with arguments.",
5871 {
"unknown_command",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5874 "method" : "unknown_command",
5877 "api_version" : %API_VER%,
5878 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5888 static auto const place_holder =
"%API_VER%";
5890 boost::replace_all(jr, place_holder, version_str);
5897 using namespace test::jtx;
5899 cfg->NETWORK_ID = networkID;
5910 testcase <<
"RPCCall API version " << apiVersion;
5922 if (!BEAST_EXPECT(!rpcCallTest.exp.empty()))
5926 rpcCallTest.args.
begin(), rpcCallTest.args.end()};
5928 char const*
const expVersioned =
5930 rpcCallTest.exp.size()
5932 : rpcCallTest.exp.back();
5950 fail(rpcCallTest.description, __FILE__, rpcCallTest.line);
5963 if (
json.isMember(jss::params) &&
json[jss::params].isArray() &&
5964 json[jss::params].size() > 0 &&
5965 json[jss::params][0u].isObject())
5967 json[jss::params][0u].removeMember(jss::error_code);
5981 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