From 25e65f739f1dc46efa5630e5d388af430ee75c0b Mon Sep 17 00:00:00 2001 From: Richard Holland Date: Thu, 2 Feb 2023 22:45:11 +0000 Subject: [PATCH] bug fix server_definitions --- src/ripple/rpc/handlers/ServerInfo.cpp | 19 +++++++++++++++++-- src/ripple/rpc/impl/Handler.cpp | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/ripple/rpc/handlers/ServerInfo.cpp b/src/ripple/rpc/handlers/ServerInfo.cpp index d44ff0475..883a64b00 100644 --- a/src/ripple/rpc/handlers/ServerInfo.cpp +++ b/src/ripple/rpc/handlers/ServerInfo.cpp @@ -286,7 +286,7 @@ private: tc == 19U /* Vector256 */); innerObj[jss::isSerialized] = - (tc >= + (tc < 10000); /* TRANSACTION, LEDGER_ENTRY, VALIDATION, METADATA */ innerObj[jss::isSigningField] = f->shouldInclude(false); @@ -314,10 +314,25 @@ private: for (auto [value, name] : magic_enum::enum_entries()) ret[jss::TRANSACTION_RESULTS][STR(name)] = std::stoi(STR(value)); + + auto const translate_tt = [](std::string inp) -> std::string { + if (inp == "PaychanClaim") + return "PaymentChannelClaim"; + if (inp == "PaychanCreate") + return "PaymentChannelCreate"; + if (inp == "PaychanFund") + return "PaymentChannelFund"; + if (inp == "RegularKeySet") + return "SetRegularKey"; + if (inp == "HookSet") + return "SetHook"; + return inp; + }; + ret[jss::TRANSACTION_TYPES] = Json::objectValue; ret[jss::TRANSACTION_TYPES][jss::Invalid] = -1; for (auto [value, name] : magic_enum::enum_entries()) - ret[jss::TRANSACTION_TYPES][translate(STR(name).substr(2))] = + ret[jss::TRANSACTION_TYPES][translate_tt(translate(STR(name).substr(2)))] = std::stoi(STR(value)); // generate hash diff --git a/src/ripple/rpc/impl/Handler.cpp b/src/ripple/rpc/impl/Handler.cpp index 14226abf2..41e89d32d 100644 --- a/src/ripple/rpc/impl/Handler.cpp +++ b/src/ripple/rpc/impl/Handler.cpp @@ -146,6 +146,7 @@ Handler const handlerArray[]{ byRef(&doSubmitMultiSigned), Role::USER, NEEDS_CURRENT_LEDGER}, + {"server_definitions", byRef(&doServerDefinitions), Role::USER, NO_CONDITION},