![]() |
PIVX Core
5.6.99
P2P Digital Currency
|
An object of this class represents a quorum which was mined on-chain (through a quorum commitment) It at least contains information about the members and the quorum public key which is needed to verify recovered signatures from this quorum. More...
#include <quorums.h>
Public Member Functions | |
| CQuorum (const Consensus::LLMQParams &_params, CBLSWorker &_blsWorker) | |
| ~CQuorum () | |
| void | Init (const CFinalCommitment &_qc, const CBlockIndex *_pindexQuorum, const uint256 &_minedBlockHash, const std::vector< CDeterministicMNCPtr > &_members) |
| bool | IsMember (const uint256 &proTxHash) const |
| bool | IsValidMember (const uint256 &proTxHash) const |
| int | GetMemberIndex (const uint256 &proTxHash) const |
| CBLSPublicKey | GetPubKeyShare (size_t memberIdx) const |
| CBLSSecretKey | GetSkShare () const |
Public Attributes | |
| const Consensus::LLMQParams & | params |
| CFinalCommitment | qc |
| const CBlockIndex * | pindexQuorum |
| uint256 | minedBlockHash |
| std::vector< CDeterministicMNCPtr > | members |
| BLSVerificationVectorPtr | quorumVvec |
| CBLSSecretKey | skShare |
Private Member Functions | |
| void | WriteContributions (CEvoDB &evoDb) |
| bool | ReadContributions (CEvoDB &evoDb) |
Static Private Member Functions | |
| static void | StartCachePopulatorThread (std::shared_ptr< CQuorum > _this) |
Private Attributes | |
| CBLSWorkerCache | blsCache |
| std::atomic< bool > | stopCachePopulatorThread |
| std::thread | cachePopulatorThread |
Friends | |
| class | CQuorumManager |
An object of this class represents a quorum which was mined on-chain (through a quorum commitment) It at least contains information about the members and the quorum public key which is needed to verify recovered signatures from this quorum.
In case the local node is a member of the same quorum and successfully participated in the DKG, the quorum object will also contain the secret key share and the quorum verification vector. The quorum vvec is then used to recover the public key shares of individual members, which are needed to verify signature shares of these members.
|
inline |
| llmq::CQuorum::~CQuorum | ( | ) |
Definition at line 44 of file quorums.cpp.
| int llmq::CQuorum::GetMemberIndex | ( | const uint256 & | proTxHash | ) | const |
Definition at line 97 of file quorums.cpp.
| CBLSPublicKey llmq::CQuorum::GetPubKeyShare | ( | size_t | memberIdx | ) | const |
| CBLSSecretKey llmq::CQuorum::GetSkShare | ( | ) | const |
Definition at line 92 of file quorums.cpp.
| void llmq::CQuorum::Init | ( | const CFinalCommitment & | _qc, |
| const CBlockIndex * | _pindexQuorum, | ||
| const uint256 & | _minedBlockHash, | ||
| const std::vector< CDeterministicMNCPtr > & | _members | ||
| ) |
Definition at line 55 of file quorums.cpp.
| bool llmq::CQuorum::IsMember | ( | const uint256 & | proTxHash | ) | const |
Definition at line 63 of file quorums.cpp.
| bool llmq::CQuorum::IsValidMember | ( | const uint256 & | proTxHash | ) | const |
Definition at line 73 of file quorums.cpp.
|
private |
Definition at line 119 of file quorums.cpp.
|
staticprivate |
Definition at line 137 of file quorums.cpp.
|
private |
|
friend |
|
mutableprivate |
| std::vector<CDeterministicMNCPtr> llmq::CQuorum::members |
| const Consensus::LLMQParams& llmq::CQuorum::params |
| const CBlockIndex* llmq::CQuorum::pindexQuorum |
| CFinalCommitment llmq::CQuorum::qc |
| BLSVerificationVectorPtr llmq::CQuorum::quorumVvec |
| CBLSSecretKey llmq::CQuorum::skShare |
|
private |