PIVX Core  5.6.99
P2P Digital Currency
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
llmq Namespace Reference

Namespaces

 utils
 

Classes

class  CQuorum
 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...
 
class  CQuorumManager
 The quorum manager maintains quorums which were mined on chain. More...
 
class  CQuorumBlockProcessor
 
class  CChainLockSig
 
class  CChainLocksHandler
 
class  CFinalCommitment
 
class  LLMQCommPL
 
class  CDKGDebugMemberStatus
 
class  CDKGDebugSessionStatus
 
class  CDKGDebugStatus
 
class  CDKGDebugManager
 
class  CDKGLogger
 
class  CDKGContribution
 
class  CDKGComplaint
 
class  CDKGJustification
 
class  CDKGPrematureCommitment
 
class  CDKGMember
 
class  CDKGSession
 The DKG session is a single instance of the DKG process. More...
 
class  AbortPhaseException
 
class  CDKGPendingMessages
 Acts as a FIFO queue for incoming DKG messages. More...
 
class  CDKGSessionHandler
 Handles multiple sequential sessions of one specific LLMQ type. More...
 
class  CDKGSessionManager
 
class  CRecoveredSig
 
class  CRecoveredSigsDb
 
class  CRecoveredSigsListener
 
class  CSigningManager
 
class  CSigShare
 
class  CSigSesAnn
 
class  CSigSharesInv
 
class  CBatchedSigShares
 
class  SigShareMap
 
class  CSigSharesNodeState
 
class  CSignedSession
 
class  CSigSharesManager
 

Typedefs

typedef std::shared_ptr< CQuorumCQuorumPtr
 
typedef std::shared_ptr< const CQuorumCQuorumCPtr
 
typedef std::pair< uint256, uint16_t > SigShareKey
 

Enumerations

enum  QuorumPhase {
  QuorumPhase_None = -1 , QuorumPhase_Initialized = 1 , QuorumPhase_Contribute , QuorumPhase_Complain ,
  QuorumPhase_Justify , QuorumPhase_Commit , QuorumPhase_Finalize , QuorumPhase_Idle
}
 

Functions

uint256 DeterministicOutboundConnection (const uint256 &proTxHash1, const uint256 &proTxHash2)
 
std::set< uint256GetQuorumRelayMembers (const std::vector< CDeterministicMNCPtr > &mnList, unsigned int forMemberIndex)
 
std::set< size_t > CalcDeterministicWatchConnections (Consensus::LLMQType llmqType, const CBlockIndex *pindexQuorum, size_t memberCount, size_t connectionCount)
 
void EnsureLatestQuorumConnections (Consensus::LLMQType llmqType, const CBlockIndex *pindexNew, const uint256 &myProTxHash, std::vector< CQuorumCPtr > &lastQuorums)
 
void EnsureQuorumConnections (Consensus::LLMQType llmqType, const CBlockIndex *pindexQuorum, const uint256 &myProTxHash)
 
void AddQuorumProbeConnections (Consensus::LLMQType llmqType, const CBlockIndex *pindexQuorum, const uint256 &myProTxHash)
 
bool SetSimulatedDKGErrorRate (const std::string &error_type, double rate)
 
template<typename Message >
std::set< NodeIdBatchVerifyMessageSigs (CDKGSession &session, const std::vector< std::pair< NodeId, std::shared_ptr< Message >>> &messages)
 
void InitLLMQSystem (CEvoDB &evoDb, CScheduler *scheduler, bool unitTests)
 
void DestroyLLMQSystem ()
 
void StartLLMQSystem ()
 
void StopLLMQSystem ()
 
void InterruptLLMQSystem ()
 

Variables

std::unique_ptr< CQuorumManagerquorumManager {nullptr}
 
std::unique_ptr< CQuorumBlockProcessorquorumBlockProcessor {nullptr}
 
std::unique_ptr< CChainLocksHandlerchainLocksHandler {nullptr}
 
std::unique_ptr< CDKGDebugManagerquorumDKGDebugManager {nullptr}
 
std::unique_ptr< CDKGSessionManagerquorumDKGSessionManager {nullptr}
 
CBLSWorkerblsWorker
 
CDBWrapperllmqDb
 
std::unique_ptr< CSigningManagerquorumSigningManager {nullptr}
 
std::unique_ptr< CSigSharesManagerquorumSigSharesManager {nullptr}
 

Typedef Documentation

◆ CQuorumCPtr

typedef std::shared_ptr<const CQuorum> llmq::CQuorumCPtr

Definition at line 72 of file quorums.h.

◆ CQuorumPtr

typedef std::shared_ptr<CQuorum> llmq::CQuorumPtr

Definition at line 71 of file quorums.h.

◆ SigShareKey

typedef std::pair<uint256, uint16_t> llmq::SigShareKey

Definition at line 32 of file quorums_signing_shares.h.

Enumeration Type Documentation

◆ QuorumPhase

