18 using namespace test::jtx;
22 auto const result = env.
rpc(
"server_definitions");
23 BEAST_EXPECT(!result[jss::result].isMember(jss::error));
24 BEAST_EXPECT(result[jss::result][jss::status] ==
"success");
25 BEAST_EXPECT(result[jss::result].isMember(jss::FIELDS));
26 BEAST_EXPECT(result[jss::result].isMember(jss::LEDGER_ENTRY_TYPES));
27 BEAST_EXPECT(result[jss::result].isMember(jss::TRANSACTION_RESULTS));
28 BEAST_EXPECT(result[jss::result].isMember(jss::TRANSACTION_TYPES));
29 BEAST_EXPECT(result[jss::result].isMember(jss::TYPES));
30 BEAST_EXPECT(result[jss::result].isMember(jss::hash));
36 auto const firstField = result[jss::result][jss::FIELDS][0u];
37 BEAST_EXPECT(firstField[0u].asString() ==
"Generic");
38 BEAST_EXPECT(firstField[1][jss::isSerialized].asBool() ==
false);
39 BEAST_EXPECT(firstField[1][jss::isSigningField].asBool() ==
false);
40 BEAST_EXPECT(firstField[1][jss::isVLEncoded].asBool() ==
false);
41 BEAST_EXPECT(firstField[1][jss::nth].asUInt() == 0);
42 BEAST_EXPECT(firstField[1][jss::type].asString() ==
"Unknown");
45 BEAST_EXPECT(result[jss::result][jss::LEDGER_ENTRY_TYPES][
"AccountRoot"].asUInt() == 97);
46 BEAST_EXPECT(result[jss::result][jss::TRANSACTION_RESULTS][
"tecDIR_FULL"].asUInt() == 121);
47 BEAST_EXPECT(result[jss::result][jss::TRANSACTION_TYPES][
"Payment"].asUInt() == 0);
48 BEAST_EXPECT(result[jss::result][jss::TYPES][
"AccountID"].asUInt() == 8);
53 for (
auto& field : result[jss::result][jss::FIELDS])
55 if (field[0u].asString() == name)
62 BEAST_EXPECT(fieldExists(
"Generic"));
63 BEAST_EXPECT(fieldExists(
"Invalid"));
64 BEAST_EXPECT(fieldExists(
"ObjectEndMarker"));
65 BEAST_EXPECT(fieldExists(
"ArrayEndMarker"));
66 BEAST_EXPECT(fieldExists(
"taker_gets_funded"));
67 BEAST_EXPECT(fieldExists(
"taker_pays_funded"));
68 BEAST_EXPECT(fieldExists(
"hash"));
69 BEAST_EXPECT(fieldExists(
"index"));
74 auto const types = result[jss::result][jss::TYPES];
75 BEAST_EXPECT(types[
"Hash128"].asUInt() == 4);
76 BEAST_EXPECT(types[
"Hash160"].asUInt() == 17);
77 BEAST_EXPECT(types[
"Hash192"].asUInt() == 21);
78 BEAST_EXPECT(types[
"Hash256"].asUInt() == 5);
79 BEAST_EXPECT(types[
"Hash384"].asUInt() == 22);
80 BEAST_EXPECT(types[
"Hash512"].asUInt() == 23);
87 auto const firstResult = env.
rpc(
"server_definitions");
88 auto const hash = firstResult[jss::result][jss::hash].
asString();
89 auto const hashParam =
std::string(
"{ ") +
"\"hash\": \"" + hash +
"\"}";
91 auto const result = env.
rpc(
"json",
"server_definitions", hashParam);
92 BEAST_EXPECT(!result[jss::result].isMember(jss::error));
93 BEAST_EXPECT(result[jss::result][jss::status] ==
"success");
94 BEAST_EXPECT(!result[jss::result].isMember(jss::FIELDS));
95 BEAST_EXPECT(!result[jss::result].isMember(jss::LEDGER_ENTRY_TYPES));
96 BEAST_EXPECT(!result[jss::result].isMember(jss::TRANSACTION_RESULTS));
97 BEAST_EXPECT(!result[jss::result].isMember(jss::TRANSACTION_TYPES));
98 BEAST_EXPECT(!result[jss::result].isMember(jss::TYPES));
99 BEAST_EXPECT(result[jss::result].isMember(jss::hash));
106 "54296160385A27154BFA70A239DD8E8FD4CC2DB7BA32D970BA3A5B132CF749"
108 auto const hashParam =
std::string(
"{ ") +
"\"hash\": \"" + hash +
"\"}";
110 auto const result = env.
rpc(
"json",
"server_definitions", hashParam);
111 BEAST_EXPECT(!result[jss::result].isMember(jss::error));
112 BEAST_EXPECT(result[jss::result][jss::status] ==
"success");
113 BEAST_EXPECT(result[jss::result].isMember(jss::FIELDS));
114 BEAST_EXPECT(result[jss::result].isMember(jss::LEDGER_ENTRY_TYPES));
115 BEAST_EXPECT(result[jss::result].isMember(jss::TRANSACTION_RESULTS));
116 BEAST_EXPECT(result[jss::result].isMember(jss::TRANSACTION_TYPES));
117 BEAST_EXPECT(result[jss::result].isMember(jss::TYPES));
118 BEAST_EXPECT(result[jss::result].isMember(jss::hash));