10using namespace vrf_wrapper;
16 explicit InvalidVdfSortition(std::string
const& msg) : runtime_error(
"Invalid VdfSortition: " + msg) {}
21 uint64_t total_vote_count);
28 uint64_t vote_count, uint64_t total_vote_count)
const;
37 virtual std::ostream&
print(std::ostream& strm)
const override {
55 "3d1055a514e17cce1290ccb5befb256b00b8aac664e39e754466fcd631004c9e23d16f23"
56 "9aee2a207e5173a7ee8f90ee9ab9b6a745d27c6e850e7ca7332388dfef7e5bbe6267d1f7"
57 "9f9330e44715b3f2066f903081836c1c83ca29126f8fdc5f5922bf3f9ddb4540171691ac"
58 "cc1ef6a34b2a804a18159c89c39b16edee2ede35");
Definition FixedHash.h:35
Definition sortition.hpp:13
auto getComputationTime() const
Definition sortition.hpp:47
bytes rlp() const
Definition sortition.cpp:52
bool isStale(SortitionParams const &config) const
Definition sortition.cpp:18
void verifyVdf(SortitionParams const &config, bytes const &vrf_input, const vrf_pk_t &pk, bytes const &vdf_input, uint64_t vote_count, uint64_t total_vote_count) const
Definition sortition.cpp:81
uint16_t calculateDifficulty(SortitionParams const &config) const
Definition sortition.cpp:20
void computeVdfSolution(const SortitionParams &config, const bytes &msg, const std::atomic_bool &cancelled)
Definition sortition.cpp:71
uint16_t difficulty_
Definition sortition.hpp:63
friend std::ostream & operator<<(std::ostream &strm, VdfSortition const &vdf)
Definition sortition.hpp:45
bool operator!=(VdfSortition const &other) const
Definition sortition.hpp:35
bool verifyVrf(const vrf_pk_t &pk, const bytes &vrf_input, uint16_t vote_count) const
Definition sortition.cpp:107
bool operator==(VdfSortition const &other) const
Definition sortition.hpp:31
uint16_t getDifficulty() const
Definition sortition.cpp:111
Json::Value getJson() const
Definition sortition.cpp:62
static const uint32_t kVotesProportion
Definition sortition.hpp:65
static const uint32_t kThresholdCorrection
Definition sortition.hpp:66
unsigned long vdf_computation_time_
Definition sortition.hpp:62
std::pair< bytes, bytes > vdf_sol_
Definition sortition.hpp:61
static dev::bytes N
Definition sortition.hpp:54
virtual std::ostream & print(std::ostream &strm) const override
Definition sortition.hpp:37
Definition vrf_wrapper.hpp:25
bool operator==(VrfSortitionBase const &other) const
Definition vrf_wrapper.hpp:41
virtual std::ostream & print(std::ostream &strm) const
Definition vrf_wrapper.hpp:43
std::vector<::byte > bytes
Definition Common.h:46
std::string toHex(Iterator _it, Iterator _end, std::string const &_prefix)
Definition CommonData.h:28
bytes asBytes(std::string const &_b)
Converts a string to a byte array containing the string's (byte) data.
Definition CommonData.h:87
Definition sortition.hpp:8
std::vector< byte > bytes
Definition types.hpp:53
Definition sortition.hpp:15
InvalidVdfSortition(std::string const &msg)
Definition sortition.hpp:16