20#include <xrpl/basics/Log.h>
21#include <xrpl/basics/safe_cast.h>
22#include <xrpl/beast/utility/instrumentation.h>
23#include <xrpl/json/json_value.h>
24#include <xrpl/protocol/LedgerFormats.h>
25#include <xrpl/protocol/Permissions.h>
26#include <xrpl/protocol/SField.h>
27#include <xrpl/protocol/STBase.h>
28#include <xrpl/protocol/STInteger.h>
29#include <xrpl/protocol/Serializer.h>
30#include <xrpl/protocol/TER.h>
31#include <xrpl/protocol/TxFormats.h>
58 if (
getFName() == sfTransactionResult)
67 <<
"Unknown result code in metadata: " <<
value_;
78 if (
getFName() == sfTransactionResult)
87 <<
"Unknown result code in metadata: " <<
value_;
113 if (
getFName() == sfLedgerEntryType)
116 safe_cast<LedgerEntryType>(
value_));
119 return item->getName();
122 if (
getFName() == sfTransactionType)
128 return item->getName();
138 if (
getFName() == sfLedgerEntryType)
141 safe_cast<LedgerEntryType>(
value_));
144 return item->getName();
147 if (
getFName() == sfTransactionType)
153 return item->getName();
178 if (
getFName() == sfPermissionValue)
180 auto const permissionName =
183 return *permissionName;
192 if (
getFName() == sfPermissionValue)
194 auto const permissionName =
197 return *permissionName;
229 auto convertToString = [](uint64_t
const value,
int const base) {
231 base == 10 || base == 16,
232 "ripple::STUInt64::getJson : base 10 or 16");
234 base == 10 ? 20 : 16, 0);
239 "ripple::STUInt64::getJson : to_chars succeeded");
246 return convertToString(
value_, 10);
249 return convertToString(
value_, 16);
std::optional< std::string > getPermissionName(std::uint32_t const value) const
static Permission const & getInstance()
bool shouldMeta(int c) const
SField const & getFName() const
Json::Value getJson(JsonOptions) const override
std::string getText() const override
value_type value() const noexcept
SerializedTypeID getSType() const override
static constexpr TERSubset fromInt(int from)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
beast::Journal debugLog()
Returns a debug journal.
bool transResultInfo(TER code, std::string &token, std::string &text)
Note, should be treated as flags that can be | and &.