1#include <xrpld/app/consensus/RCLCxPeerPos.h>
3#include <xrpl/basics/Slice.h>
4#include <xrpl/basics/base_uint.h>
5#include <xrpl/basics/chrono.h>
6#include <xrpl/beast/utility/instrumentation.h>
7#include <xrpl/json/json_value.h>
8#include <xrpl/protocol/PublicKey.h>
9#include <xrpl/protocol/Serializer.h>
10#include <xrpl/protocol/jss.h>
11#include <xrpl/protocol/tokens.h>
29 "xrpl::RCLCxPeerPos::RCLCxPeerPos : valid signature size");
58 Slice const& publicKey,
59 Slice const& signature)
json::Value getJson() const
Get JSON representation for debugging.
std::chrono::time_point< NetClock > time_point
PublicKey const & publicKey() const
Public key of peer that sent the proposal.
RCLCxPeerPos(PublicKey const &publicKey, Slice const &signature, uint256 const &suppress, Proposal const &proposal)
Constructor.
ConsensusProposal< NodeID, uint256, uint256 > Proposal
Slice signature() const
Signature of the proposal (not necessarily verified).
boost::container::static_vector< std::uint8_t, 72 > signature_
bool checkSign() const
Verify the signing hash of the proposal.
Proposal const & proposal() const
json::Value getJson() const
JSON representation of proposal.
int addBitString(BaseUInt< Bits, Tag > const &v)
uint256 getSHA512Half() const
int addVL(Blob const &vector)
An immutable linear range of bytes.
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::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.
uint256 proposalUniqueId(uint256 const &proposeHash, uint256 const &previousLedger, std::uint32_t proposeSeq, NetClock::time_point closeTime, Slice const &publicKey, Slice const &signature)
Calculate a unique identifier for a signed proposal.
T time_since_epoch(T... args)