diff --git a/AccountInfo__test_8cpp_source.html b/AccountInfo__test_8cpp_source.html
index 7565d2b340..ca71ee58ea 100644
--- a/AccountInfo__test_8cpp_source.html
+++ b/AccountInfo__test_8cpp_source.html
@@ -277,417 +277,414 @@ $(function() {
206 testSignerListsApiVersion2()
-
- 210 c->loadFromString(
"\n[beta_rpc_api]\n1\n");
-
-
- 213 Account
const alice{
"alice"};
- 214 env.fund(
XRP(1000), alice);
+
+ 210 Account
const alice{
"alice"};
+ 211 env.fund(
XRP(1000), alice);
+
+
+ 214 "\"api_version\": 2, \"account\": \"" + alice.human() +
"\"}";
-
- 217 "\"api_version\": 2, \"account\": \"" + alice.human() +
"\"}";
-
-
- 220 "\"api_version\": 2, \"account\": \"" + alice.human() +
"\", " +
- 221 "\"signer_lists\": true }";
-
-
-
-
- 226 auto const info = env.rpc(
"json",
"account_info", withoutSigners);
- 227 BEAST_EXPECT(info.isMember(jss::result));
- 228 BEAST_EXPECT(!info[jss::result].isMember(jss::signer_lists));
-
-
-
- 232 auto const info = env.rpc(
"json",
"account_info", withSigners);
- 233 BEAST_EXPECT(info.isMember(jss::result));
- 234 auto const&
data = info[jss::result];
- 235 BEAST_EXPECT(
data.isMember(jss::signer_lists));
- 236 auto const& signerLists =
data[jss::signer_lists];
- 237 BEAST_EXPECT(signerLists.isArray());
- 238 BEAST_EXPECT(signerLists.size() == 0);
-
+
+ 217 "\"api_version\": 2, \"account\": \"" + alice.human() +
"\", " +
+ 218 "\"signer_lists\": true }";
+
+
+
+
+ 223 auto const info = env.rpc(
"json",
"account_info", withoutSigners);
+ 224 BEAST_EXPECT(info.isMember(jss::result));
+ 225 BEAST_EXPECT(!info[jss::result].isMember(jss::signer_lists));
+
+
+
+ 229 auto const info = env.rpc(
"json",
"account_info", withSigners);
+ 230 BEAST_EXPECT(info.isMember(jss::result));
+ 231 auto const&
data = info[jss::result];
+ 232 BEAST_EXPECT(
data.isMember(jss::signer_lists));
+ 233 auto const& signerLists =
data[jss::signer_lists];
+ 234 BEAST_EXPECT(signerLists.isArray());
+ 235 BEAST_EXPECT(signerLists.size() == 0);
+
+
+
+ 239 Account
const bogie{
"bogie"};
-
- 242 Account
const bogie{
"bogie"};
-
-
-
-
-
- 248 auto const info = env.rpc(
"json",
"account_info", withoutSigners);
- 249 BEAST_EXPECT(info.isMember(jss::result));
- 250 BEAST_EXPECT(!info[jss::result].isMember(jss::signer_lists));
-
-
-
- 254 auto const info = env.rpc(
"json",
"account_info", withSigners);
- 255 BEAST_EXPECT(info.isMember(jss::result));
- 256 auto const&
data = info[jss::result];
- 257 BEAST_EXPECT(
data.isMember(jss::signer_lists));
- 258 auto const& signerLists =
data[jss::signer_lists];
- 259 BEAST_EXPECT(signerLists.isArray());
- 260 BEAST_EXPECT(signerLists.size() == 1);
- 261 auto const&
signers = signerLists[0u];
- 262 BEAST_EXPECT(
signers.isObject());
-
-
- 265 BEAST_EXPECT(signerEntries.size() == 1);
-
-
-
-
-
- 271 Account
const demon{
"demon"};
- 272 Account
const ghost{
"ghost"};
- 273 Account
const haunt{
"haunt"};
- 274 Account
const jinni{
"jinni"};
- 275 Account
const phase{
"phase"};
- 276 Account
const shade{
"shade"};
- 277 Account
const spook{
"spook"};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 295 auto const info = env.rpc(
"json",
"account_info", withSigners);
- 296 BEAST_EXPECT(info.isMember(jss::result));
- 297 auto const&
data = info[jss::result];
- 298 BEAST_EXPECT(
data.isMember(jss::signer_lists));
- 299 auto const& signerLists =
data[jss::signer_lists];
- 300 BEAST_EXPECT(signerLists.isArray());
- 301 BEAST_EXPECT(signerLists.size() == 1);
- 302 auto const&
signers = signerLists[0u];
- 303 BEAST_EXPECT(
signers.isObject());
-
-
- 306 BEAST_EXPECT(signerEntries.size() == 8);
- 307 for (
unsigned i = 0u; i < 8; ++i)
-
-
- 310 BEAST_EXPECT(entry.size() == 2);
-
-
-
-
-
-
-
-
-
-
-
-
- 323 Account
const alice{
"alice"};
- 324 env.fund(
XRP(1000), alice);
-
-
- 327 "\"jsonrpc\": \"2.0\", "
- 328 "\"ripplerpc\": \"2.0\", "
-
- 330 "\"method\": \"account_info\", "
-
-
- 333 alice.human() +
"\"}}";
-
-
- 336 "\"jsonrpc\": \"2.0\", "
- 337 "\"ripplerpc\": \"2.0\", "
-
- 339 "\"method\": \"account_info\", "
-
-
- 342 alice.human() +
"\", " +
"\"signer_lists\": true }}";
-
-
-
- 346 auto const info = env.rpc(
"json2", withoutSigners);
-
- 348 info.isMember(jss::result) &&
- 349 info[jss::result].isMember(jss::account_data));
- 350 BEAST_EXPECT(!info[jss::result][jss::account_data].isMember(
-
-
- 353 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
-
- 355 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
- 356 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 5);
-
-
-
- 360 auto const info = env.rpc(
"json2", withSigners);
-
- 362 info.isMember(jss::result) &&
- 363 info[jss::result].isMember(jss::account_data));
- 364 auto const&
data = info[jss::result][jss::account_data];
- 365 BEAST_EXPECT(
data.isMember(jss::signer_lists));
- 366 auto const& signerLists =
data[jss::signer_lists];
- 367 BEAST_EXPECT(signerLists.isArray());
- 368 BEAST_EXPECT(signerLists.size() == 0);
-
- 370 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
-
- 372 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
- 373 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 6);
-
-
-
- 377 auto const info = env.rpc(
- 378 "json2",
'[' + withoutSigners +
", " + withSigners +
']');
-
- 380 info[0u].isMember(jss::result) &&
- 381 info[0u][jss::result].isMember(jss::account_data));
- 382 BEAST_EXPECT(!info[0u][jss::result][jss::account_data].isMember(
-
+
+
+
+
+ 245 auto const info = env.rpc(
"json",
"account_info", withoutSigners);
+ 246 BEAST_EXPECT(info.isMember(jss::result));
+ 247 BEAST_EXPECT(!info[jss::result].isMember(jss::signer_lists));
+
+
+
+ 251 auto const info = env.rpc(
"json",
"account_info", withSigners);
+ 252 BEAST_EXPECT(info.isMember(jss::result));
+ 253 auto const&
data = info[jss::result];
+ 254 BEAST_EXPECT(
data.isMember(jss::signer_lists));
+ 255 auto const& signerLists =
data[jss::signer_lists];
+ 256 BEAST_EXPECT(signerLists.isArray());
+ 257 BEAST_EXPECT(signerLists.size() == 1);
+ 258 auto const&
signers = signerLists[0u];
+ 259 BEAST_EXPECT(
signers.isObject());
+
+
+ 262 BEAST_EXPECT(signerEntries.size() == 1);
+
+
+
+
+
+ 268 Account
const demon{
"demon"};
+ 269 Account
const ghost{
"ghost"};
+ 270 Account
const haunt{
"haunt"};
+ 271 Account
const jinni{
"jinni"};
+ 272 Account
const phase{
"phase"};
+ 273 Account
const shade{
"shade"};
+ 274 Account
const spook{
"spook"};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 292 auto const info = env.rpc(
"json",
"account_info", withSigners);
+ 293 BEAST_EXPECT(info.isMember(jss::result));
+ 294 auto const&
data = info[jss::result];
+ 295 BEAST_EXPECT(
data.isMember(jss::signer_lists));
+ 296 auto const& signerLists =
data[jss::signer_lists];
+ 297 BEAST_EXPECT(signerLists.isArray());
+ 298 BEAST_EXPECT(signerLists.size() == 1);
+ 299 auto const&
signers = signerLists[0u];
+ 300 BEAST_EXPECT(
signers.isObject());
+
+
+ 303 BEAST_EXPECT(signerEntries.size() == 8);
+ 304 for (
unsigned i = 0u; i < 8; ++i)
+
+
+ 307 BEAST_EXPECT(entry.size() == 2);
+
+
+
+
+
+
+
+
+
+
+
+
+ 320 Account
const alice{
"alice"};
+ 321 env.fund(
XRP(1000), alice);
+
+
+ 324 "\"jsonrpc\": \"2.0\", "
+ 325 "\"ripplerpc\": \"2.0\", "
+
+ 327 "\"method\": \"account_info\", "
+
+
+ 330 alice.human() +
"\"}}";
+
+
+ 333 "\"jsonrpc\": \"2.0\", "
+ 334 "\"ripplerpc\": \"2.0\", "
+
+ 336 "\"method\": \"account_info\", "
+
+
+ 339 alice.human() +
"\", " +
"\"signer_lists\": true }}";
+
+
+
+ 343 auto const info = env.rpc(
"json2", withoutSigners);
+
+ 345 info.isMember(jss::result) &&
+ 346 info[jss::result].isMember(jss::account_data));
+ 347 BEAST_EXPECT(!info[jss::result][jss::account_data].isMember(
+
+
+ 350 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
+
+ 352 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
+ 353 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 5);
+
+
+
+ 357 auto const info = env.rpc(
"json2", withSigners);
+
+ 359 info.isMember(jss::result) &&
+ 360 info[jss::result].isMember(jss::account_data));
+ 361 auto const&
data = info[jss::result][jss::account_data];
+ 362 BEAST_EXPECT(
data.isMember(jss::signer_lists));
+ 363 auto const& signerLists =
data[jss::signer_lists];
+ 364 BEAST_EXPECT(signerLists.isArray());
+ 365 BEAST_EXPECT(signerLists.size() == 0);
+
+ 367 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
+
+ 369 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
+ 370 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 6);
+
+
+
+ 374 auto const info = env.rpc(
+ 375 "json2",
'[' + withoutSigners +
", " + withSigners +
']');
+
+ 377 info[0u].isMember(jss::result) &&
+ 378 info[0u][jss::result].isMember(jss::account_data));
+ 379 BEAST_EXPECT(!info[0u][jss::result][jss::account_data].isMember(
+
+
+ 382 info[0u].isMember(jss::jsonrpc) &&
+ 383 info[0u][jss::jsonrpc] ==
"2.0");
- 385 info[0u].isMember(jss::jsonrpc) &&
- 386 info[0u][jss::jsonrpc] ==
"2.0");
-
- 388 info[0u].isMember(jss::ripplerpc) &&
- 389 info[0u][jss::ripplerpc] ==
"2.0");
- 390 BEAST_EXPECT(info[0u].isMember(jss::id) && info[0u][jss::id] == 5);
-
-
- 393 info[1u].isMember(jss::result) &&
- 394 info[1u][jss::result].isMember(jss::account_data));
- 395 auto const&
data = info[1u][jss::result][jss::account_data];
- 396 BEAST_EXPECT(
data.isMember(jss::signer_lists));
- 397 auto const& signerLists =
data[jss::signer_lists];
- 398 BEAST_EXPECT(signerLists.isArray());
- 399 BEAST_EXPECT(signerLists.size() == 0);
+ 385 info[0u].isMember(jss::ripplerpc) &&
+ 386 info[0u][jss::ripplerpc] ==
"2.0");
+ 387 BEAST_EXPECT(info[0u].isMember(jss::id) && info[0u][jss::id] == 5);
+
+
+ 390 info[1u].isMember(jss::result) &&
+ 391 info[1u][jss::result].isMember(jss::account_data));
+ 392 auto const&
data = info[1u][jss::result][jss::account_data];
+ 393 BEAST_EXPECT(
data.isMember(jss::signer_lists));
+ 394 auto const& signerLists =
data[jss::signer_lists];
+ 395 BEAST_EXPECT(signerLists.isArray());
+ 396 BEAST_EXPECT(signerLists.size() == 0);
+
+ 398 info[1u].isMember(jss::jsonrpc) &&
+ 399 info[1u][jss::jsonrpc] ==
"2.0");
- 401 info[1u].isMember(jss::jsonrpc) &&
- 402 info[1u][jss::jsonrpc] ==
"2.0");
-
- 404 info[1u].isMember(jss::ripplerpc) &&
- 405 info[1u][jss::ripplerpc] ==
"2.0");
- 406 BEAST_EXPECT(info[1u].isMember(jss::id) && info[1u][jss::id] == 6);
-
+ 401 info[1u].isMember(jss::ripplerpc) &&
+ 402 info[1u][jss::ripplerpc] ==
"2.0");
+ 403 BEAST_EXPECT(info[1u].isMember(jss::id) && info[1u][jss::id] == 6);
+
+
+
+ 407 Account
const bogie{
"bogie"};
-
- 410 Account
const bogie{
"bogie"};
-
-
-
-
-
- 416 auto const info = env.rpc(
"json2", withoutSigners);
-
- 418 info.isMember(jss::result) &&
- 419 info[jss::result].isMember(jss::account_data));
- 420 BEAST_EXPECT(!info[jss::result][jss::account_data].isMember(
-
-
- 423 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
-
- 425 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
- 426 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 5);
-
-
-
- 430 auto const info = env.rpc(
"json2", withSigners);
-
- 432 info.isMember(jss::result) &&
- 433 info[jss::result].isMember(jss::account_data));
- 434 auto const&
data = info[jss::result][jss::account_data];
- 435 BEAST_EXPECT(
data.isMember(jss::signer_lists));
- 436 auto const& signerLists =
data[jss::signer_lists];
- 437 BEAST_EXPECT(signerLists.isArray());
- 438 BEAST_EXPECT(signerLists.size() == 1);
- 439 auto const&
signers = signerLists[0u];
- 440 BEAST_EXPECT(
signers.isObject());
-
-
- 443 BEAST_EXPECT(signerEntries.size() == 1);
-
-
-
- 447 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
-
- 449 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
- 450 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 6);
-
-
-
- 454 Account
const demon{
"demon"};
- 455 Account
const ghost{
"ghost"};
- 456 Account
const haunt{
"haunt"};
- 457 Account
const jinni{
"jinni"};
- 458 Account
const phase{
"phase"};
- 459 Account
const shade{
"shade"};
- 460 Account
const spook{
"spook"};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 478 auto const info = env.rpc(
"json2", withSigners);
-
- 480 info.isMember(jss::result) &&
- 481 info[jss::result].isMember(jss::account_data));
- 482 auto const&
data = info[jss::result][jss::account_data];
- 483 BEAST_EXPECT(
data.isMember(jss::signer_lists));
- 484 auto const& signerLists =
data[jss::signer_lists];
- 485 BEAST_EXPECT(signerLists.isArray());
- 486 BEAST_EXPECT(signerLists.size() == 1);
- 487 auto const&
signers = signerLists[0u];
- 488 BEAST_EXPECT(
signers.isObject());
-
-
- 491 BEAST_EXPECT(signerEntries.size() == 8);
- 492 for (
unsigned i = 0u; i < 8; ++i)
-
-
- 495 BEAST_EXPECT(entry.size() == 2);
-
-
-
-
- 500 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
-
- 502 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
- 503 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 6);
-
-
-
-
- 508 testAccountFlags(FeatureBitset
const& features)
-
-
-
- 512 Env env(*
this, features);
- 513 Account
const alice{
"alice"};
- 514 env.fund(
XRP(1000), alice);
-
-
- 517 auto const info = env.rpc(
-
-
- 520 R
"({"account" : ")" + alice.human() + R"("})");
-
-
- 523 if (info[jss::result][jss::status] ==
"success" &&
- 524 info[jss::result][jss::account_flags].isMember(fName.data()))
- 525 res.
emplace(info[jss::result][jss::account_flags][fName.data()]
-
+
+
+
+
+ 413 auto const info = env.rpc(
"json2", withoutSigners);
+
+ 415 info.isMember(jss::result) &&
+ 416 info[jss::result].isMember(jss::account_data));
+ 417 BEAST_EXPECT(!info[jss::result][jss::account_data].isMember(
+
+
+ 420 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
+
+ 422 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
+ 423 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 5);
+
+
+
+ 427 auto const info = env.rpc(
"json2", withSigners);
+
+ 429 info.isMember(jss::result) &&
+ 430 info[jss::result].isMember(jss::account_data));
+ 431 auto const&
data = info[jss::result][jss::account_data];
+ 432 BEAST_EXPECT(
data.isMember(jss::signer_lists));
+ 433 auto const& signerLists =
data[jss::signer_lists];
+ 434 BEAST_EXPECT(signerLists.isArray());
+ 435 BEAST_EXPECT(signerLists.size() == 1);
+ 436 auto const&
signers = signerLists[0u];
+ 437 BEAST_EXPECT(
signers.isObject());
+
+
+ 440 BEAST_EXPECT(signerEntries.size() == 1);
+
+
+
+ 444 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
+
+ 446 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
+ 447 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 6);
+
+
+
+ 451 Account
const demon{
"demon"};
+ 452 Account
const ghost{
"ghost"};
+ 453 Account
const haunt{
"haunt"};
+ 454 Account
const jinni{
"jinni"};
+ 455 Account
const phase{
"phase"};
+ 456 Account
const shade{
"shade"};
+ 457 Account
const spook{
"spook"};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 475 auto const info = env.rpc(
"json2", withSigners);
+
+ 477 info.isMember(jss::result) &&
+ 478 info[jss::result].isMember(jss::account_data));
+ 479 auto const&
data = info[jss::result][jss::account_data];
+ 480 BEAST_EXPECT(
data.isMember(jss::signer_lists));
+ 481 auto const& signerLists =
data[jss::signer_lists];
+ 482 BEAST_EXPECT(signerLists.isArray());
+ 483 BEAST_EXPECT(signerLists.size() == 1);
+ 484 auto const&
signers = signerLists[0u];
+ 485 BEAST_EXPECT(
signers.isObject());
+
+
+ 488 BEAST_EXPECT(signerEntries.size() == 8);
+ 489 for (
unsigned i = 0u; i < 8; ++i)
+
+
+ 492 BEAST_EXPECT(entry.size() == 2);
+
+
+
+
+ 497 info.isMember(jss::jsonrpc) && info[jss::jsonrpc] ==
"2.0");
+
+ 499 info.isMember(jss::ripplerpc) && info[jss::ripplerpc] ==
"2.0");
+ 500 BEAST_EXPECT(info.isMember(jss::id) && info[jss::id] == 6);
+
+
+
+
+ 505 testAccountFlags(FeatureBitset
const& features)
+
+
+
+ 509 Env env(*
this, features);
+ 510 Account
const alice{
"alice"};
+ 511 env.fund(
XRP(1000), alice);
+
+
+ 514 auto const info = env.rpc(
+
+
+ 517 R
"({"account" : ")" + alice.human() + R"("})");
+
+
+ 520 if (info[jss::result][jss::status] ==
"success" &&
+ 521 info[jss::result][jss::account_flags].isMember(fName.data()))
+ 522 res.
emplace(info[jss::result][jss::account_flags][fName.data()]
+
+
+
+
-
-
-
- 531 static constexpr std::
- 532 array<std::pair<std::string_view, std::uint32_t>, 7>
-
-
-
-
-
-
-
-
-
- 542 for (
auto& asf : asFlags)
-
-
-
- 546 env(
fclear(alice, asf.second));
-
- 548 auto const f1 = getAccountFlag(asf.first);
- 549 BEAST_EXPECT(f1.has_value());
- 550 BEAST_EXPECT(!f1.value());
-
-
-
- 554 env(
fset(alice, asf.second));
-
- 556 auto const f2 = getAccountFlag(asf.first);
- 557 BEAST_EXPECT(f2.has_value());
- 558 BEAST_EXPECT(f2.value());
-
-
- 561 static constexpr std::
- 562 array<std::pair<std::string_view, std::uint32_t>, 4>
- 563 disallowIncomingFlags{
-
- 565 {
"disallowIncomingNFTokenOffer",
-
-
- 568 {
"disallowIncomingTrustline",
-
-
-
-
- 573 for (
auto& asf : disallowIncomingFlags)
-
-
-
- 577 env(
fclear(alice, asf.second));
-
- 579 auto const f1 = getAccountFlag(asf.first);
- 580 BEAST_EXPECT(f1.has_value());
- 581 BEAST_EXPECT(!f1.value());
-
-
-
- 585 env(
fset(alice, asf.second));
-
- 587 auto const f2 = getAccountFlag(asf.first);
- 588 BEAST_EXPECT(f2.has_value());
- 589 BEAST_EXPECT(f2.value());
-
-
-
-
- 594 for (
auto& asf : disallowIncomingFlags)
-
- 596 BEAST_EXPECT(!getAccountFlag(asf.first));
-
-
-
-
-
-
-
-
-
- 606 testSignerListsApiVersion2();
-
-
- 609 FeatureBitset
const allFeatures{
-
- 611 testAccountFlags(allFeatures);
-
-
-
-
-
-
-
-
+ 528 static constexpr std::
+ 529 array<std::pair<std::string_view, std::uint32_t>, 7>
+
+
+
+
+
+
+
+
+
+ 539 for (
auto& asf : asFlags)
+
+
+
+ 543 env(
fclear(alice, asf.second));
+
+ 545 auto const f1 = getAccountFlag(asf.first);
+ 546 BEAST_EXPECT(f1.has_value());
+ 547 BEAST_EXPECT(!f1.value());
+
+
+
+ 551 env(
fset(alice, asf.second));
+
+ 553 auto const f2 = getAccountFlag(asf.first);
+ 554 BEAST_EXPECT(f2.has_value());
+ 555 BEAST_EXPECT(f2.value());
+
+
+ 558 static constexpr std::
+ 559 array<std::pair<std::string_view, std::uint32_t>, 4>
+ 560 disallowIncomingFlags{
+
+ 562 {
"disallowIncomingNFTokenOffer",
+
+
+ 565 {
"disallowIncomingTrustline",
+
+
+
+
+ 570 for (
auto& asf : disallowIncomingFlags)
+
+
+
+ 574 env(
fclear(alice, asf.second));
+
+ 576 auto const f1 = getAccountFlag(asf.first);
+ 577 BEAST_EXPECT(f1.has_value());
+ 578 BEAST_EXPECT(!f1.value());
+
+
+
+ 582 env(
fset(alice, asf.second));
+
+ 584 auto const f2 = getAccountFlag(asf.first);
+ 585 BEAST_EXPECT(f2.has_value());
+ 586 BEAST_EXPECT(f2.value());
+
+
+
+
+ 591 for (
auto& asf : disallowIncomingFlags)
+
+ 593 BEAST_EXPECT(!getAccountFlag(asf.first));
+
+
+
+
+
+
+
+
+
+ 603 testSignerListsApiVersion2();
+
+
+ 606 FeatureBitset
const allFeatures{
+
+ 608 testAccountFlags(allFeatures);
+
+
+
+
+
+
+
+
const SF_UINT16 sfSignerWeight
const XRP_t XRP
Converts to XRP Issue or STAmount.
@@ -699,7 +696,6 @@ $(function() {
constexpr std::uint32_t asfNoFreeze
constexpr std::uint32_t asfDisallowIncomingPayChan
-std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
const Json::StaticString jsonName
const SF_UINT32 sfSignerQuorum
constexpr std::uint32_t asfDisallowIncomingTrustline
@@ -721,7 +717,6 @@ $(function() {
Immutable cryptographic account descriptor.
const SF_ACCOUNT sfAccount
-
A transaction testing environment.
diff --git a/AccountOffers__test_8cpp_source.html b/AccountOffers__test_8cpp_source.html
index c7f1ee9462..653c9f1314 100644
--- a/AccountOffers__test_8cpp_source.html
+++ b/AccountOffers__test_8cpp_source.html
@@ -418,7 +418,7 @@ $(function() {
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
void trust(STAmount const &amount, Account const &account)
Establish trust lines.
const SF_UINT32 sfExpiration
-std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
+std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
void testSequential(bool asAdmin)
static bool checkMarker(Json::Value const &val)
diff --git a/Book__test_8cpp_source.html b/Book__test_8cpp_source.html
index 01f636a826..08bf721b7e 100644
--- a/Book__test_8cpp_source.html
+++ b/Book__test_8cpp_source.html
@@ -1841,7 +1841,7 @@ $(function() {
BEAST_DEFINE_TESTSUITE_PRIO(AccountDelete, app, ripple, 2)
void testBookOfferErrors()
-std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
+std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
Value & append(const Value &value)
Append value to array at the end.
@ objectValue
object value (collection of name/value pairs).
diff --git a/LedgerReplay__test_8cpp_source.html b/LedgerReplay__test_8cpp_source.html
index 248eac621f..f7c2073218 100644
--- a/LedgerReplay__test_8cpp_source.html
+++ b/LedgerReplay__test_8cpp_source.html
@@ -1663,7 +1663,7 @@ $(function() {
Keylet const & skip() noexcept
The index of the "short" skip list.
-std::unique_ptr< Config > port_increment(std::unique_ptr< Config >, int)
adjust the default configured server ports by a specified value
+std::unique_ptr< Config > port_increment(std::unique_ptr< Config >, int)
adjust the default configured server ports by a specified value
bool cluster() const override
Returns true if this connection is a member of the cluster.
void createLedgerHistory()
create ledger history
const beast::Journal journal
diff --git a/RPCOverload__test_8cpp_source.html b/RPCOverload__test_8cpp_source.html
index 6adf702b80..637cbf5f18 100644
--- a/RPCOverload__test_8cpp_source.html
+++ b/RPCOverload__test_8cpp_source.html
@@ -166,7 +166,7 @@ $(function() {
std::unique_ptr< AbstractClient > makeJSONRPCClient(Config const &cfg, unsigned rpc_version)
Returns a client using JSON-RPC over HTTP/S.
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
-std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
+std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
@ objectValue
object value (collection of name/value pairs).
void testOverload(bool useWS)
Seed generateSeed(std::string const &passPhrase)
Generate a seed deterministically.
diff --git a/ReportingETL__test_8cpp_source.html b/ReportingETL__test_8cpp_source.html
index 8e824a3bb9..3baf2d6175 100644
--- a/ReportingETL__test_8cpp_source.html
+++ b/ReportingETL__test_8cpp_source.html
@@ -1222,10 +1222,10 @@ $(function() {
-std::unique_ptr< Config > addGrpcConfig(std::unique_ptr< Config >)
add a grpc address and port to config
+std::unique_ptr< Config > addGrpcConfig(std::unique_ptr< Config >)
add a grpc address and port to config
-std::unique_ptr< Config > addGrpcConfigWithSecureGateway(std::unique_ptr< Config >, std::string const &secureGateway)
add a grpc address, port and secure_gateway to config
+std::unique_ptr< Config > addGrpcConfigWithSecureGateway(std::unique_ptr< Config >, std::string const &secureGateway)
add a grpc address, port and secure_gateway to config
void testNeedCurrentOrClosed()
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
bool needCurrentOrClosed(Request &request)
diff --git a/Roles__test_8cpp_source.html b/Roles__test_8cpp_source.html
index e6f1afcbf4..941fd33672 100644
--- a/Roles__test_8cpp_source.html
+++ b/Roles__test_8cpp_source.html
@@ -469,14 +469,14 @@ $(function() {
-std::unique_ptr< Config > secure_gateway(std::unique_ptr< Config >)
+std::unique_ptr< Config > secure_gateway(std::unique_ptr< Config >)
bool isValidIpAddress(std::string const &addr)
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
-std::unique_ptr< Config > admin_localnet(std::unique_ptr< Config >)
-std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
+std::unique_ptr< Config > admin_localnet(std::unique_ptr< Config >)
+std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
virtual Config & config()=0
bool isMember(const char *key) const
Return true if the object has a member named key.
@@ -484,7 +484,7 @@ $(function() {
void testInvalidIpAddresses()
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::unique_ptr< WSClient > makeWSClient(Config const &cfg, bool v2, unsigned rpc_version, std::unordered_map< std::string, std::string > const &headers)
Returns a client operating through WebSockets/S.
-std::unique_ptr< Config > secure_gateway_localnet(std::unique_ptr< Config >)
+std::unique_ptr< Config > secure_gateway_localnet(std::unique_ptr< Config >)
A transaction testing environment.
Json::Value rpc(std::unordered_map< std::string, std::string > const &headers, std::string const &cmd, Args &&... args)
Execute an RPC command.
diff --git a/ServerStatus__test_8cpp_source.html b/ServerStatus__test_8cpp_source.html
index ea070e123a..c919d706ef 100644
--- a/ServerStatus__test_8cpp_source.html
+++ b/ServerStatus__test_8cpp_source.html
@@ -1329,7 +1329,7 @@ $(function() {
void testLimit(boost::asio::yield_context &yield, int limit)
std::shared_ptr< ReadView const > closed()
Returns the last closed ledger.
@ arrayValue
array value (ordered list)
-std::unique_ptr< Config > validator(std::unique_ptr< Config >, std::string const &)
adjust configuration with params needed to be a validator
+std::unique_ptr< Config > validator(std::unique_ptr< Config >, std::string const &)
adjust configuration with params needed to be a validator
std::string base64_encode(std::uint8_t const *data, std::size_t len)
auto makeWSUpgrade(std::string const &host, uint16_t port)
diff --git a/Subscribe__test_8cpp_source.html b/Subscribe__test_8cpp_source.html
index 8a80ee747b..90680df028 100644
--- a/Subscribe__test_8cpp_source.html
+++ b/Subscribe__test_8cpp_source.html
@@ -1244,11 +1244,11 @@ $(function() {
void testHistoryTxStream()
-std::unique_ptr< Config > validator(std::unique_ptr< Config >, std::string const &)
adjust configuration with params needed to be a validator
+std::unique_ptr< Config > validator(std::unique_ptr< Config >, std::string const &)
adjust configuration with params needed to be a validator
std::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.
-std::unique_ptr< Config > port_increment(std::unique_ptr< Config >, int)
adjust the default configured server ports by a specified value
+std::unique_ptr< Config > port_increment(std::unique_ptr< Config >, int)
adjust the default configured server ports by a specified value
std::string const & human() const
Returns the human readable public key.
@@ -1262,7 +1262,7 @@ $(function() {
constexpr std::uint32_t vfFullyCanonicalSig
@ uintValue
unsigned integer value
-std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
+std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
virtual LoadManager & getLoadManager()=0
@ objectValue
object value (collection of name/value pairs).
diff --git a/ValidatorInfo__test_8cpp_source.html b/ValidatorInfo__test_8cpp_source.html
index 8f10645f65..d8f58bd88c 100644
--- a/ValidatorInfo__test_8cpp_source.html
+++ b/ValidatorInfo__test_8cpp_source.html
@@ -199,7 +199,7 @@ $(function() {
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
-std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
+std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
diff --git a/ValidatorRPC__test_8cpp_source.html b/ValidatorRPC__test_8cpp_source.html
index ac949c8a2f..c1ca83a4eb 100644
--- a/ValidatorRPC__test_8cpp_source.html
+++ b/ValidatorRPC__test_8cpp_source.html
@@ -684,7 +684,7 @@ $(function() {
const char * getEnvLocalhostAddr()
-std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
+std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
diff --git a/Version__test_8cpp_source.html b/Version__test_8cpp_source.html
index 0a688af43c..647e3a36e1 100644
--- a/Version__test_8cpp_source.html
+++ b/Version__test_8cpp_source.html
@@ -147,243 +147,254 @@ $(function() {
77 BEAST_EXPECT(badVersion(re));
-
-
-
- 82 "{\"api_version\": " +
-
- 84 BEAST_EXPECT(badVersion(re));
-
- 86 re = env.rpc(
"json",
"version",
"{\"api_version\": \"a\"}");
- 87 BEAST_EXPECT(badVersion(re));
-
-
-
-
-
- 93 testcase(
"test getAPIVersionNumber function");
+ 79 BEAST_EXPECT(env.app().config().BETA_RPC_API);
+
+
+
+ 83 "{\"api_version\": " +
+
+
+
+
+
+ 89 BEAST_EXPECT(badVersion(re));
+
+ 91 re = env.rpc(
"json",
"version",
"{\"api_version\": \"a\"}");
+ 92 BEAST_EXPECT(badVersion(re));
+
- 95 unsigned int versionIfUnspecified =
-
-
-
+
+
+
+ 98 testcase(
"test getAPIVersionNumber function");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 100 unsigned int versionIfUnspecified =
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 142 j_object[jss::api_version] =
"a";
-
-
-
-
-
-
-
-
- 151 testcase(
"batch, all good request");
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 147 j_object[jss::api_version] =
"a";
+
+
+
+
- 153 using namespace test::jtx;
-
-
- 156 auto const without_api_verion =
std::string(
"{ ") +
- 157 "\"jsonrpc\": \"2.0\", "
- 158 "\"ripplerpc\": \"2.0\", "
-
- 160 "\"method\": \"version\", "
-
-
- 163 "\"jsonrpc\": \"2.0\", "
- 164 "\"ripplerpc\": \"2.0\", "
-
- 166 "\"method\": \"version\", "
-
- 168 "\"api_version\": " +
-
-
- 171 "json2",
'[' + without_api_verion +
", " + with_api_verion +
']');
-
- 173 if (!BEAST_EXPECT(re.isArray()))
-
- 175 if (!BEAST_EXPECT(re.size() == 2))
-
-
- 178 re[0u].isMember(jss::result) &&
- 179 re[0u][jss::result].isMember(jss::version));
-
- 181 re[1u].isMember(jss::result) &&
- 182 re[1u][jss::result].isMember(jss::version));
-
-
-
-
-
- 188 testcase(
"batch, with a bad request");
+
+
+
+ 156 testcase(
"batch, all good request");
+
+ 158 using namespace test::jtx;
+
+
+ 161 auto const without_api_verion =
std::string(
"{ ") +
+ 162 "\"jsonrpc\": \"2.0\", "
+ 163 "\"ripplerpc\": \"2.0\", "
+
+ 165 "\"method\": \"version\", "
+
+
+ 168 "\"jsonrpc\": \"2.0\", "
+ 169 "\"ripplerpc\": \"2.0\", "
+
+ 171 "\"method\": \"version\", "
+
+ 173 "\"api_version\": " +
+
+
+ 176 "json2",
'[' + without_api_verion +
", " + with_api_verion +
']');
+
+ 178 if (!BEAST_EXPECT(re.isArray()))
+
+ 180 if (!BEAST_EXPECT(re.size() == 2))
+
+
+ 183 re[0u].isMember(jss::result) &&
+ 184 re[0u][jss::result].isMember(jss::version));
+
+ 186 re[1u].isMember(jss::result) &&
+ 187 re[1u][jss::result].isMember(jss::version));
+
- 190 using namespace test::jtx;
-
-
- 193 auto const without_api_verion =
std::string(
"{ ") +
- 194 "\"jsonrpc\": \"2.0\", "
- 195 "\"ripplerpc\": \"2.0\", "
-
- 197 "\"method\": \"version\", "
-
- 199 auto const with_wrong_api_verion =
std::string(
"{ ") +
+
+
+
+ 193 testcase(
"batch, with a bad request");
+
+ 195 using namespace test::jtx;
+
+
+ 198 BEAST_EXPECT(env.app().config().BETA_RPC_API);
+ 199 auto const without_api_verion =
std::string(
"{ ") +
200 "\"jsonrpc\": \"2.0\", "
201 "\"ripplerpc\": \"2.0\", "
-
+
203 "\"method\": \"version\", "
-
- 205 "\"api_version\": " +
-
-
-
- 209 '[' + without_api_verion +
", " + with_wrong_api_verion +
']');
-
- 211 if (!BEAST_EXPECT(re.isArray()))
-
- 213 if (!BEAST_EXPECT(re.size() == 2))
-
-
- 216 re[0u].isMember(jss::result) &&
- 217 re[0u][jss::result].isMember(jss::version));
- 218 BEAST_EXPECT(re[1u].isMember(jss::error));
-
+
+ 205 auto const with_wrong_api_verion =
+
+ 207 "\"jsonrpc\": \"2.0\", "
+ 208 "\"ripplerpc\": \"2.0\", "
+
+ 210 "\"method\": \"version\", "
+
+ 212 "\"api_version\": " +
+
+
+
+
+
+
+ 219 '[' + without_api_verion +
", " + with_wrong_api_verion +
']');
-
-
-
- 224 testcase(
"config test");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 246 testcase(
"test version RPC with api_version >= 2");
-
- 248 using namespace test::jtx;
-
- 250 c->loadFromString(
"\n[beta_rpc_api]\n1\n");
-
-
- 253 if (!BEAST_EXPECT(env.app().config().BETA_RPC_API ==
true))
-
-
-
-
-
-
-
-
- 262 if (!BEAST_EXPECT(jrr.isMember(jss::version)))
-
- 264 if (!BEAST_EXPECT(jrr[jss::version].isMember(jss::first)) &&
- 265 jrr[jss::version].isMember(jss::last))
-
-
-
-
-
+ 221 if (!BEAST_EXPECT(re.isArray()))
+
+ 223 if (!BEAST_EXPECT(re.size() == 2))
+
+
+ 226 re[0u].isMember(jss::result) &&
+ 227 re[0u][jss::result].isMember(jss::version));
+ 228 BEAST_EXPECT(re[1u].isMember(jss::error));
+
+
+
+
+
+ 234 testcase(
"config test");
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 256 testcase(
"test version RPC with api_version >= 2");
+
+ 258 using namespace test::jtx;
+
+ 260 c->loadFromString(
"\n[beta_rpc_api]\n1\n");
+
+
+ 263 if (!BEAST_EXPECT(env.app().config().BETA_RPC_API ==
true))
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 272 if (!BEAST_EXPECT(jrr.isMember(jss::version)))
+
+ 274 if (!BEAST_EXPECT(jrr[jss::version].isMember(jss::first)) &&
+ 275 jrr[jss::version].isMember(jss::last))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
constexpr unsigned int apiInvalidVersion
API version numbers used in later API versions.
constexpr unsigned int apiVersionIfUnspecified
-
+
BEAST_DEFINE_TESTSUITE(AccountTxPaging, app, ripple)
@ arrayValue
array value (ordered list)
unsigned int getAPIVersionNumber(Json::Value const &jv, bool betaEnabled)
Retrieve the api version number from the json value.
-
+
constexpr unsigned int apiBetaVersion
void loadFromString(std::string const &fileContents)
Load the config from the contents of the string.
@ objectValue
object value (collection of name/value pairs).
-
+
void testCorrectVersionNumber()
-
+
constexpr unsigned int apiMinimumSupportedVersion
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
-void testGetAPIVersionNumber()
+void testGetAPIVersionNumber()
constexpr unsigned int apiMaximumSupportedVersion
void testWrongVersionNumber()
+
-
+
- Returns
- unique_ptr to Config instance
-Definition at line 116 of file envconfig.cpp.
+Definition at line 119 of file envconfig.cpp.
@@ -1135,7 +1135,7 @@ template<class F , class... Args>
- Returns
- unique_ptr to Config instance
-Definition at line 125 of file envconfig.cpp.
+Definition at line 128 of file envconfig.cpp.
@@ -1164,7 +1164,7 @@ template<class F , class... Args>
-Definition at line 140 of file envconfig.cpp.
+Definition at line 143 of file envconfig.cpp.
@@ -1203,7 +1203,7 @@ template<class F , class... Args>
-Definition at line 149 of file envconfig.cpp.
+Definition at line 152 of file envconfig.cpp.
@@ -1994,7 +1994,7 @@ template<class... Args>
diff --git a/reduce__relay__test_8cpp_source.html b/reduce__relay__test_8cpp_source.html
index c22c70ebb3..6b456a46f8 100644
--- a/reduce__relay__test_8cpp_source.html
+++ b/reduce__relay__test_8cpp_source.html
@@ -1670,7 +1670,7 @@ $(function() {
std::uint32_t id_t
Uniquely identifies a peer.
void printPeers(const std::string &msg, std::uint16_t validator=0)
-std::unique_ptr< Config > validator(std::unique_ptr< Config >, std::string const &)
adjust configuration with params needed to be a validator
+std::unique_ptr< Config > validator(std::unique_ptr< Config >, std::string const &)
adjust configuration with params needed to be a validator