// Copyright (c) 2018 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef DASH_QUORUMS_UTILS_H #define DASH_QUORUMS_UTILS_H #include "consensus/params.h" #include "evo/deterministicmns.h" #include namespace llmq { class CLLMQUtils { public: // includes members which failed DKG static std::vector GetAllQuorumMembers(Consensus::LLMQType llmqType, const uint256& blockHash); static uint256 BuildCommitmentHash(uint8_t llmqType, const uint256& blockHash, const std::vector& validMembers, const CBLSPublicKey& pubKey, const uint256& vvecHash); static std::set GetQuorumConnections(Consensus::LLMQType llmqType, const uint256& blockHash, const uint256& forMember); static std::set CalcDeterministicWatchConnections(Consensus::LLMQType llmqType, const uint256& blockHash, size_t memberCount, size_t connectionCount); }; } #endif//DASH_QUORUMS_UTILS_H