Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

CBLSBatchVerifier< SourceId, MessageId > Class Template Reference

#include <bls_batchverifier.h>

Classes

struct  Message
 

Public Member Functions

 CBLSBatchVerifier (bool _secureVerification, bool _perMessageFallback, size_t _subBatchSize=0)
 
void PushMessage (const SourceId &sourceId, const MessageId &msgId, const uint256 &msgHash, const CBLSSignature &sig, const CBLSPublicKey &pubKey)
 
void ClearMessages ()
 
size_t GetUniqueSourceCount () const
 
void Verify ()
 

Public Attributes

std::set< SourceId > badSources
 
std::set< MessageId > badMessages
 

Private Types

typedef std::map< MessageId, MessageMessageMap
 
typedef MessageMap::iterator MessageMapIterator
 
typedef std::map< SourceId, std::vector< MessageMapIterator > > MessagesBySourceMap
 

Private Member Functions

bool VerifyBatch (std::map< uint256, std::vector< MessageMapIterator >> &byMessageHash)
 
bool VerifyBatchInsecure (const std::map< uint256, std::vector< MessageMapIterator >> &byMessageHash)
 
bool VerifyBatchSecure (std::map< uint256, std::vector< MessageMapIterator >> &byMessageHash)
 
bool VerifyBatchSecureStep (std::map< uint256, std::vector< MessageMapIterator >> &byMessageHash)
 

Private Attributes

bool secureVerification
 
bool perMessageFallback
 
size_t subBatchSize
 
MessageMap messages
 
MessagesBySourceMap messagesBySource
 

Detailed Description

template<typename SourceId, typename MessageId>
class CBLSBatchVerifier< SourceId, MessageId >

Definition at line 14 of file bls_batchverifier.h.

Member Typedef Documentation

◆ MessageMap

template<typename SourceId, typename MessageId>
typedef std::map<MessageId, Message> CBLSBatchVerifier< SourceId, MessageId >::MessageMap
private

Definition at line 24 of file bls_batchverifier.h.

◆ MessageMapIterator

template<typename SourceId, typename MessageId>
typedef MessageMap::iterator CBLSBatchVerifier< SourceId, MessageId >::MessageMapIterator
private

Definition at line 25 of file bls_batchverifier.h.

◆ MessagesBySourceMap

template<typename SourceId, typename MessageId>
typedef std::map<SourceId, std::vector<MessageMapIterator> > CBLSBatchVerifier< SourceId, MessageId >::MessagesBySourceMap
private

Definition at line 26 of file bls_batchverifier.h.

Constructor & Destructor Documentation

◆ CBLSBatchVerifier()

template<typename SourceId, typename MessageId>
CBLSBatchVerifier< SourceId, MessageId >::CBLSBatchVerifier ( bool  _secureVerification,
bool  _perMessageFallback,
size_t  _subBatchSize = 0 
)
inline

Definition at line 40 of file bls_batchverifier.h.

Member Function Documentation

◆ ClearMessages()

template<typename SourceId, typename MessageId>
void CBLSBatchVerifier< SourceId, MessageId >::ClearMessages ( )
inline

◆ GetUniqueSourceCount()

template<typename SourceId, typename MessageId>
size_t CBLSBatchVerifier< SourceId, MessageId >::GetUniqueSourceCount ( ) const
inline

◆ PushMessage()

◆ Verify()

◆ VerifyBatch()

template<typename SourceId, typename MessageId>
bool CBLSBatchVerifier< SourceId, MessageId >::VerifyBatch ( std::map< uint256, std::vector< MessageMapIterator >> &  byMessageHash)
inlineprivate

◆ VerifyBatchInsecure()

template<typename SourceId, typename MessageId>
bool CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchInsecure ( const std::map< uint256, std::vector< MessageMapIterator >> &  byMessageHash)
inlineprivate

◆ VerifyBatchSecure()

template<typename SourceId, typename MessageId>
bool CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchSecure ( std::map< uint256, std::vector< MessageMapIterator >> &  byMessageHash)
inlineprivate

◆ VerifyBatchSecureStep()

template<typename SourceId, typename MessageId>
bool CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchSecureStep ( std::map< uint256, std::vector< MessageMapIterator >> &  byMessageHash)
inlineprivate

Member Data Documentation

◆ badMessages

template<typename SourceId, typename MessageId>
std::set<MessageId> CBLSBatchVerifier< SourceId, MessageId >::badMessages

◆ badSources

◆ messages

◆ messagesBySource

◆ perMessageFallback

template<typename SourceId, typename MessageId>
bool CBLSBatchVerifier< SourceId, MessageId >::perMessageFallback
private

◆ secureVerification

template<typename SourceId, typename MessageId>
bool CBLSBatchVerifier< SourceId, MessageId >::secureVerification
private

◆ subBatchSize

template<typename SourceId, typename MessageId>
size_t CBLSBatchVerifier< SourceId, MessageId >::subBatchSize
private

The documentation for this class was generated from the following file:
Released under the MIT license