Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#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, Message > | MessageMap |
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
|
private |
Definition at line 24 of file bls_batchverifier.h.
◆ MessageMapIterator
|
private |
Definition at line 25 of file bls_batchverifier.h.
◆ MessagesBySourceMap
|
private |
Definition at line 26 of file bls_batchverifier.h.
Constructor & Destructor Documentation
◆ CBLSBatchVerifier()
|
inline |
Definition at line 40 of file bls_batchverifier.h.
Member Function Documentation
◆ ClearMessages()
|
inline |
Definition at line 60 of file bls_batchverifier.h.
References CBLSBatchVerifier< SourceId, MessageId >::messages, and CBLSBatchVerifier< SourceId, MessageId >::messagesBySource.
Referenced by CBLSBatchVerifier< SourceId, MessageId >::PushMessage().
◆ GetUniqueSourceCount()
|
inline |
Definition at line 66 of file bls_batchverifier.h.
References CBLSBatchVerifier< SourceId, MessageId >::messagesBySource.
Referenced by llmq::CInstantSendManager::ProcessPendingInstantSendLocks().
◆ PushMessage()
|
inline |
Definition at line 47 of file bls_batchverifier.h.
References CBLSBatchVerifier< SourceId, MessageId >::ClearMessages(), CBLSWrapper< ImplType, _SerSize, C >::IsValid(), CBLSBatchVerifier< SourceId, MessageId >::messages, CBLSBatchVerifier< SourceId, MessageId >::messagesBySource, CBLSBatchVerifier< SourceId, MessageId >::subBatchSize, and CBLSBatchVerifier< SourceId, MessageId >::Verify().
Referenced by llmq::CInstantSendManager::ProcessPendingInstantSendLocks(), llmq::CSigningManager::ProcessPendingRecoveredSigs(), and llmq::CSigSharesManager::ProcessPendingSigShares().
◆ Verify()
|
inline |
Definition at line 71 of file bls_batchverifier.h.
References CBLSBatchVerifier< SourceId, MessageId >::badMessages, CBLSBatchVerifier< SourceId, MessageId >::badSources, CBLSBatchVerifier< SourceId, MessageId >::messages, CBLSBatchVerifier< SourceId, MessageId >::messagesBySource, CBLSBatchVerifier< SourceId, MessageId >::perMessageFallback, and CBLSBatchVerifier< SourceId, MessageId >::VerifyBatch().
Referenced by llmq::CInstantSendManager::ProcessPendingInstantSendLocks(), llmq::CSigningManager::ProcessPendingRecoveredSigs(), llmq::CSigSharesManager::ProcessPendingSigShares(), and CBLSBatchVerifier< SourceId, MessageId >::PushMessage().
◆ VerifyBatch()
|
inlineprivate |
Definition at line 126 of file bls_batchverifier.h.
References CBLSBatchVerifier< SourceId, MessageId >::secureVerification, CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchInsecure(), and CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchSecure().
Referenced by CBLSBatchVerifier< SourceId, MessageId >::Verify().
◆ VerifyBatchInsecure()
|
inlineprivate |
Definition at line 135 of file bls_batchverifier.h.
References CBLSPublicKey::AggregateInsecure(), CBLSSignature::AggregateInsecure(), CBLSWrapper< ImplType, _SerSize, C >::IsValid(), CBLSBatchVerifier< SourceId, MessageId >::messages, and CBLSSignature::VerifyInsecureAggregated().
Referenced by CBLSBatchVerifier< SourceId, MessageId >::VerifyBatch().
◆ VerifyBatchSecure()
|
inlineprivate |
Definition at line 186 of file bls_batchverifier.h.
References CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchSecureStep().
Referenced by CBLSBatchVerifier< SourceId, MessageId >::VerifyBatch().
◆ VerifyBatchSecureStep()
|
inlineprivate |
Definition at line 200 of file bls_batchverifier.h.
References CBLSSignature::AggregateInsecure(), CBLSWrapper< ImplType, _SerSize, C >::IsValid(), CBLSBatchVerifier< SourceId, MessageId >::messages, and CBLSSignature::VerifyInsecureAggregated().
Referenced by CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchSecure().
Member Data Documentation
◆ badMessages
std::set<MessageId> CBLSBatchVerifier< SourceId, MessageId >::badMessages |
Definition at line 37 of file bls_batchverifier.h.
Referenced by llmq::CInstantSendManager::ProcessPendingInstantSendLocks(), and CBLSBatchVerifier< SourceId, MessageId >::Verify().
◆ badSources
std::set<SourceId> CBLSBatchVerifier< SourceId, MessageId >::badSources |
◆ messages
|
private |
Definition at line 32 of file bls_batchverifier.h.
Referenced by CBLSBatchVerifier< SourceId, MessageId >::ClearMessages(), CBLSBatchVerifier< SourceId, MessageId >::PushMessage(), CBLSBatchVerifier< SourceId, MessageId >::Verify(), CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchInsecure(), and CBLSBatchVerifier< SourceId, MessageId >::VerifyBatchSecureStep().
◆ messagesBySource
|
private |
Definition at line 33 of file bls_batchverifier.h.
Referenced by CBLSBatchVerifier< SourceId, MessageId >::ClearMessages(), CBLSBatchVerifier< SourceId, MessageId >::GetUniqueSourceCount(), CBLSBatchVerifier< SourceId, MessageId >::PushMessage(), and CBLSBatchVerifier< SourceId, MessageId >::Verify().
◆ perMessageFallback
|
private |
Definition at line 29 of file bls_batchverifier.h.
Referenced by CBLSBatchVerifier< SourceId, MessageId >::Verify().
◆ secureVerification
|
private |
Definition at line 28 of file bls_batchverifier.h.
Referenced by CBLSBatchVerifier< SourceId, MessageId >::VerifyBatch().
◆ subBatchSize
|
private |
Definition at line 30 of file bls_batchverifier.h.
Referenced by CBLSBatchVerifier< SourceId, MessageId >::PushMessage().
The documentation for this class was generated from the following file:
- src/bls/bls_batchverifier.h