Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

llmq Namespace Reference

Classes

class  AbortPhaseException
 
class  CBatchedSigShares
 
class  CChainLocksHandler
 
class  CChainLockSig
 
class  CDKGComplaint
 
class  CDKGContribution
 
class  CDKGDebugManager
 
class  CDKGDebugMemberStatus
 
class  CDKGDebugSessionStatus
 
class  CDKGDebugStatus
 
class  CDKGJustification
 
class  CDKGLogger
 
class  CDKGMember
 
class  CDKGPendingMessages
 Acts as a FIFO queue for incoming DKG messages. More...
 
class  CDKGPrematureCommitment
 
class  CDKGSession
 The DKG session is a single instance of the DKG process. More...
 
class  CDKGSessionHandler
 Handles multiple sequential sessions of one specific LLMQ type. More...
 
class  CDKGSessionManager
 
class  CFinalCommitment
 
class  CFinalCommitmentTxPayload
 
class  CInstantSendDb
 
class  CInstantSendLock
 
class  CInstantSendManager
 
class  CLLMQUtils
 
class  CQuorum
 An object of this class represents a quorum which was mined on-chain (through a quorum commitment) It at least contains informations about the members and the quorum public key which is needed to verify recovered signatures from this quorum. More...
 
class  CQuorumBlockProcessor
 
class  CQuorumManager
 The quorum manager maintains quorums which were mined on chain. More...
 
class  CRecoveredSig
 
class  CRecoveredSigsDb
 
class  CRecoveredSigsListener
 
class  CSignedSession
 
class  CSigningManager
 
class  CSigSesAnn
 
class  CSigShare
 
class  CSigSharesInv
 
class  CSigSharesManager
 
class  CSigSharesNodeState
 
class  SigShareMap
 

Typedefs

typedef std::shared_ptr< CQuorumCQuorumPtr
 
typedef std::shared_ptr< const CQuorumCQuorumCPtr
 
typedef std::shared_ptr< CInstantSendLockCInstantSendLockPtr
 
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

static uint256 MakeQuorumKey (const CQuorum &q)
 
static std::tuple< std::string, Consensus::LLMQType, uint32_t > BuildInversedHeightKey (Consensus::LLMQType llmqType, int nMinedHeight)
 
bool CheckLLMQCommitment (const CTransaction &tx, const CBlockIndex *pindexPrev, CValidationState &state)
 
void SetSimulatedDKGErrorRate (const std::string &type, double rate)
 
static double GetSimulatedErrorRate (const std::string &type)
 
static bool ShouldSimulateError (const std::string &type)
 
template<typename Message >
std::set< NodeIdBatchVerifyMessageSigs (CDKGSession &session, const std::vector< std::pair< NodeId, std::shared_ptr< Message >>> &messages)
 
template<typename Message , int MessageType>
bool ProcessPendingMessageBatch (CDKGSession &session, CDKGPendingMessages &pendingMessages, size_t maxCount)
 
void InitLLMQSystem (CEvoDB &evoDb, bool unitTests, bool fWipe)
 
void DestroyLLMQSystem ()
 
void StartLLMQSystem ()
 
void StopLLMQSystem ()
 
void InterruptLLMQSystem ()
 
static std::tuple< std::string, uint32_t, uint256BuildInversedISLockKey (const std::string &k, int nHeight, const uint256 &islockHash)
 
bool IsInstantSendEnabled ()
 
template<typename T >
static void InitSession (CSigSharesNodeState::Session &s, const uint256 &signHash, T &from)
 

Variables

static const std::string DB_QUORUM_SK_SHARE = "q_Qsk"
 
static const std::string DB_QUORUM_QUORUM_VVEC = "q_Qqvvec"
 
CQuorumManagerquorumManager
 
CQuorumBlockProcessorquorumBlockProcessor
 
static const std::string DB_MINED_COMMITMENT = "q_mc"
 
static const std::string DB_MINED_COMMITMENT_BY_INVERSED_HEIGHT = "q_mcih"
 
static const std::string DB_BEST_BLOCK_UPGRADE = "q_bbu2"
 
static const std::string CLSIG_REQUESTID_PREFIX = "clsig"
 
CChainLocksHandlerchainLocksHandler
 
CDKGDebugManagerquorumDKGDebugManager
 
static CCriticalSection cs_simDkgError
 
static std::map< std::string, double > simDkgErrorMap
 
CDKGSessionManagerquorumDKGSessionManager
 
static const std::string DB_VVEC = "qdkg_V"
 
static const std::string DB_SKCONTRIB = "qdkg_S"
 
CBLSWorkerblsWorker
 
CDBWrapperllmqDb
 
static const bool DEFAULT_WATCH_QUORUMS = false
 
static const std::string INPUTLOCK_REQUESTID_PREFIX = "inlock"
 
static const std::string ISLOCK_REQUESTID_PREFIX = "islock"
 
static const std::string DB_ISLOCK_BY_HASH = "is_i"
 
static const std::string DB_HASH_BY_TXID = "is_tx"
 
static const std::string DB_HASH_BY_OUTPOINT = "is_in"
 
static const std::string DB_MINED_BY_HEIGHT_AND_HASH = "is_m"
 
static const std::string DB_ARCHIVED_BY_HEIGHT_AND_HASH = "is_a1"
 
static const std::string DB_ARCHIVED_BY_HASH = "is_a2"
 
CInstantSendManagerquorumInstantSendManager
 