Enumerator
QuorumPhase_None 
QuorumPhase_Initialized 
QuorumPhase_Contribute 
QuorumPhase_Complain 
QuorumPhase_Justify 
QuorumPhase_Commit 
QuorumPhase_Finalize 
QuorumPhase_Idle 

Definition at line 16 of file quorums_dkgsessionhandler.h.

Function Documentation

◆ AddQuorumProbeConnections()

void llmq::AddQuorumProbeConnections ( Consensus::LLMQType  llmqType,
const CBlockIndex pindexQuorum,
const uint256 myProTxHash 
)

Definition at line 185 of file quorums_connections.cpp.

Here is the call graph for this function:

◆ BatchVerifyMessageSigs()

template<typename Message >
std::set<NodeId> llmq::BatchVerifyMessageSigs ( CDKGSession session,
const std::vector< std::pair< NodeId, std::shared_ptr< Message >>> &  messages 
)

Definition at line 336 of file quorums_dkgsessionhandler.cpp.

Here is the call graph for this function:

◆ CalcDeterministicWatchConnections()

std::set< size_t > llmq::CalcDeterministicWatchConnections ( Consensus::LLMQType  llmqType,
const CBlockIndex pindexQuorum,
size_t  memberCount,
size_t  connectionCount 
)

Definition at line 87 of file quorums_connections.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DestroyLLMQSystem()

void llmq::DestroyLLMQSystem ( )

Definition at line 38 of file quorums_init.cpp.

Here is the caller graph for this function:

◆ DeterministicOutboundConnection()

uint256 llmq::DeterministicOutboundConnection ( const uint256 proTxHash1,
const uint256 proTxHash2 
)

Definition at line 21 of file quorums_connections.cpp.

Here is the call graph for this function:

◆ EnsureLatestQuorumConnections()

void llmq::EnsureLatestQuorumConnections ( Consensus::LLMQType  llmqType,
const CBlockIndex pindexNew,
const uint256 myProTxHash,
std::vector< CQuorumCPtr > &  lastQuorums 
)

Definition at line 110 of file quorums_connections.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnsureQuorumConnections()

void llmq::EnsureQuorumConnections ( Consensus::LLMQType  llmqType,
const CBlockIndex pindexQuorum,
const uint256 myProTxHash 
)

Definition at line 139 of file quorums_connections.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetQuorumRelayMembers()

std::set< uint256 > llmq::GetQuorumRelayMembers ( const std::vector< CDeterministicMNCPtr > &  mnList,
unsigned int  forMemberIndex 
)

Definition at line 43 of file quorums_connections.cpp.

Here is the caller graph for this function:

◆ InitLLMQSystem()

void llmq::InitLLMQSystem ( CEvoDB evoDb,
CScheduler scheduler,
bool  unitTests 
)

Definition at line 24 of file quorums_init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InterruptLLMQSystem()

void llmq::InterruptLLMQSystem ( )

Definition at line 87 of file quorums_init.cpp.

Here is the caller graph for this function:

◆ SetSimulatedDKGErrorRate()

bool llmq::SetSimulatedDKGErrorRate ( const std::string &  error_type,
double  rate 
)

Definition at line 36 of file quorums_dkgsession.cpp.

Here is the caller graph for this function:

◆ StartLLMQSystem()

void llmq::StartLLMQSystem ( )

Definition at line 53 of file quorums_init.cpp.

Here is the call graph for this function:

◆ StopLLMQSystem()

void llmq::StopLLMQSystem ( )

Definition at line 70 of file quorums_init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ blsWorker

CBLSWorker* llmq::blsWorker

Definition at line 21 of file quorums_init.cpp.

◆ chainLocksHandler

std::unique_ptr< CChainLocksHandler > llmq::chainLocksHandler {nullptr}

Definition at line 24 of file quorums_chainlocks.cpp.

◆ llmqDb

CDBWrapper* llmq::llmqDb

Definition at line 22 of file quorums_init.cpp.

◆ quorumBlockProcessor

std::unique_ptr< CQuorumBlockProcessor > llmq::quorumBlockProcessor {nullptr}

Definition at line 23 of file quorums_blockprocessor.cpp.

◆ quorumDKGDebugManager

std::unique_ptr< CDKGDebugManager > llmq::quorumDKGDebugManager {nullptr}

Definition at line 17 of file quorums_debug.cpp.

◆ quorumDKGSessionManager

std::unique_ptr< CDKGSessionManager > llmq::quorumDKGSessionManager {nullptr}

Definition at line 17 of file quorums_dkgsessionmgr.cpp.

◆ quorumManager

std::unique_ptr< CQuorumManager > llmq::quorumManager {nullptr}

Definition at line 31 of file quorums.cpp.

◆ quorumSigningManager

std::unique_ptr< CSigningManager > llmq::quorumSigningManager {nullptr}

Definition at line 25 of file quorums_signing.cpp.

◆ quorumSigSharesManager

std::unique_ptr< CSigSharesManager > llmq::quorumSigSharesManager {nullptr}

Definition at line 26 of file quorums_signing_shares.cpp.