1#ifndef XRPL_APP_CONSENSUS_RCLCXPEERPOS_H_INCLUDED 
    2#define XRPL_APP_CONSENSUS_RCLCXPEERPOS_H_INCLUDED 
    4#include <xrpld/consensus/ConsensusProposal.h> 
    6#include <xrpl/basics/base_uint.h> 
    7#include <xrpl/beast/hash/hash_append.h> 
    8#include <xrpl/json/json_value.h> 
    9#include <xrpl/protocol/HashPrefix.h> 
   10#include <xrpl/protocol/PublicKey.h> 
   12#include <boost/container/static_vector.hpp> 
   91    boost::container::static_vector<std::uint8_t, 72> 
signature_;
 
   93    template <
class Hasher>
 
 
  128    Slice 
const& publicKey,
 
  129    Slice 
const& signature);
 
std::string render() const
 
std::chrono::time_point< NetClock > time_point
 
A peer's signed, proposed position for use in RCLConsensus.
 
Proposal const & proposal() const
 
boost::container::static_vector< std::uint8_t, 72 > signature_
 
bool checkSign() const
Verify the signing hash of the proposal.
 
Json::Value getJson() const
JSON representation of proposal.
 
std::string render() const
 
PublicKey const & publicKey() const
Public key of peer that sent the proposal.
 
void hash_append(Hasher &h) const
 
Slice signature() const
Signature of the proposal (not necessarily verified)
 
uint256 const & suppressionID() const
Unique id used by hash router to suppress duplicates.
 
ConsensusProposal< NodeID, uint256, uint256 > Proposal
 
An immutable linear range of bytes.
 
std::uint8_t const * data() const noexcept
Return a pointer to beginning of the storage.
 
std::enable_if_t< is_contiguously_hashable< T, Hasher >::value > hash_append(Hasher &h, T const &t) noexcept
Logically concatenate input data to a Hasher.
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
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.
 
@ proposal
proposal for signing