27 std::vector<vote_hash_t>&& reward_votes,
const std::optional<PbftBlockExtraData>& extra_data = {});
70 static Json::Value
toJson(
const PbftBlock& b,
const std::vector<blk_hash_t>& dag_blks);
Class for writing to an RLP bytestream.
Definition RLP.h:484
#define HAS_RLP_FIELDS
Definition encoding_rlp.hpp:208
PbftPeriod getPeriod() const
Get period number.
Definition pbft_block.hpp:106
auto getExtraData() const
Get extra data.
Definition pbft_block.hpp:118
blk_hash_t order_hash_
Definition pbft_block.hpp:152
auto getTimestamp() const
Get timestamp.
Definition pbft_block.hpp:112
std::vector< vote_hash_t > reward_votes_
Definition pbft_block.hpp:158
void calculateHash_()
Set PBFT block hash and block proposer address.
Definition pbft_block.cpp:58
void checkUniqueRewardVotes()
Check if all rewards votes are unique.
Definition pbft_block.cpp:71
blk_hash_t dag_block_hash_as_pivot_
Definition pbft_block.hpp:151
blk_hash_t final_chain_hash_
Definition pbft_block.hpp:153
const auto & getOrderHash() const
Get DAG blocks ordering hash.
Definition pbft_block.hpp:94
std::optional< PbftBlockExtraData > extra_data_
Definition pbft_block.hpp:159
PbftPeriod period_
Definition pbft_block.hpp:154
Json::Value getJson() const
Get PBFT block in JSON.
Definition pbft_block.cpp:86
addr_t beneficiary_
Definition pbft_block.hpp:156
const auto & getPrevBlockHash() const
Get previous PBFT block hash.
Definition pbft_block.hpp:82
sig_t signature_
Definition pbft_block.hpp:157
static Json::Value toJson(const PbftBlock &b, const std::vector< blk_hash_t > &dag_blks)
Get PBFT block with DAG blocks in JSON.
Definition pbft_block.cpp:47
blk_hash_t block_hash_
Definition pbft_block.hpp:149
uint64_t timestamp_
Definition pbft_block.hpp:155
const auto & getFinalChainHash() const
Get final chain hash to tie final chain to the PBFT chain.
Definition pbft_block.hpp:100
std::string getJsonStr() const
Get PBFT block in string.
Definition pbft_block.cpp:84
void streamRLP(dev::RLPStream &strm, bool include_sig) const
Stream RLP uses to setup PBFT block hash.
Definition pbft_block.cpp:107
bytes rlp(bool include_sig) const
Recursive Length Prefix.
Definition pbft_block.cpp:127
const auto & getPivotDagBlockHash() const
Get DAG anchor hash for the finalized PBFT block.
Definition pbft_block.hpp:88
auto getExtraDataRlp() const
Get extra data rlp.
Definition pbft_block.hpp:124
blk_hash_t sha3(bool include_sig) const
Secure Hash Algorithm 3.
Definition pbft_block.cpp:82
blk_hash_t prev_block_hash_
Definition pbft_block.hpp:150
const auto & getBeneficiary() const
Get PBFT block proposer address.
Definition pbft_block.hpp:130
const auto & getBlockHash() const
Get PBFT block hash.
Definition pbft_block.hpp:76
const auto & getRewardVotes() const
Definition pbft_block.hpp:132
The PbftBlock class is a PBFT block class that includes PBFT block hash, previous PBFT block hash,...
Definition pbft_block.hpp:22
std::vector< byte > bytes
Definition types.hpp:53
EthBlockNumber PbftPeriod
Definition types.hpp:25
std::ostream & operator<<(std::ostream &strm, const FullNodeConfig &conf)
Definition config.cpp:188