1#include <test/jtx/Env.h>
2#include <test/jtx/envconfig.h>
3#include <test/jtx/utility.h>
5#include <xrpld/core/Config.h>
7#include <xrpl/beast/unit_test/suite.h>
8#include <xrpl/json/json_reader.h>
9#include <xrpl/json/json_value.h>
10#include <xrpl/protocol/ApiVersion.h>
11#include <xrpl/protocol/jss.h>
13#include <boost/algorithm/string/replace.hpp>
72 {
"account_channels: minimal.",
74 {
"account_channels",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
77 "method" : "account_channels",
80 "api_version" : %API_VER%,
81 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
85 {"account_channels: account and ledger hash.",
88 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
89 "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"},
92 "method" : "account_channels",
95 "api_version" : %API_VER%,
96 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
97 "destination_account" : "rD5MbavGfiSC5m7mkxy1FANuT7s3HxqpoF"
101 {"account_channels: account and ledger index.",
104 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
105 "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"},
108 "method" : "account_channels",
111 "api_version" : %API_VER%,
112 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
113 "destination_account" : "r9emE59aTWb85t64dAebKrxYMBTpzK5yR7"
117 {"account_channels: two accounts.",
120 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
121 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
124 "method" : "account_channels",
127 "api_version" : %API_VER%,
128 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
129 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
133 {"account_channels: two accounts and ledger hash.",
136 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
137 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
138 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
141 "method" : "account_channels",
144 "api_version" : %API_VER%,
145 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
146 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
147 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
151 {"account_channels: two accounts and ledger index.",
154 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
155 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
159 "method" : "account_channels",
162 "api_version" : %API_VER%,
163 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
164 "destination_account" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
165 "ledger_index" : 90210
169 {"account_channels: too few arguments.",
176 "method" : "account_channels",
179 "error" : "badSyntax",
181 "error_message" : "Syntax error."
185 {"account_channels: too many arguments.",
188 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
189 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
194 "method" : "account_channels",
197 "error" : "badSyntax",
199 "error_message" : "Syntax error."
203 {"account_channels: invalid accountID.",
211 "method" : "account_channels",
214 "error" : "actMalformed",
216 "error_message" : "Account malformed."
223 {
"account_currencies: minimal 1.",
225 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
228 "method" : "account_currencies",
231 "api_version" : %API_VER%,
232 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
236 {"account_currencies: minimal 2.",
238 {
"account_currencies",
"racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"},
241 "method" : "account_currencies",
244 "api_version" : %API_VER%,
245 "account" : "racb4o3DrdYxuCfyVa6vsLb7vgju9RFbBr"
249 {"account_currencies: ledger index.",
251 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"42"},
254 "method" : "account_currencies",
257 "api_version" : %API_VER%,
258 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
263 {"account_currencies: validated ledger.",
265 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
268 "method" : "account_currencies",
271 "api_version" : %API_VER%,
272 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
273 "ledger_index" : "validated"
277 {"account_currencies: current ledger.",
279 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"current"},
282 "method" : "account_currencies",
285 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
286 "api_version" : %API_VER%,
287 "ledger_index" : "current"
291 {"account_currencies: too few arguments.",
294 "account_currencies",
298 "method" : "account_currencies",
301 "error" : "badSyntax",
303 "error_message" : "Syntax error."
307 {"account_currencies: too many arguments.",
309 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"current",
"spare1",
"spare2"},
312 "method" : "account_currencies",
315 "error" : "badSyntax",
317 "error_message" : "Syntax error."
321 {"account_currencies: invalid second argument.",
323 {
"account_currencies",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"yup"},
326 "method" : "account_currencies",
329 "api_version" : %API_VER%,
330 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
336 "account_currencies: invalid accountID.",
339 "account_currencies",
344 "method" : "account_currencies",
347 "error" : "actMalformed",
349 "error_message" : "Account malformed."
357 {
"account_info: minimal.",
359 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
362 "method" : "account_info",
365 "api_version" : %API_VER%,
366 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
370 {"account_info: with numeric ledger index.",
372 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
375 "method" : "account_info",
378 "api_version" : %API_VER%,
379 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
380 "ledger_index" : 77777
384 {"account_info: with text ledger index.",
386 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
389 "method" : "account_info",
392 "api_version" : %API_VER%,
393 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
394 "ledger_index" : "closed"
398 {"account_info: with ledger hash.",
401 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
402 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
405 "method" : "account_info",
408 "api_version" : %API_VER%,
409 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
410 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
414 {"account_info: with ledger index.",
416 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
419 "method" : "account_info",
422 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
423 "api_version" : %API_VER%,
424 "ledger_index" : "validated"
428 {"account_info: too few arguments.",
435 "method" : "account_info",
438 "error" : "badSyntax",
440 "error_message" : "Syntax error."
444 {"account_info: too many arguments.",
446 {
"account_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"current",
"extra1",
"extra2"},
449 "method" : "account_info",
452 "error" : "badSyntax",
454 "error_message" : "Syntax error."
459 "account_info: invalid accountID.",
467 "method" : "account_info",
470 "error" : "actMalformed",
472 "error_message" : "Account malformed."
480 {
"account_lines: minimal.",
482 {
"account_lines",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
485 "method" : "account_lines",
488 "api_version" : %API_VER%,
489 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
493 {"account_lines: peer.",
495 {
"account_lines",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
498 "method" : "account_lines",
501 "api_version" : %API_VER%,
502 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
503 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
507 {"account_lines: peer and numeric ledger index.",
510 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
511 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
515 "method" : "account_lines",
518 "api_version" : %API_VER%,
519 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
520 "ledger_index" : 888888888,
521 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
525 {"account_lines: peer and text ledger index.",
528 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
529 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
533 "method" : "account_lines",
536 "api_version" : %API_VER%,
537 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
538 "ledger_index" : "closed",
539 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
543 {"account_lines: peer and ledger hash.",
546 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
547 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
548 "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000"},
551 "method" : "account_lines",
554 "api_version" : %API_VER%,
555 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
556 "ledger_hash" : "FFFFEEEEDDDDCCCCBBBBAAAA9999888877776666555544443333222211110000",
557 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
561 {"account_lines: too few arguments.",
568 "method" : "account_lines",
571 "error" : "badSyntax",
573 "error_message" : "Syntax error."
578 "account_lines: four arguments.",
581 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
582 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
587 "method" : "account_lines",
590 "api_version" : %API_VER%,
591 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
592 "ledger_index" : 12345678,
593 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
598 "account_lines: five arguments.",
601 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
602 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
605 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
608 "method" : "account_lines",
611 "api_version" : %API_VER%,
612 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
613 "ledger_index" : 12345678,
614 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
618 {"account_lines: too many arguments.",
621 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
622 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
625 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
629 "method" : "account_lines",
632 "error" : "badSyntax",
634 "error_message" : "Syntax error."
639 "account_lines: first invalid accountID.",
647 "method" : "account_lines",
650 "error" : "actMalformed",
652 "error_message" : "Account malformed."
658 "account_lines: second invalid accountID.",
662 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
667 "method" : "account_lines",
670 "api_version" : %API_VER%,
671 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
677 "account_lines: invalid ledger selector.",
680 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
681 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
685 "method" : "account_lines",
688 "api_version" : %API_VER%,
689 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
691 "peer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
699 {
"account_objects: minimal.",
701 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
704 "method" : "account_objects",
707 "api_version" : %API_VER%,
708 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
712 {"account_objects: with numeric ledger index.",
714 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"77777"},
717 "method" : "account_objects",
720 "api_version" : %API_VER%,
721 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
722 "ledger_index" : 77777
726 {"account_objects: with text ledger index.",
728 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"closed"},
731 "method" : "account_objects",
734 "api_version" : %API_VER%,
735 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
736 "ledger_index" : "closed"
740 {"account_objects: with ledger hash.",
743 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
744 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
747 "method" : "account_objects",
750 "api_version" : %API_VER%,
751 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
752 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
756 {"account_objects: with ledger index.",
758 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
761 "method" : "account_objects",
764 "api_version" : %API_VER%,
765 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
766 "ledger_index" : "validated"
770 {"account_objects: too few arguments.",
777 "method" : "account_objects",
780 "error" : "badSyntax",
782 "error_message" : "Syntax error."
787 "account_objects: four arguments.",
791 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
798 "method" : "account_objects",
801 "api_version" : %API_VER%,
802 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
807 "account_objects: five arguments.",
811 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
819 "method" : "account_objects",
822 "api_version" : %API_VER%,
823 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
827 {"account_objects: too many arguments.",
831 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
840 "method" : "account_objects",
843 "error" : "badSyntax",
845 "error_message" : "Syntax error."
850 "account_objects: invalid accountID.",
858 "method" : "account_objects",
861 "error" : "actMalformed",
863 "error_message" : "Account malformed."
871 "account_objects: invalid ledger selection 1.",
873 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
876 "method" : "account_objects",
879 "api_version" : %API_VER%,
880 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
889 "account_objects: invalid ledger selection 2.",
891 {
"account_objects",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
894 "method" : "account_objects",
897 "api_version" : %API_VER%,
898 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
907 {
"account_offers: minimal.",
909 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
912 "method" : "account_offers",
915 "api_version" : %API_VER%,
916 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
920 {"account_offers: with numeric ledger index.",
922 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
925 "method" : "account_offers",
928 "api_version" : %API_VER%,
929 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
930 "ledger_index" : 987654321
934 {"account_offers: with text ledger index.",
936 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
939 "method" : "account_offers",
942 "api_version" : %API_VER%,
943 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
944 "ledger_index" : "validated"
948 {"account_offers: with ledger hash.",
951 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
952 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
955 "method" : "account_offers",
958 "api_version" : %API_VER%,
959 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
960 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
964 {"account_offers: with ledger index.",
966 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
969 "method" : "account_offers",
972 "api_version" : %API_VER%,
973 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
974 "ledger_index" : "validated"
978 {"account_offers: too few arguments.",
985 "method" : "account_offers",
988 "error" : "badSyntax",
990 "error_message" : "Syntax error."
995 "account_offers: four arguments.",
997 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"current",
"extra"},
1000 "method" : "account_offers",
1003 "api_version" : %API_VER%,
1004 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1008 {"account_offers: too many arguments.",
1012 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1020 "method" : "account_offers",
1023 "error" : "badSyntax",
1025 "error_message" : "Syntax error."
1030 "account_offers: invalid accountID.",
1038 "method" : "account_offers",
1041 "error" : "actMalformed",
1043 "error_message" : "Account malformed."
1051 "account_offers: invalid ledger selection 1.",
1053 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1056 "method" : "account_offers",
1059 "api_version" : %API_VER%,
1060 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1069 "account_offers: invalid ledger selection 2.",
1071 {
"account_offers",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
1074 "method" : "account_offers",
1077 "api_version" : %API_VER%,
1078 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1087 {
"account_tx: minimal.",
1089 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
1092 "method" : "account_tx",
1095 "api_version" : %API_VER%,
1096 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1100 {"account_tx: ledger_index .",
1102 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"444"},
1105 "method" : "account_tx",
1108 "api_version" : %API_VER%,
1109 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1110 "ledger_index" : 444
1114 {"account_tx: ledger_index plus trailing params.",
1116 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"707",
"descending",
"binary",
"count"},
1119 "method" : "account_tx",
1122 "api_version" : %API_VER%,
1123 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1126 "descending" : true,
1127 "ledger_index" : 707
1131 {"account_tx: ledger_index_min and _max.",
1133 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"-1"},
1136 "method" : "account_tx",
1139 "api_version" : %API_VER%,
1140 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1141 "ledger_index_max" : -1,
1142 "ledger_index_min" : -1
1146 {"account_tx: ledger_index_min and _max plus trailing params.",
1149 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1157 "method" : "account_tx",
1160 "api_version" : %API_VER%,
1161 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1164 "descending" : true,
1165 "ledger_index_max" : 413,
1166 "ledger_index_min" : -1
1170 {"account_tx: ledger_index_min and _max plus limit.",
1172 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"247",
"-1",
"300"},
1175 "method" : "account_tx",
1178 "api_version" : %API_VER%,
1179 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1180 "ledger_index_max" : -1,
1181 "ledger_index_min" : 247,
1186 {"account_tx: ledger_index_min and _max, limit, trailing args.",
1189 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1198 "method" : "account_tx",
1201 "api_version" : %API_VER%,
1202 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1205 "descending" : true,
1206 "ledger_index_max" : -1,
1207 "ledger_index_min" : 247,
1212 {"account_tx: ledger_index_min and _max plus limit and offset.",
1214 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"589",
"590",
"67",
"45"},
1217 "method" : "account_tx",
1220 "api_version" : %API_VER%,
1221 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1222 "ledger_index_max" : 590,
1223 "ledger_index_min" : 589,
1229 {"account_tx: ledger_index_min and _max, limit, offset, trailing.",
1232 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1241 "method" : "account_tx",
1244 "api_version" : %API_VER%,
1245 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1247 "descending" : true,
1248 "ledger_index_max" : 590,
1249 "ledger_index_min" : 589,
1255 {"account_tx: too few arguments.",
1262 "method" : "account_tx",
1265 "error" : "badSyntax",
1267 "error_message" : "Syntax error."
1271 {"account_tx: too many arguments.",
1274 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1285 "method" : "account_tx",
1288 "error" : "badSyntax",
1290 "error_message" : "Syntax error."
1295 "account_tx: invalid accountID.",
1297 {
"account_tx",
"rHb9CJAWyB4rj9!VRWn96DkukG4bwdtyTh"},
1300 "method" : "account_tx",
1303 "error" : "actMalformed",
1305 "error_message" : "Account malformed."
1312 "account_tx: invalid ledger.",
1314 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-478.7"},
1317 "method" : "account_tx",
1320 "api_version" : %API_VER%,
1321 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1328 "account_tx: max less than min.",
1330 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"580",
"579"},
1334 "method" : "account_tx",
1337 "error" : "lgrIdxsInvalid",
1339 "error_message" : "Ledger indexes invalid."
1344 "method" : "account_tx",
1347 "error" : "notSynced",
1349 "error_message" : "Not synced to the network."
1356 "account_tx: non-integer min.",
1358 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"Binary",
"-1"},
1364 "account_tx: non-integer max.",
1366 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"counts"},
1372 "account_tx: non-integer offset.",
1374 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"-1",
"decending"},
1380 "account_tx: non-integer limit.",
1382 {
"account_tx",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"-1",
"-1",
"300",
"false"},
1387 "account_tx: RIPD-1570.",
1390 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1402 {
"book_offers: minimal no issuer.",
1411 "method" : "book_offers",
1414 "api_version" : %API_VER%,
1424 {"book_offers: minimal with currency/issuer",
1428 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1429 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1433 "method" : "book_offers",
1436 "api_version" : %API_VER%,
1439 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1443 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1450 "book_offers: add issuer.",
1452 {
"book_offers",
"USD",
"EUR",
"rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"},
1455 "method" : "book_offers",
1458 "api_version" : %API_VER%,
1459 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1469 {"book_offers: add issuer and numeric ledger index.",
1472 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1474 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1478 "method" : "book_offers",
1481 "api_version" : %API_VER%,
1482 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1483 "ledger_index" : 666,
1489 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1494 {"book_offers: add issuer and text ledger index.",
1498 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1499 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1503 "method" : "book_offers",
1506 "api_version" : %API_VER%,
1507 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1508 "ledger_index" : "current",
1511 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1519 {"book_offers: add issuer and ledger hash.",
1522 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1523 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1524 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1525 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
1528 "method" : "book_offers",
1531 "api_version" : %API_VER%,
1532 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1533 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1536 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1540 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1545 {"book_offers: issuer, ledger hash, and limit.",
1549 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1550 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1551 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1552 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1557 "method" : "book_offers",
1560 "api_version" : %API_VER%,
1561 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1562 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1566 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1570 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1576 "book_offers: issuer, ledger hash, limit, and marker.",
1579 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1580 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1581 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1582 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1588 "method" : "book_offers",
1591 "api_version" : %API_VER%,
1592 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1593 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1595 "marker" : "MyMarker",
1598 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1602 "issuer" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
1607 {"book_offers: too few arguments.",
1614 "method" : "book_offers",
1617 "error" : "badSyntax",
1619 "error_message" : "Syntax error."
1623 {"book_offers: too many arguments.",
1626 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1627 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1628 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1629 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1636 "method" : "book_offers",
1639 "error" : "badSyntax",
1641 "error_message" : "Syntax error."
1646 {"book_offers: taker pays no currency.",
1650 "/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1651 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1655 "method" : "book_offers",
1658 "error" : "invalidParams",
1660 "error_message" : "Invalid currency/issuer '/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh'"
1664 {"book_offers: taker gets no currency.",
1668 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1669 "/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1673 "method" : "book_offers",
1676 "error" : "invalidParams",
1678 "error_message" : "Invalid currency/issuer '/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA'"
1682 {"book_offers: invalid issuer.",
1684 {
"book_offers",
"USD",
"EUR",
"not_a_valid_issuer"},
1687 "method" : "book_offers",
1690 "api_version" : %API_VER%,
1691 "issuer" : "not_a_valid_issuer",
1701 {"book_offers: invalid text ledger index.",
1705 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1706 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1710 "method" : "book_offers",
1713 "api_version" : %API_VER%,
1714 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1718 "issuer" : "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA"
1727 "book_offers: non-numeric limit.",
1731 "USD/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
1732 "EUR/rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1733 "rnUy2SHTrB9DubsPmkJZUXTf5FcNDGrYEA",
1734 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
1739 "method" : "book_offers",
1742 "error" : "invalidParams",
1744 "error_message" : "Invalid field 'limit'."
1751 {
"can_delete: minimal.",
1758 "method" : "can_delete",
1761 "api_version" : %API_VER%,
1765 {"can_delete: ledger index.",
1773 "method" : "can_delete",
1776 "api_version" : %API_VER%,
1777 "can_delete" : 4294967295
1781 {"can_delete: ledger hash.",
1785 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
1789 "method" : "can_delete",
1792 "api_version" : %API_VER%,
1793 "can_delete" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210"
1797 {"can_delete: always.",
1805 "method" : "can_delete",
1808 "api_version" : %API_VER%,
1809 "can_delete" : "always"
1813 {"can_delete: never.",
1821 "method" : "can_delete",
1824 "api_version" : %API_VER%,
1825 "can_delete" : "never"
1829 {"can_delete: now.",
1837 "method" : "can_delete",
1840 "api_version" : %API_VER%,
1841 "can_delete" : "now"
1845 {"can_delete: too many arguments.",
1847 {
"can_delete",
"always",
"never"},
1850 "method" : "can_delete",
1853 "error" : "badSyntax",
1855 "error_message" : "Syntax error."
1859 {"can_delete: invalid argument.",
1861 {
"can_delete",
"invalid"},
1864 "method" : "can_delete",
1867 "api_version" : %API_VER%,
1868 "can_delete" : "invalid"
1873 "can_delete: ledger index > 32 bits.",
1882 "can_delete: ledger hash with no alphas.",
1886 "0123456701234567012345670123456701234567012345670123456701234567",
1893 {
"channel_authorize: minimal.",
1895 {
"channel_authorize",
1896 "secret_can_be_anything",
1897 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1898 "18446744073709551615"},
1901 "method" : "channel_authorize",
1904 "api_version" : %API_VER%,
1905 "amount" : "18446744073709551615",
1906 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1907 "secret" : "secret_can_be_anything"
1911 {"channel_authorize: too few arguments.",
1914 "channel_authorize",
1915 "secret_can_be_anything",
1916 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1920 "method" : "channel_authorize",
1923 "error" : "badSyntax",
1925 "error_message" : "Syntax error."
1929 {"channel_authorize: too many arguments.",
1931 {
"channel_authorize",
1933 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1939 "method" : "channel_authorize",
1942 "error" : "badSyntax",
1944 "error_message" : "Syntax error."
1948 {"channel_authorize: bad key type.",
1950 {
"channel_authorize",
1952 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1957 "method" : "channel_authorize",
1960 "error" : "badKeyType",
1962 "error_message" : "Bad key type."
1966 {"channel_authorize: channel_id too short.",
1968 {
"channel_authorize",
1969 "secret_can_be_anything",
1970 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1974 "method" : "channel_authorize",
1977 "error" : "channelMalformed",
1979 "error_message" : "Payment channel is malformed."
1983 {"channel_authorize: channel_id too long.",
1985 {
"channel_authorize",
1986 "secret_can_be_anything",
1987 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
1991 "method" : "channel_authorize",
1994 "error" : "channelMalformed",
1996 "error_message" : "Payment channel is malformed."
2000 {"channel_authorize: channel_id not hex.",
2002 {
"channel_authorize",
2003 "secret_can_be_anything",
2004 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEZ",
2008 "method" : "channel_authorize",
2011 "error" : "channelMalformed",
2013 "error_message" : "Payment channel is malformed."
2017 {"channel_authorize: negative amount.",
2019 {
"channel_authorize",
2020 "secret_can_be_anything",
2021 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2025 "method" : "channel_authorize",
2028 "error" : "channelAmtMalformed",
2030 "error_message" : "Payment channel amount is malformed."
2034 {"channel_authorize: amount > 64 bits.",
2036 {
"channel_authorize",
2037 "secret_can_be_anything",
2038 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2039 "18446744073709551616"},
2042 "method" : "channel_authorize",
2045 "error" : "channelAmtMalformed",
2047 "error_message" : "Payment channel amount is malformed."
2054 {
"channel_verify: public key.",
2057 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2058 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2063 "method" : "channel_verify",
2066 "api_version" : %API_VER%,
2068 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2069 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2070 "signature" : "DEADBEEF"
2074 {"channel_verify: public key hex.",
2077 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2078 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2079 "18446744073709551615",
2083 "method" : "channel_verify",
2086 "api_version" : %API_VER%,
2087 "amount" : "18446744073709551615",
2088 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2089 "public_key" : "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2090 "signature" : "DEADBEEF"
2094 {"channel_verify: too few arguments.",
2097 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2098 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
2101 "method" : "channel_verify",
2104 "error" : "badSyntax",
2106 "error_message" : "Syntax error."
2110 {"channel_verify: too many arguments.",
2113 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2114 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2120 "method" : "channel_verify",
2123 "error" : "badSyntax",
2125 "error_message" : "Syntax error."
2129 {"channel_verify: malformed public key.",
2132 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9GoV",
2133 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2138 "method" : "channel_verify",
2141 "error" : "publicMalformed",
2143 "error_message" : "Public key is malformed."
2147 {"channel_verify: malformed hex public key.",
2150 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F",
2151 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2156 "method" : "channel_verify",
2159 "error" : "publicMalformed",
2161 "error_message" : "Public key is malformed."
2165 {"channel_verify: invalid channel id.",
2168 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2169 "10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2174 "method" : "channel_verify",
2177 "error" : "channelMalformed",
2179 "error_message" : "Payment channel is malformed."
2183 {"channel_verify: short channel id.",
2186 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2187 "123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2192 "method" : "channel_verify",
2195 "error" : "channelMalformed",
2197 "error_message" : "Payment channel is malformed."
2201 {"channel_verify: amount too small.",
2204 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2205 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2210 "method" : "channel_verify",
2213 "error" : "channelAmtMalformed",
2215 "error_message" : "Payment channel amount is malformed."
2219 {"channel_verify: amount too large.",
2222 "021D93E21C44160A1B3B66DA1F37B86BE39FFEA3FC4B95FAA2063F82EE823599F6",
2223 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2224 "18446744073709551616",
2228 "method" : "channel_verify",
2231 "error" : "channelAmtMalformed",
2233 "error_message" : "Payment channel amount is malformed."
2237 {"channel_verify: non-hex signature.",
2240 "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2241 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2243 "ThisIsNotHexadecimal"},
2246 "method" : "channel_verify",
2249 "api_version" : %API_VER%,
2250 "amount" : "40000000",
2251 "channel_id" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
2252 "public_key" : "aB4BXXLuPu8DpVuyq1DBiu3SrPdtK9AYZisKhu8mvkoiUD8J9Gov",
2253 "signature" : "ThisIsNotHexadecimal"
2260 {
"connect: minimal.",
2264 "ThereIsNoCheckingOnTheIPFormat",
2268 "method" : "connect",
2271 "api_version" : %API_VER%,
2272 "ip" : "ThereIsNoCheckingOnTheIPFormat"
2276 {"connect: ip and port.",
2278 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561"},
2281 "method" : "connect",
2284 "api_version" : %API_VER%,
2285 "ip" : "ThereIsNoCheckingOnTheIPFormat",
2290 {"connect: too few arguments.",
2297 "method" : "connect",
2300 "error" : "badSyntax",
2302 "error_message" : "Syntax error."
2306 {"connect: too many arguments.",
2308 {
"connect",
"ThereIsNoCheckingOnTheIPFormat",
"6561",
"extra"},
2311 "method" : "connect",
2314 "error" : "badSyntax",
2316 "error_message" : "Syntax error."
2321 "connect: port too small.",
2325 "ThereIsNoCheckingOnTheIPFormat",
2331 "connect: port too large.",
2335 "ThereIsNoCheckingOnTheIPFormat",
2343 {
"consensus_info: minimal.",
2350 "method" : "consensus_info",
2353 "api_version" : %API_VER%
2357 {"consensus_info: too many arguments.",
2359 {
"consensus_info",
"whatever"},
2362 "method" : "consensus_info",
2365 "error" : "badSyntax",
2367 "error_message" : "Syntax error."
2374 {
"deposit_authorized: minimal.",
2377 "deposit_authorized",
2378 "source_account_NotValidated",
2379 "destination_account_NotValidated",
2383 "method" : "deposit_authorized",
2386 "api_version" : %API_VER%,
2387 "destination_account" : "destination_account_NotValidated",
2388 "source_account" : "source_account_NotValidated"
2392 {"deposit_authorized: with text ledger index.",
2394 {
"deposit_authorized",
2395 "source_account_NotValidated",
2396 "destination_account_NotValidated",
2400 "method" : "deposit_authorized",
2403 "api_version" : %API_VER%,
2404 "destination_account" : "destination_account_NotValidated",
2405 "ledger_index" : "validated",
2406 "source_account" : "source_account_NotValidated"
2410 {"deposit_authorized: with ledger index.",
2412 {
"deposit_authorized",
2413 "source_account_NotValidated",
2414 "destination_account_NotValidated",
2426 "method" : "deposit_authorized",
2429 "api_version" : %API_VER%,
2430 "destination_account" : "destination_account_NotValidated",
2431 "ledger_index" : 4294967295,
2432 "source_account" : "source_account_NotValidated",
2433 "credentials": ["cred1", "cred2", "cred3", "cred4", "cred5", "cred6", "cred7", "cred8"]
2437 {"deposit_authorized: with ledger hash.",
2439 {
"deposit_authorized",
2440 "source_account_NotValidated",
2441 "destination_account_NotValidated",
2442 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
2445 "method" : "deposit_authorized",
2448 "api_version" : %API_VER%,
2449 "destination_account" : "destination_account_NotValidated",
2450 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2451 "source_account" : "source_account_NotValidated"
2455 {"deposit_authorized: too few arguments.",
2458 "deposit_authorized",
2459 "source_account_NotValidated",
2463 "method" : "deposit_authorized",
2466 "error" : "badSyntax",
2468 "error_message" : "Syntax error."
2472 {"deposit_authorized: too many arguments.",
2474 {
"deposit_authorized",
2475 "source_account_NotValidated",
2476 "destination_account_NotValidated",
2477 "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
2489 "method" : "deposit_authorized",
2492 "error" : "badSyntax",
2494 "error_message" : "Syntax error."
2498 {"deposit_authorized: invalid ledger selection.",
2501 "deposit_authorized",
2502 "source_account_NotValidated",
2503 "destination_account_NotValidated",
2508 "method" : "deposit_authorized",
2511 "api_version" : %API_VER%,
2512 "destination_account" : "destination_account_NotValidated",
2514 "source_account" : "source_account_NotValidated"
2521 {
"feature: minimal.",
2528 "method" : "feature",
2531 "api_version" : %API_VER%,
2535 {"feature: with name.",
2537 {
"feature",
"featureNameOrHexIsNotValidated"},
2540 "method" : "feature",
2543 "api_version" : %API_VER%,
2544 "feature" : "featureNameOrHexIsNotValidated"
2548 {"feature: accept.",
2551 "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA98"
2556 "method" : "feature",
2559 "api_version" : %API_VER%,
2560 "feature" : "FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210",
2565 {"feature: reject.",
2567 {
"feature",
"0",
"reject"},
2570 "method" : "feature",
2573 "api_version" : %API_VER%,
2579 {"feature: too many arguments.",
2581 {
"feature",
"featureNameOrHexIsNotValidated",
"accept",
"anotherArg"},
2584 "method" : "feature",
2587 "error" : "badSyntax",
2589 "error_message" : "Syntax error."
2593 {"feature: neither accept nor reject.",
2597 "featureNameOrHexIsNotValidated",
2602 "method" : "feature",
2605 "error" : "invalidParams",
2607 "error_message" : "Invalid parameters."
2614 {
"fetch_info: minimal.",
2621 "method" : "fetch_info",
2624 "api_version" : %API_VER%,
2628 {"fetch_info: clear.",
2630 {
"fetch_info",
"clear"},
2633 "method" : "fetch_info",
2636 "api_version" : %API_VER%,
2641 {"fetch_info: too many arguments.",
2643 {
"fetch_info",
"clear",
"other"},
2646 "method" : "fetch_info",
2649 "error" : "badSyntax",
2651 "error_message" : "Syntax error."
2655 {"fetch_info: other trailing argument.",
2657 {
"fetch_info",
"too"},
2660 "method" : "fetch_info",
2663 "api_version" : %API_VER%,
2671 {
"gateway_balances: minimal.",
2673 {
"gateway_balances",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2676 "method" : "gateway_balances",
2679 "api_version" : %API_VER%,
2680 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2684 {"gateway_balances: with ledger index.",
2686 {
"gateway_balances",
"890765",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2689 "method" : "gateway_balances",
2692 "api_version" : %API_VER%,
2693 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2694 "ledger_index" : "890765"
2698 {"gateway_balances: with text ledger index.",
2700 {
"gateway_balances",
"current",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2703 "method" : "gateway_balances",
2706 "api_version" : %API_VER%,
2707 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2708 "ledger_index" : "current"
2712 {"gateway_balances: with 64 character ledger hash.",
2714 {
"gateway_balances",
2715 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2716 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
2719 "method" : "gateway_balances",
2722 "api_version" : %API_VER%,
2723 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2724 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2728 {"gateway_balances: 1 hotwallet.",
2730 {
"gateway_balances",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"hotwallet_is_not_validated"},
2733 "method" : "gateway_balances",
2736 "api_version" : %API_VER%,
2737 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2738 "hotwallet" : [ "hotwallet_is_not_validated" ]
2742 {"gateway_balances: 3 hotwallets.",
2746 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2747 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2748 "hotwallet_is_not_validated_1",
2749 "hotwallet_is_not_validated_2",
2750 "hotwallet_is_not_validated_3",
2754 "method" : "gateway_balances",
2757 "api_version" : %API_VER%,
2758 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
2760 "hotwallet_is_not_validated_1",
2761 "hotwallet_is_not_validated_2",
2762 "hotwallet_is_not_validated_3"
2764 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
2768 {"gateway_balances: too few arguments.",
2775 "method" : "gateway_balances",
2778 "error" : "badSyntax",
2780 "error_message" : "Syntax error."
2784 {"gateway_balances: empty first argument.",
2786 {
"gateway_balances",
""},
2789 "method" : "gateway_balances",
2792 "error" : "invalidParams",
2794 "error_message" : "Invalid first parameter"
2798 {"gateway_balances: with ledger index but no gateway.",
2806 "method" : "gateway_balances",
2809 "error" : "invalidParams",
2811 "error_message" : "Invalid hotwallet"
2815 {"gateway_balances: with text ledger index but no gateway.",
2823 "method" : "gateway_balances",
2826 "error" : "invalidParams",
2828 "error_message" : "Invalid hotwallet"
2832 {"gateway_balances: with 64 character ledger hash but no gateway.",
2836 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
2840 "method" : "gateway_balances",
2843 "error" : "invalidParams",
2845 "error_message" : "Invalid hotwallet"
2852 {
"get_counts: minimal.",
2859 "method" : "get_counts",
2862 "api_version" : %API_VER%,
2866 {"get_counts: with maximum count.",
2868 {
"get_counts",
"100"},
2871 "method" : "get_counts",
2874 "api_version" : %API_VER%,
2879 {"get_counts: too many arguments.",
2881 {
"get_counts",
"100",
"whatever"},
2884 "method" : "get_counts",
2887 "error" : "badSyntax",
2889 "error_message" : "Syntax error."
2893 {"get_counts: count too small.",
2901 {"get_counts: count too large.",
2903 {
"get_counts",
"4294967296"},
2914 R
"({"json_argument":true})",
2918 "method" : "command",
2921 "api_version" : %API_VER%,
2922 "json_argument" : true,
2923 "method" : "command"
2927 {"json: null object.",
2936 "method" : "command",
2939 "api_version" : %API_VER%,
2940 "method" : "command"
2944 {"json: too few arguments.",
2946 {
"json",
"command"},
2952 "error" : "badSyntax",
2954 "error_message" : "Syntax error."
2958 {"json: too many arguments.",
2960 {
"json",
"command", R
"({"json_argument":true})", "extra"},
2966 "error" : "badSyntax",
2968 "error_message" : "Syntax error."
2972 {"json: array, not object.",
2977 R
"(["arg1","arg2"])",
2984 "error" : "invalidParams",
2986 "error_message" : "Invalid parameters."
2990 {"json: invalid json (note closing comma).",
2995 R
"({"json_argument":true,})",
3002 "error" : "invalidParams",
3004 "error_message" : "Invalid parameters."
3011 {
"json2: minimal object.",
3015 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3021 "method" : "call_1",
3024 "api_version" : %API_VER%,
3027 "method" : "call_1",
3033 {"json2: object with nested params.",
3039 "ripplerpc" : "2.0",
3041 "method" : "call_1",
3042 "params" : [{"inner_arg" : "yup"}]
3049 "method" : "call_1",
3052 "api_version" : %API_VER%,
3058 "method" : "call_1",
3064 {"json2: minimal array.",
3068 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1"}])",
3076 "api_version" : %API_VER%,
3079 "method" : "call_1",
3085 {"json2: array with object with nested params.",
3094 "params" : [{"inner_arg" : "yup"}]}
3103 "api_version" : %API_VER%,
3109 "method" : "call_1",
3114 {"json2: too few arguments.",
3124 "error" : "badSyntax",
3126 "error_message" : "Syntax error."
3130 {"json2: too many arguments.",
3132 {
"json2", R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_this"})", "extra"},
3138 "error" : "badSyntax",
3140 "error_message" : "Syntax error."
3144 {"json2: malformed json (note extra comma).",
3148 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",})",
3157 "error" : "invalidParams",
3159 "error_message" : "Invalid parameters.",
3167 {"json2: omit jsonrpc.",
3171 R
"({"ripplerpc":"2.0","id":"A1","method":"call_1"})",
3179 "error" : "invalidParams",
3181 "error_message" : "Invalid parameters.",
3188 {"json2: wrong jsonrpc version.",
3192 R
"({"jsonrpc":"2.1","ripplerpc":"2.0","id":"A1","method":"call_1"})",
3201 "error" : "invalidParams",
3203 "error_message" : "Invalid parameters.",
3211 {"json2: omit ripplerpc.",
3215 R
"({"jsonrpc":"2.0","id":"A1","method":"call_1"})",
3224 "error" : "invalidParams",
3226 "error_message" : "Invalid parameters.",
3232 {"json2: wrong ripplerpc version.",
3236 R
"({"jsonrpc":"2.0","ripplerpc":"2.00","id":"A1","method":"call_1"})",
3245 "error" : "invalidParams",
3247 "error_message" : "Invalid parameters.",
3250 "ripplerpc" : "2.00"
3253 "ripplerpc" : "2.00"
3259 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","method":"call_1"})",
3267 "error" : "invalidParams",
3269 "error_message" : "Invalid parameters.",
3276 {"json2: omit method.",
3280 R
"({"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1"})",
3289 "error" : "invalidParams",
3291 "error_message" : "Invalid parameters.",
3299 {"json2: empty outer array.",
3310 "error" : "invalidParams",
3312 "error_message" : "Invalid parameters."
3316 {"json2: empty inner array.",
3320 R
"([{"jsonrpc":"2.0","ripplerpc":"2.0","id":"A1","method":"call_1",[]}])",
3327 "error" : "invalidParams",
3329 "error_message" : "Invalid parameters."
3333 {"json2: array with non-json2 object.",
3339 "ripplerpc" : "2.0",
3350 "error" : "invalidParams",
3352 "error_message" : "Invalid parameters."
3356 {"json2: non-object or -array inner params member.",
3362 "ripplerpc" : "2.0",
3364 "method" : "call_1",
3375 "error" : "invalidParams",
3377 "error_message" : "Invalid parameters.",
3388 {
"ledger: minimal.",
3393 "method" : "ledger",
3396 "api_version" : %API_VER%,
3400 {"ledger: ledger index.",
3402 {
"ledger",
"4294967295"},
3405 "method" : "ledger",
3408 "api_version" : %API_VER%,
3409 "ledger_index" : 4294967295
3413 {"ledger: text ledger index.",
3415 {
"ledger",
"validated"},
3418 "method" : "ledger",
3421 "api_version" : %API_VER%,
3422 "ledger_index" : "validated"
3426 {"ledger: ledger hash.",
3428 {
"ledger",
"ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3431 "method" : "ledger",
3434 "api_version" : %API_VER%,
3435 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3441 {
"ledger",
"current",
"full"},
3444 "method" : "ledger",
3447 "api_version" : %API_VER%,
3449 "ledger_index" : "current"
3455 {
"ledger",
"closed",
"tx"},
3458 "method" : "ledger",
3461 "api_version" : %API_VER%,
3463 "ledger_index" : "closed",
3464 "transactions" : true
3468 {"ledger: too many arguments.",
3470 {
"ledger",
"4294967295",
"spare"},
3473 "method" : "ledger",
3476 "api_version" : %API_VER%,
3477 "ledger_index" : 4294967295
3481 {"ledger: ledger index too small.",
3486 "method" : "ledger",
3489 "api_version" : %API_VER%,
3494 {"ledger: ledger index too big.",
3496 {
"ledger",
"4294967296"},
3499 "method" : "ledger",
3502 "api_version" : %API_VER%,
3507 {"ledger: invalid ledger text.",
3509 {
"ledger",
"latest"},
3512 "method" : "ledger",
3515 "api_version" : %API_VER%,
3520 {"ledger: unsupported final argument.",
3522 {
"ledger",
"current",
"expand"},
3525 "method" : "ledger",
3528 "api_version" : %API_VER%,
3529 "ledger_index" : "current"
3536 {
"ledger_closed: minimal.",
3541 "method" : "ledger_closed",
3544 "api_version" : %API_VER%,
3548 {"ledger_closed: too many arguments.",
3550 {
"ledger_closed",
"today"},
3553 "method" : "ledger_closed",
3556 "error" : "badSyntax",
3558 "error_message" : "Syntax error."
3565 {
"ledger_current: minimal.",
3570 "method" : "ledger_current",
3573 "api_version" : %API_VER%,
3577 {"ledger_current: too many arguments.",
3579 {
"ledger_current",
"today"},
3582 "method" : "ledger_current",
3585 "error" : "badSyntax",
3587 "error_message" : "Syntax error."
3594 {
"ledger_header: ledger index.",
3596 {
"ledger_header",
"4294967295"},
3599 "method" : "ledger_header",
3602 "api_version" : %API_VER%,
3603 "ledger_index" : 4294967295
3607 {"ledger_header: ledger hash.",
3609 {
"ledger_header",
"ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3612 "method" : "ledger_header",
3615 "api_version" : %API_VER%,
3616 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3620 {"ledger_header: too few arguments.",
3627 "method" : "ledger_header",
3630 "error" : "badSyntax",
3632 "error_message" : "Syntax error."
3636 {"ledger_header: too many arguments.",
3638 {
"ledger_header",
"4294967295",
"spare"},
3641 "method" : "ledger_header",
3644 "error" : "badSyntax",
3646 "error_message" : "Syntax error."
3650 {"ledger_header: text ledger index.",
3652 {
"ledger_header",
"current"},
3655 "method" : "ledger_header",
3658 "api_version" : %API_VER%,
3663 {"ledger_header: ledger index too small.",
3665 {
"ledger_header",
"-1"},
3668 "method" : "ledger_header",
3671 "api_version" : %API_VER%,
3676 {"ledger_header: ledger index too big.",
3678 {
"ledger_header",
"4294967296"},
3681 "method" : "ledger_header",
3684 "api_version" : %API_VER%,
3692 {
"ledger_request: ledger index.",
3694 {
"ledger_request",
"4294967295"},
3697 "method" : "ledger_request",
3700 "api_version" : %API_VER%,
3701 "ledger_index" : 4294967295
3705 {"ledger_request: ledger hash.",
3707 {
"ledger_request",
"ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"},
3710 "method" : "ledger_request",
3713 "api_version" : %API_VER%,
3714 "ledger_hash" : "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789"
3718 {"ledger_request: too few arguments.",
3725 "method" : "ledger_request",
3728 "error" : "badSyntax",
3730 "error_message" : "Syntax error."
3734 {"ledger_request: too many arguments.",
3736 {
"ledger_request",
"4294967295",
"spare"},
3739 "method" : "ledger_request",
3742 "error" : "badSyntax",
3744 "error_message" : "Syntax error."
3748 {"ledger_request: text ledger index.",
3750 {
"ledger_request",
"current"},
3753 "method" : "ledger_request",
3756 "api_version" : %API_VER%,
3761 {"ledger_request: ledger index too small.",
3763 {
"ledger_request",
"-1"},
3766 "method" : "ledger_request",
3769 "api_version" : %API_VER%,
3774 {"ledger_request: ledger index too big.",
3776 {
"ledger_request",
"4294967296"},
3779 "method" : "ledger_request",
3782 "api_version" : %API_VER%,
3790 {
"log_level: minimal.",
3797 "method" : "log_level",
3800 "api_version" : %API_VER%,
3804 {"log_level: fatal.",
3806 {
"log_level",
"fatal"},
3809 "method" : "log_level",
3812 "api_version" : %API_VER%,
3813 "severity" : "fatal"
3817 {"log_level: error.",
3819 {
"log_level",
"error"},
3822 "method" : "log_level",
3825 "api_version" : %API_VER%,
3826 "severity" : "error"
3830 {"log_level: warn.",
3832 {
"log_level",
"warn"},
3835 "method" : "log_level",
3838 "api_version" : %API_VER%,
3843 {"log_level: debug.",
3845 {
"log_level",
"debug"},
3848 "method" : "log_level",
3851 "api_version" : %API_VER%,
3852 "severity" : "debug"
3856 {"log_level: trace.",
3858 {
"log_level",
"trace"},
3861 "method" : "log_level",
3864 "api_version" : %API_VER%,
3865 "severity" : "trace"
3869 {"log_level: base partition.",
3871 {
"log_level",
"base",
"trace"},
3874 "method" : "log_level",
3877 "api_version" : %API_VER%,
3878 "partition" : "base",
3879 "severity" : "trace"
3883 {"log_level: partition_name.",
3885 {
"log_level",
"partition_name",
"fatal"},
3888 "method" : "log_level",
3891 "api_version" : %API_VER%,
3892 "partition" : "partition_name",
3893 "severity" : "fatal"
3897 {"log_level: too many arguments.",
3899 {
"log_level",
"partition_name",
"fatal",
"extra"},
3902 "method" : "log_level",
3905 "error" : "badSyntax",
3907 "error_message" : "Syntax error."
3911 {"log_level: invalid severity.",
3913 {
"log_level",
"err"},
3916 "method" : "log_level",
3919 "api_version" : %API_VER%,
3924 {"log_level: swap partition name and severity.",
3933 "method" : "log_level",
3936 "api_version" : %API_VER%,
3937 "partition" : "fatal",
3938 "severity" : "partition_name"
3945 {
"logrotate: minimal.",
3952 "method" : "logrotate",
3955 "api_version" : %API_VER%,
3959 {"logrotate: too many arguments.",
3961 {
"logrotate",
"extra"},
3964 "method" : "logrotate",
3967 "error" : "badSyntax",
3969 "error_message" : "Syntax error."
3976 {
"owner_info: minimal.",
3978 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"},
3981 "method" : "owner_info",
3984 "api_version" : %API_VER%,
3985 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
3989 {"owner_info: with numeric ledger index.",
3991 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"987654321"},
3994 "method" : "owner_info",
3997 "api_version" : %API_VER%,
3998 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
3999 "ledger_index" : 987654321
4003 {"owner_info: with text ledger index.",
4005 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4008 "method" : "owner_info",
4011 "api_version" : %API_VER%,
4012 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4013 "ledger_index" : "validated"
4017 {"owner_info: with ledger hash.",
4020 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4021 "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"},
4024 "method" : "owner_info",
4027 "api_version" : %API_VER%,
4028 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4029 "ledger_hash" : "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
4033 {"owner_info: with ledger index.",
4035 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"validated"},
4038 "method" : "owner_info",
4041 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4042 "api_version" : %API_VER%,
4043 "ledger_index" : "validated"
4047 {"owner_info: too few arguments.",
4054 "method" : "owner_info",
4057 "error" : "badSyntax",
4059 "error_message" : "Syntax error."
4063 {"owner_info: too many arguments.",
4067 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4074 "method" : "owner_info",
4077 "error" : "badSyntax",
4079 "error_message" : "Syntax error."
4084 "owner_info: invalid accountID.",
4092 "method" : "owner_info",
4095 "error" : "actMalformed",
4097 "error_message" : "Account malformed."
4105 "owner_info: invalid ledger selection.",
4107 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4110 "method" : "owner_info",
4113 "api_version" : %API_VER%,
4114 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4123 "owner_info: invalid ledger selection.",
4125 {
"owner_info",
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"no_ledger"},
4128 "method" : "owner_info",
4131 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4132 "api_version" : %API_VER%,
4151 "api_version" : %API_VER%,
4155 {"peers: too many arguments.",
4163 "error" : "badSyntax",
4165 "error_message" : "Syntax error."
4172 {
"peer_reservations_add: minimal.",
4174 {
"peer_reservations_add",
"public_key_string"},
4177 "method" : "peer_reservations_add",
4180 "api_version" : %API_VER%,
4181 "public_key" : "public_key_string"
4185 {"peer_reservations_add: with description.",
4187 {
"peer_reservations_add",
"public_key_string",
"public_key_description"},
4190 "method" : "peer_reservations_add",
4193 "api_version" : %API_VER%,
4194 "description" : "public_key_description",
4195 "public_key" : "public_key_string"
4199 {"peer_reservations_add: too few arguments.",
4201 {
"peer_reservations_add"},
4204 "method" : "peer_reservations_add",
4207 "error" : "badSyntax",
4209 "error_message" : "Syntax error."
4213 {"peer_reservations_add: too many arguments.",
4215 {
"peer_reservations_add",
"public_key_string",
"public_key_description",
"spare"},
4218 "method" : "peer_reservations_add",
4221 "error" : "badSyntax",
4223 "error_message" : "Syntax error."
4230 {
"peer_reservations_del: minimal.",
4232 {
"peer_reservations_del",
"public_key_string"},
4235 "method" : "peer_reservations_del",
4238 "api_version" : %API_VER%,
4239 "public_key" : "public_key_string"
4243 {"peer_reservations_del: too few arguments.",
4245 {
"peer_reservations_del"},
4248 "method" : "peer_reservations_del",
4251 "error" : "badSyntax",
4253 "error_message" : "Syntax error."
4257 {"peer_reservations_del: too many arguments.",
4259 {
"peer_reservations_del",
"public_key_string",
"public_key_description",
"spare"},
4262 "method" : "peer_reservations_del",
4265 "error" : "badSyntax",
4267 "error_message" : "Syntax error."
4284 "api_version" : %API_VER%,
4288 {"ping: too many arguments.",
4296 "error" : "badSyntax",
4298 "error_message" : "Syntax error."
4315 "api_version" : %API_VER%,
4320 "print: extra argument.",
4328 "api_version" : %API_VER%,
4329 "params" : [ "extra" ]
4333 {"print: too many arguments.",
4335 {
"print",
"extra1",
"extra2"},
4341 "error" : "badSyntax",
4343 "error_message" : "Syntax error."
4350 {
"random: minimal.",
4357 "method" : "random",
4360 "api_version" : %API_VER%,
4364 {"random: too many arguments.",
4366 {
"random",
"extra"},
4369 "method" : "random",
4372 "error" : "badSyntax",
4374 "error_message" : "Syntax error."
4381 {
"ripple_path_find: minimal.",
4385 R
"({"json_argument":true})",
4389 "method" : "ripple_path_find",
4392 "api_version" : %API_VER%,
4393 "json_argument" : true
4397 {"ripple_path_find: ledger index.",
4399 {
"ripple_path_find", R
"({"json_argument":true})", "4294967295"},
4402 "method" : "ripple_path_find",
4405 "api_version" : %API_VER%,
4406 "json_argument" : true,
4407 "ledger_index" : 4294967295
4411 {"ripple_path_find: text ledger index.",
4413 {
"ripple_path_find", R
"({"json_argument":true})", "closed"},
4416 "method" : "ripple_path_find",
4419 "api_version" : %API_VER%,
4420 "json_argument" : true,
4421 "ledger_index" : "closed"
4425 {"ripple_path_find: ledger hash.",
4427 {
"ripple_path_find",
4428 R
"({"json_argument":true})",
4429 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"},
4432 "method" : "ripple_path_find",
4435 "api_version" : %API_VER%,
4436 "json_argument" : true,
4437 "ledger_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
4442 {"ripple_path_find: too few arguments.",
4449 "method" : "ripple_path_find",
4452 "error" : "badSyntax",
4454 "error_message" : "Syntax error."
4458 {"ripple_path_find: too many arguments.",
4460 {
"ripple_path_find", R
"({"json_argument":true})", "current",
"extra"},
4463 "method" : "ripple_path_find",
4466 "error" : "badSyntax",
4468 "error_message" : "Syntax error."
4472 {"ripple_path_find: invalid json (note extra comma).",
4476 R
"({"json_argument":true,})",
4480 "method" : "ripple_path_find",
4483 "error" : "invalidParams",
4485 "error_message" : "Invalid parameters."
4489 {"ripple_path_find: ledger index too small.",
4491 {
"ripple_path_find", R
"({"json_argument":true})", "-1"},
4494 "method" : "ripple_path_find",
4497 "api_version" : %API_VER%,
4498 "json_argument" : true,
4503 {"ripple_path_find: ledger index too big.",
4505 {
"ripple_path_find", R
"({"json_argument":true})", "4294967296"},
4508 "method" : "ripple_path_find",
4511 "api_version" : %API_VER%,
4512 "json_argument" : true,
4517 {"ripple_path_find: invalid text ledger index.",
4519 {
"ripple_path_find", R
"({"json_argument":true})", "cur"},
4522 "method" : "ripple_path_find",
4525 "api_version" : %API_VER%,
4526 "json_argument" : true,
4539 R
"({"json_argument":true})",
4546 "api_version" : %API_VER%,
4547 "secret" : "my_secret",
4549 "json_argument" : true
4556 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline"},
4562 "api_version" : %API_VER%,
4564 "secret" : "my_secret",
4566 "json_argument" : true
4571 {"sign: too few arguments.",
4573 {
"sign",
"contents_of_blob"},
4579 "error" : "badSyntax",
4581 "error_message" : "Syntax error."
4585 {"sign: offline flag with signature_target.",
4587 {
"sign",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4593 "api_version" : %API_VER%,
4595 "secret" : "my_secret",
4596 "signature_target" : "extra",
4599 "json_argument" : true
4604 {"sign: too many arguments.",
4608 R
"({"json_argument":true})",
4610 "CounterpartySignature",
4617 "error" : "badSyntax",
4619 "error_message" : "Syntax error."
4623 {"sign: invalid JSON (note extra comma).",
4628 R
"({"json_argument":true,})",
4635 "error" : "invalidParams",
4637 "error_message" : "Invalid parameters."
4641 {"sign: misspelled offline flag interpreted as signature_target.",
4643 {
"sign",
"my_secret", R
"({"json_argument":true})", "offlin"},
4649 "api_version" : %API_VER%,
4650 "secret" : "my_secret",
4651 "signature_target" : "offlin",
4654 "json_argument" : true
4662 {
"sign_for: minimal.",
4666 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4668 R
"({"json_argument":true})",
4672 "method" : "sign_for",
4675 "api_version" : %API_VER%,
4676 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4677 "secret" : "my_secret",
4679 "json_argument" : true
4684 {"sign_for: offline.",
4687 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4689 R
"({"json_argument":true})",
4693 "method" : "sign_for",
4696 "api_version" : %API_VER%,
4697 "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4699 "secret" : "my_secret",
4701 "json_argument" : true
4706 {"sign_for: too few arguments.",
4710 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4715 "method" : "sign_for",
4718 "error" : "badSyntax",
4720 "error_message" : "Syntax error."
4724 {"sign_for: too many arguments.",
4727 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4729 R
"({"json_argument":true})",
4734 "method" : "sign_for",
4737 "error" : "badSyntax",
4739 "error_message" : "Syntax error."
4743 {"sign_for: invalid json (note extra comma).",
4747 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4749 R
"({"json_argument":true,})",
4753 "method" : "sign_for",
4756 "error" : "invalidParams",
4758 "error_message" : "Invalid parameters."
4762 {"sign_for: invalid final argument.",
4765 "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
4767 R
"({"json_argument":true})",
4771 "method" : "sign_for",
4774 "error" : "invalidParams",
4776 "error_message" : "Invalid parameters."
4785 {
"submit",
"the blob is unvalidated and may be any length..."},
4788 "method" : "submit",
4791 "api_version" : %API_VER%,
4792 "tx_blob" : "the blob is unvalidated and may be any length..."
4801 R
"({"json_argument":true})",
4805 "method" : "submit",
4808 "api_version" : %API_VER%,
4809 "secret" : "my_secret",
4811 "json_argument" : true
4816 {"submit: too few arguments.",
4823 "method" : "submit",
4826 "error" : "badSyntax",
4828 "error_message" : "Syntax error."
4833 "submit: four arguments.",
4835 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline"},
4838 "method" : "submit",
4841 "api_version" : %API_VER%,
4843 "secret" : "my_secret",
4845 "json_argument" : true
4850 {"submit: offline flag with signature_target.",
4852 {
"submit",
"my_secret", R
"({"json_argument":true})", "offline",
"extra"},
4855 "method" : "submit",
4858 "api_version" : %API_VER%,
4860 "secret" : "my_secret",
4861 "signature_target" : "extra",
4864 "json_argument" : true
4869 {"submit: too many arguments.",
4873 R
"({"json_argument":true})",
4875 "CounterpartySignature",
4879 "method" : "submit",
4882 "error" : "badSyntax",
4884 "error_message" : "Syntax error."
4888 {"submit: invalid json (note extra comma).",
4893 R
"({"json_argument":true,})",
4897 "method" : "submit",
4900 "error" : "invalidParams",
4902 "error_message" : "Invalid parameters."
4906 {"submit: misspelled offline flag interpreted as signature_target.",
4908 {
"submit",
"my_secret", R
"({"json_argument":true})", "offlne"},
4911 "method" : "submit",
4914 "api_version" : %API_VER%,
4915 "secret" : "my_secret",
4916 "signature_target" : "offlne",
4919 "json_argument" : true
4927 {
"submit_multisigned: json.",
4930 "submit_multisigned",
4931 R
"({"json_argument":true})",
4935 "method" : "submit_multisigned",
4938 "api_version" : %API_VER%,
4940 "json_argument" : true
4945 {"submit_multisigned: too few arguments.",
4948 "submit_multisigned",
4952 "method" : "submit_multisigned",
4955 "error" : "badSyntax",
4957 "error_message" : "Syntax error."
4961 {"submit_multisigned: too many arguments.",
4963 {
"submit_multisigned", R
"({"json_argument":true})", "extra"},
4966 "method" : "submit_multisigned",
4969 "error" : "badSyntax",
4971 "error_message" : "Syntax error."
4975 {"submit_multisigned: invalid json (note extra comma).",
4978 "submit_multisigned",
4979 R
"({"json_argument":true,})",
4983 "method" : "submit_multisigned",
4986 "error" : "invalidParams",
4988 "error_message" : "Invalid parameters."
4996 {
"server_info: minimal.",
5003 "method" : "server_info",
5006 "api_version" : %API_VER%,
5010 {"server_info: counters.",
5012 {
"server_info",
"counters"},
5015 "method" : "server_info",
5018 "api_version" : %API_VER%,
5023 {"server_info: too many arguments.",
5025 {
"server_info",
"counters",
"extra"},
5028 "method" : "server_info",
5031 "error" : "badSyntax",
5033 "error_message" : "Syntax error."
5037 {"server_info: non-counters argument.",
5039 {
"server_info",
"counter"},
5042 "method" : "server_info",
5045 "api_version" : %API_VER%,
5052 {
"server_state: minimal.",
5059 "method" : "server_state",
5062 "api_version" : %API_VER%,
5066 {"server_state: counters.",
5068 {
"server_state",
"counters"},
5071 "method" : "server_state",
5074 "api_version" : %API_VER%,
5079 {"server_state: too many arguments.",
5081 {
"server_state",
"counters",
"extra"},
5084 "method" : "server_state",
5087 "error" : "badSyntax",
5089 "error_message" : "Syntax error."
5093 {"server_state: non-counters argument.",
5095 {
"server_state",
"counter"},
5098 "method" : "server_state",
5101 "api_version" : %API_VER%,
5118 "api_version" : %API_VER%,
5122 {"stop: too many arguments.",
5130 "error" : "badSyntax",
5132 "error_message" : "Syntax error."
5139 {
"transaction_entry: ledger index.",
5141 {
"transaction_entry",
5142 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5146 "method" : "transaction_entry",
5149 "api_version" : %API_VER%,
5150 "ledger_index" : 4294967295,
5151 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5155 {"transaction_entry: text ledger index.",
5157 {
"transaction_entry",
5158 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5162 "method" : "transaction_entry",
5165 "api_version" : %API_VER%,
5166 "ledger_index" : "current",
5167 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5171 {"transaction_entry: ledger hash.",
5173 {
"transaction_entry",
5174 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5175 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210"},
5178 "method" : "transaction_entry",
5181 "api_version" : %API_VER%,
5182 "ledger_hash" : "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210",
5183 "tx_hash" : "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV"
5187 {"transaction_entry: too few arguments.",
5190 "transaction_entry",
5191 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5195 "method" : "transaction_entry",
5198 "error" : "badSyntax",
5200 "error_message" : "Syntax error."
5204 {"transaction_entry: too many arguments.",
5206 {
"transaction_entry",
5207 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5212 "method" : "transaction_entry",
5215 "error" : "badSyntax",
5217 "error_message" : "Syntax error."
5221 {"transaction_entry: short tx_hash.",
5224 "transaction_entry",
5225 "123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5230 "method" : "transaction_entry",
5233 "error" : "invalidParams",
5235 "error_message" : "Invalid parameters."
5239 {"transaction_entry: long tx_hash.",
5242 "transaction_entry",
5243 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUVW",
5248 "method" : "transaction_entry",
5251 "error" : "invalidParams",
5253 "error_message" : "Invalid parameters."
5257 {"transaction_entry: small ledger index.",
5260 "transaction_entry",
5261 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5266 "method" : "transaction_entry",
5269 "error" : "invalidParams",
5271 "error_message" : "Invalid parameters."
5275 {"transaction_entry: large ledger index.",
5278 "transaction_entry",
5279 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5284 "method" : "transaction_entry",
5287 "error" : "invalidParams",
5289 "error_message" : "Invalid parameters."
5293 {"transaction_entry: short ledger hash.",
5296 "transaction_entry",
5297 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5298 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA987654321",
5302 "method" : "transaction_entry",
5305 "error" : "invalidParams",
5307 "error_message" : "Invalid parameters."
5311 {"transaction_entry: long ledger hash.",
5314 "transaction_entry",
5315 "0123456789ABCDEFGHIJKLMNOPQRSTUV0123456789ABCDEFGHIJKLMNOPQRSTUV",
5316 "VUTSRQPONMLKJIHGFEDCBA9876543210VUTSRQPONMLKJIHGFEDCBA9876543210Z",
5320 "method" : "transaction_entry",
5323 "error" : "invalidParams",
5325 "error_message" : "Invalid parameters."
5332 {
"tx: ctid. minimal",
5334 {
"tx",
"FFFFFFFFFFFFFFFF",
"1",
"2"},
5340 "api_version" : %API_VER%,
5341 "ctid" : "FFFFFFFFFFFFFFFF",
5347 {"tx: ctid. binary",
5349 {
"tx",
"FFFFFFFFFFFFFFFF",
"binary",
"1",
"2"},
5355 "api_version" : %API_VER%,
5357 "ctid" : "FFFFFFFFFFFFFFFF",
5365 {
"tx",
"transaction_hash_is_not_validated"},
5371 "api_version" : %API_VER%,
5372 "transaction" : "transaction_hash_is_not_validated"
5378 {
"tx",
"transaction_hash_is_not_validated",
"binary"},
5384 "api_version" : %API_VER%,
5386 "transaction" : "transaction_hash_is_not_validated"
5390 {"tx: too few arguments.",
5400 "error" : "badSyntax",
5402 "error_message" : "Syntax error."
5406 {"tx: too many arguments.",
5408 {
"tx",
"transaction_hash_is_not_validated",
"binary",
"1",
"2",
"extra"},
5414 "error" : "badSyntax",
5416 "error_message" : "Syntax error."
5420 {"tx: invalid final argument is apparently ignored.",
5422 {
"tx",
"transaction_hash_is_not_validated",
"bin"},
5428 "api_version" : %API_VER%,
5429 "transaction" : "transaction_hash_is_not_validated"
5436 {
"tx_history: minimal.",
5438 {
"tx_history",
"0"},
5441 "method" : "tx_history",
5444 "api_version" : %API_VER%,
5449 {"tx_history: too few arguments.",
5456 "method" : "tx_history",
5459 "error" : "badSyntax",
5461 "error_message" : "Syntax error."
5465 {"tx_history: too many arguments.",
5467 {
"tx_history",
"0",
"1"},
5470 "method" : "tx_history",
5473 "error" : "badSyntax",
5475 "error_message" : "Syntax error."
5481 "tx_history: start too small.",
5483 {
"tx_history",
"-1"},
5489 "tx_history: start too big.",
5491 {
"tx_history",
"4294967296"},
5497 "tx_history: start not integer.",
5499 {
"tx_history",
"beginning"},
5506 {
"unl_list: minimal.",
5513 "method" : "unl_list",
5516 "api_version" : %API_VER%,
5520 {"unl_list: too many arguments.",
5522 {
"unl_list",
"extra"},
5525 "method" : "unl_list",
5528 "error" : "badSyntax",
5530 "error_message" : "Syntax error."
5537 {
"validation_create: minimal.",
5540 "validation_create",
5544 "method" : "validation_create",
5547 "api_version" : %API_VER%,
5551 {"validation_create: with secret.",
5553 {
"validation_create",
"the form of the secret is not validated"},
5556 "method" : "validation_create",
5559 "api_version" : %API_VER%,
5560 "secret" : "the form of the secret is not validated"
5564 {"validation_create: too many arguments.",
5566 {
"validation_create",
"the form of the secret is not validated",
"extra"},
5569 "method" : "validation_create",
5572 "error" : "badSyntax",
5574 "error_message" : "Syntax error."
5581 {
"version: minimal.",
5588 "method" : "version",
5591 "api_version" : %API_VER%,
5595 {"version: too many arguments.",
5597 {
"version",
"extra"},
5600 "method" : "version",
5603 "error" : "badSyntax",
5605 "error_message" : "Syntax error."
5612 {
"wallet_propose: minimal.",
5619 "method" : "wallet_propose",
5622 "api_version" : %API_VER%,
5626 {"wallet_propose: with passphrase.",
5628 {
"wallet_propose",
"the form of the passphrase is not validated"},
5631 "method" : "wallet_propose",
5634 "api_version" : %API_VER%,
5635 "passphrase" : "the form of the passphrase is not validated"
5639 {"wallet_propose: too many arguments.",
5641 {
"wallet_propose",
"the form of the passphrase is not validated",
"extra"},
5644 "method" : "wallet_propose",
5647 "error" : "badSyntax",
5649 "error_message" : "Syntax error."
5656 {
"internal: minimal.",
5658 {
"internal",
"command_name"},
5661 "method" : "internal",
5664 "api_version" : %API_VER%,
5665 "internal_command" : "command_name",
5670 {"internal: with parameters.",
5672 {
"internal",
"command_name",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5675 "method" : "internal",
5678 "api_version" : %API_VER%,
5679 "internal_command" : "command_name",
5680 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5684 {"internal: too few arguments.",
5691 "method" : "internal",
5694 "error" : "badSyntax",
5696 "error_message" : "Syntax error."
5703 {
"path_find: minimal.",
5710 "method" : "path_find",
5713 "error" : "noEvents",
5715 "error_message" : "Current transport does not support events."
5719 {"path_find: with arguments.",
5721 {
"path_find",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5724 "method" : "path_find",
5727 "error" : "noEvents",
5729 "error_message" : "Current transport does not support events."
5736 {
"subscribe: minimal.",
5743 "method" : "subscribe",
5746 "error" : "noEvents",
5748 "error_message" : "Current transport does not support events."
5752 {"subscribe: with arguments.",
5754 {
"subscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5757 "method" : "subscribe",
5760 "error" : "noEvents",
5762 "error_message" : "Current transport does not support events."
5769 {
"unsubscribe: minimal.",
5776 "method" : "unsubscribe",
5779 "error" : "noEvents",
5781 "error_message" : "Current transport does not support events."
5785 {"unsubscribe: with arguments.",
5787 {
"unsubscribe",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5790 "method" : "unsubscribe",
5793 "error" : "noEvents",
5795 "error_message" : "Current transport does not support events."
5802 {
"unknown_command: minimal.",
5809 "method" : "unknown_command",
5812 "api_version" : %API_VER%,
5816 {"unknown_command: with arguments.",
5818 {
"unknown_command",
"string_arg",
"1",
"-1",
"4294967296",
"3.14159"},
5821 "method" : "unknown_command",
5824 "api_version" : %API_VER%,
5825 "params" : [ "string_arg", "1", "-1", "4294967296", "3.14159" ]
5835 static auto const kPlaceHolder =
"%API_VER%";
5837 boost::replace_all(jr, kPlaceHolder, versionStr);
5846 cfg->networkId = networkID;
5857 testcase <<
"RPCCall API version " << apiVersion;
5868 if (!BEAST_EXPECT(!rpcCallTest.exp.empty()))
5873 char const*
const expVersioned =
5876 : rpcCallTest.exp.back();
5894 fail(rpcCallTest.description, __FILE__, rpcCallTest.line);
5906 if (
json.isMember(jss::params) &&
json[jss::params].isArray() &&
5907 json[jss::params].size() > 0 &&
json[jss::params][0u].isObject())
5909 json[jss::params][0u].removeMember(jss::error_code);
5922 fail(rpcCallTest.description, __FILE__, rpcCallTest.line);
void pass()
Record a successful test condition.
void fail(String const &reason, char const *file, int line)
Record a failure.
TestcaseT testcase
Memberspace for declaring test cases.
Unserialize a JSON document into a Value.
bool parse(std::string const &document, Value &root)
Read a Value from a JSON document.
void run() override
Runs the suite.
void testRPCCall(unsigned apiVersion)
A transaction testing environment.
beast::Journal const journal
JSON (JavaScript Object Notation).
Processes XRPL RPC calls.
static constexpr auto kApiMinimumSupportedVersion
static constexpr auto kApiMaximumValidVersion
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 an xrpld unit test rpc command, return the corresponding JSON.
BEAST_DEFINE_TESTSUITE(AMMClawback, app, xrpl)
std::unique_ptr< Config > makeNetworkConfig(uint32_t networkID)
std::string updateAPIVersionString(char const *const req, unsigned apiVersion)
static RPCCallTestData const kRpcCallTestArray[]
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void forAllApiVersions(Fn const &fn, Args &&... args)
std::vector< char const * > exp
RPCCallTestData & operator=(RPCCallTestData &&)=delete
RPCCallTestData(char const *description, int line, std::initializer_list< char const * > const &args, Exception throwsWhat, char const *exp)
RPCCallTestData(char const *description, int line, std::initializer_list< char const * > const &args, Exception throwsWhat, std::initializer_list< char const * > exp)
char const *const description
std::vector< char const * > const args
RPCCallTestData(RPCCallTestData &&)=delete
RPCCallTestData & operator=(RPCCallTestData const &)=delete
RPCCallTestData(RPCCallTestData const &)=delete
Exception const throwsWhat