1#include <xrpl/basics/Blob.h>
2#include <xrpl/basics/Slice.h>
3#include <xrpl/basics/base_uint.h>
4#include <xrpl/basics/chrono.h>
5#include <xrpl/beast/utility/instrumentation.h>
6#include <xrpl/protocol/HashPrefix.h>
7#include <xrpl/protocol/KeyType.h>
8#include <xrpl/protocol/PublicKey.h>
9#include <xrpl/protocol/SField.h>
10#include <xrpl/protocol/SOTemplate.h>
11#include <xrpl/protocol/STBase.h>
12#include <xrpl/protocol/STObject.h>
13#include <xrpl/protocol/STValidation.h>
14#include <xrpl/protocol/Serializer.h>
30 return emplace(n, buf, std::move(*
this));
104 "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