CSigningManagerquorumSigningManager
 
CSigSharesManagerquorumSigSharesManager = nullptr
 

Typedef Documentation

◆ CInstantSendLockPtr

typedef std::shared_ptr<CInstantSendLock> llmq::CInstantSendLockPtr

Definition at line 41 of file quorums_instantsend.h.

◆ CQuorumCPtr

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

Definition at line 73 of file quorums.h.

◆ CQuorumPtr

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

Definition at line 72 of file quorums.h.

◆ SigShareKey

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

Definition at line 31 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 17 of file quorums_dkgsessionhandler.h.

Function Documentation

◆ BatchVerifyMessageSigs()

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

◆ BuildInversedHeightKey()

◆ BuildInversedISLockKey()

static std::tuple<std::string, uint32_t, uint256> llmq::BuildInversedISLockKey ( const std::string &  k,
int  nHeight,
const uint256 islockHash 
)
static

◆ CheckLLMQCommitment()

◆ DestroyLLMQSystem()

◆ GetSimulatedErrorRate()

static double llmq::GetSimulatedErrorRate ( const std::string &  type)
static

Definition at line 47 of file quorums_dkgsession.cpp.

References cs_simDkgError, LOCK, and simDkgErrorMap.

Referenced by ShouldSimulateError().

◆ InitLLMQSystem()

void llmq::InitLLMQSystem ( CEvoDB evoDb,
bool  unitTests,
bool  fWipe 
)

◆ InitSession()

◆ InterruptLLMQSystem()

◆ IsInstantSendEnabled()

◆ MakeQuorumKey()

◆ ProcessPendingMessageBatch()

template<typename Message , int MessageType>
bool llmq::ProcessPendingMessageBatch ( CDKGSession session,
CDKGPendingMessages pendingMessages,
size_t  maxCount 
)

◆ SetSimulatedDKGErrorRate()

void llmq::SetSimulatedDKGErrorRate ( const std::string &  type,
double  rate 
)

Definition at line 41 of file quorums_dkgsession.cpp.

References cs_simDkgError, LOCK, and simDkgErrorMap.

Referenced by quorum_dkgsimerror().

◆ ShouldSimulateError()

static bool llmq::ShouldSimulateError ( const std::string &  type)
static

◆ StartLLMQSystem()

◆ StopLLMQSystem()

Variable Documentation

◆ blsWorker

◆ chainLocksHandler

◆ CLSIG_REQUESTID_PREFIX

const std::string llmq::CLSIG_REQUESTID_PREFIX = "clsig"
static

◆ cs_simDkgError

CCriticalSection llmq::cs_simDkgError
static

Definition at line 38 of file quorums_dkgsession.cpp.

Referenced by GetSimulatedErrorRate(), and SetSimulatedDKGErrorRate().

◆ DB_ARCHIVED_BY_HASH

◆ DB_ARCHIVED_BY_HEIGHT_AND_HASH

const std::string llmq::DB_ARCHIVED_BY_HEIGHT_AND_HASH = "is_a1"
static

◆ DB_BEST_BLOCK_UPGRADE

const std::string llmq::DB_BEST_BLOCK_UPGRADE = "q_bbu2"
static

◆ DB_HASH_BY_OUTPOINT

◆ DB_HASH_BY_TXID

◆ DB_ISLOCK_BY_HASH

◆ DB_MINED_BY_HEIGHT_AND_HASH

const std::string llmq::DB_MINED_BY_HEIGHT_AND_HASH = "is_m"
static

◆ DB_MINED_COMMITMENT

◆ DB_MINED_COMMITMENT_BY_INVERSED_HEIGHT

const std::string llmq::DB_MINED_COMMITMENT_BY_INVERSED_HEIGHT = "q_mcih"
static

◆ DB_QUORUM_QUORUM_VVEC

const std::string llmq::DB_QUORUM_QUORUM_VVEC = "q_Qqvvec"
static

◆ DB_QUORUM_SK_SHARE

const std::string llmq::DB_QUORUM_SK_SHARE = "q_Qsk"
static

◆ DB_SKCONTRIB

const std::string llmq::DB_SKCONTRIB = "qdkg_S"
static

◆ DB_VVEC

const std::string llmq::DB_VVEC = "qdkg_V"
static

◆ DEFAULT_WATCH_QUORUMS

const bool llmq::DEFAULT_WATCH_QUORUMS = false
static

◆ INPUTLOCK_REQUESTID_PREFIX

◆ ISLOCK_REQUESTID_PREFIX

const std::string llmq::ISLOCK_REQUESTID_PREFIX = "islock"
static

Definition at line 31 of file quorums_instantsend.cpp.

Referenced by llmq::CInstantSendLock::GetRequestId().

◆ llmqDb

CDBWrapper* llmq::llmqDb

Definition at line 24 of file quorums_init.cpp.

Referenced by DestroyLLMQSystem(), and InitLLMQSystem().

◆ quorumBlockProcessor

◆ quorumDKGDebugManager

◆ quorumDKGSessionManager

◆ quorumInstantSendManager

◆ quorumManager

◆ quorumSigningManager

◆ quorumSigSharesManager

◆ simDkgErrorMap

std::map<std::string, double> llmq::simDkgErrorMap
static

Definition at line 39 of file quorums_dkgsession.cpp.

Referenced by GetSimulatedErrorRate(), and SetSimulatedDKGErrorRate().

Released under the MIT license