20#include <xrpl/basics/Log.h>
21#include <xrpl/basics/contract.h>
22#include <xrpl/json/to_string.h>
23#include <xrpl/protocol/HashPrefix.h>
24#include <xrpl/protocol/STValidation.h>
37 return emplace(n, buf, std::move(*
this));
112 "ripple::STValidation::isValid : valid key type");
Defines the fields and their attributes within a STObject.
A type which can be exported to a well known binary format.
static STBase * emplace(std::size_t n, void *buf, T &&val)
Blob getFieldVL(SField const &field) const
std::uint32_t getFieldU32(SField const &field) const
void add(Serializer &s) const override
uint256 getSigningHash(HashPrefix prefix) const
std::uint32_t getFlags() const
uint256 getFieldH256(SField const &field) const
PublicKey const & getSignerPublic() const noexcept
uint256 getConsensusHash() const
std::optional< bool > valid_
Blob getSerialized() const
NetClock::time_point getSeenTime() const noexcept
static SOTemplate const & validationFormat()
bool isFull() const noexcept
NetClock::time_point seenTime_
STBase * copy(std::size_t n, void *buf) const override
uint256 getLedgerHash() const
bool isValid() const noexcept
uint256 getSigningHash() const
Blob getSignature() const
STBase * move(std::size_t n, void *buf) override
NetClock::time_point getSignTime() const
Blob const & peekData() const
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
bool verifyDigest(PublicKey const &publicKey, uint256 const &digest, Slice const &sig, bool mustBeFullyCanonical=true) noexcept
Verify a secp256k1 signature on the digest of a message.
std::optional< KeyType > publicKeyType(Slice const &slice)
Returns the type of public key.
std::enable_if_t< std::is_same< T, char >::value||std::is_same< T, unsigned char >::value, Slice > makeSlice(std::array< T, N > const &a)
constexpr std::uint32_t vfFullyCanonicalSig
constexpr std::uint32_t vfFullValidation
@ validation
validation for signing