50 std::vector<ValidatorVoteCountChange>&& validator_votes_count_changes);
139 mutable std::optional<blk_hash_t>
hash_;
147 PillarBlockData(std::shared_ptr<PillarBlock> block,
const std::vector<std::shared_ptr<PillarVote>>& pillar_votes);
150 Json::Value
getJson(
bool include_signatures)
const;
Definition FixedHash.h:35
#define HAS_RLP_FIELDS
Definition encoding_rlp.hpp:208
std::vector< state_api::ValidatorVoteCount > vote_counts
Definition pillar_block.hpp:157
h256 bridge_root_
Definition pillar_block.hpp:131
PillarBlockData(std::shared_ptr< PillarBlock > block, const std::vector< std::shared_ptr< PillarVote > > &pillar_votes)
const uint64_t & getEpoch() const
Definition pillar_block.cpp:55
static constexpr uint8_t kFieldsInVoteCount
Definition pillar_block.hpp:102
static PillarBlock decodeSolidity(const bytes &enc)
Decodes solidity encoded representation of pillar block.
Definition pillar_block.cpp:116
const h256 & getBridgeRoot() const
Definition pillar_block.cpp:53
std::shared_ptr< pillar_chain::PillarBlock > pillar_block
Definition pillar_block.hpp:156
blk_hash_t getPreviousBlockHash() const
Definition pillar_block.cpp:45
dev::bytes encodeSolidity() const
Definition pillar_block.cpp:90
Json::Value getJson(bool include_signatures) const
Definition pillar_block.cpp:164
std::optional< blk_hash_t > hash_
Definition pillar_block.hpp:139
static constexpr uint8_t kFieldsSize
Definition pillar_block.hpp:100
static const size_t kRlpItemCount
Definition pillar_block.hpp:152
uint64_t epoch_
Definition pillar_block.hpp:134
blk_hash_t previous_pillar_block_hash_
Definition pillar_block.hpp:128
std::shared_ptr< PillarBlock > block_
Definition pillar_block.hpp:144
PbftPeriod pbft_period_
Definition pillar_block.hpp:122
std::vector< ValidatorVoteCountChange > validators_votes_count_changes_
Definition pillar_block.hpp:137
dev::bytes getRlp() const
Definition pillar_block.cpp:41
dev::bytes getRlp() const
Definition pillar_block.cpp:156
PbftPeriod getPeriod() const
Definition pillar_block.cpp:43
h256 state_root_
Definition pillar_block.hpp:125
Json::Value getJson() const
Definition pillar_block.cpp:70
std::shared_mutex hash_mutex_
Definition pillar_block.hpp:140
blk_hash_t getHash() const
Definition pillar_block.cpp:57
const std::vector< ValidatorVoteCountChange > & getValidatorsVoteCountsChanges() const
Definition pillar_block.cpp:47
const h256 & getStateRoot() const
Definition pillar_block.cpp:51
std::vector< std::shared_ptr< PillarVote > > pillar_votes_
Definition pillar_block.hpp:145
static constexpr uint8_t kArrayPosAndSize
Definition pillar_block.hpp:101
PillarBlock contains merkle root of all finalized blocks created in the last epoch.
Definition pillar_block.hpp:25
Definition pillar_block.hpp:155
Definition pillar_block.hpp:143
std::vector<::byte > bytes
Definition Common.h:46
Definition app_base.hpp:25
std::vector< byte > bytes
Definition types.hpp:53
EthBlockNumber PbftPeriod
Definition types.hpp:25
Definition pillar_block.hpp:28
ValidatorVoteCountChange(ValidatorVoteCountChange &&)=default
~ValidatorVoteCountChange()=default
addr_t addr_
Definition pillar_block.hpp:29
ValidatorVoteCountChange(const ValidatorVoteCountChange &)=default
ValidatorVoteCountChange & operator=(const ValidatorVoteCountChange &)=default
ValidatorVoteCountChange & operator=(ValidatorVoteCountChange &&)=default
int32_t vote_count_change_
Definition pillar_block.hpp:30
ValidatorVoteCountChange()=default