Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
bls.h
Go to the documentation of this file.
13 #undef ERROR // chia BLS uses relic, which defines ERROR, which in turn causes win32/win64 builds to print many warnings
202 // TODO not sure if this is actually possible with the BLS libs. I'm assuming here that somewhere deep inside
203 // these libs masking might happen, so that 2 different binary representations could result in the same object
286 class CBLSSignature : public CBLSWrapper<bls::InsecureSignature, BLS_CURVE_SIG_SIZE, CBLSSignature>
301 static CBLSSignature AggregateSecure(const std::vector<CBLSSignature>& sigs, const std::vector<CBLSPublicKey>& pks, const uint256& hash);
306 bool VerifyInsecureAggregated(const std::vector<CBLSPublicKey>& pubKeys, const std::vector<uint256>& hashes) const;
336 // the all-zero buf is considered a valid buf, but the resulting object will return false for IsValid
CBLSWrapper & operator=(const CBLSWrapper &ref)=default
bool SecretKeyShare(const std::vector< CBLSSecretKey > &msk, const CBLSId &id)
Definition: bls.cpp:118
Definition: bls.h:238
CBLSLazyWrapper & operator=(const CBLSLazyWrapper &r)
Definition: bls.h:345
CBLSSignature & operator=(const CBLSSignature &)=default
virtual bool InternalGetBuf(void *buf) const =0
static CBLSSignature AggregateSecure(const std::vector< CBLSSignature > &sigs, const std::vector< CBLSPublicKey > &pks, const uint256 &hash)
Definition: bls.cpp:304
Definition: bls.h:319
std::string HexStr(const T itbegin, const T itend, bool fSpaces=false)
Definition: utilstrencodings.h:100
bool VerifyInsecure(const CBLSPublicKey &pubKey, const uint256 &hash) const
Definition: bls.cpp:335
virtual bool InternalSetBuf(const void *buf)=0
Definition: bls.h:34
void AggregateInsecure(const CBLSSecretKey &o)
Definition: bls.cpp:74
bool VerifyInsecureAggregated(const std::vector< CBLSPublicKey > &pubKeys, const std::vector< uint256 > &hashes) const
Definition: bls.cpp:348
uint256 SerializeHash(const T &obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)
Compute the 256-bit hash of an object's serialization.
Definition: hash.h:254
std::shared_ptr< BLSVerificationVector > BLSVerificationVectorPtr
Definition: bls.h:471
std::shared_ptr< BLSSignatureVector > BLSSignatureVectorPtr
Definition: bls.h:474
Definition: bls.h:263
Definition: bls.h:286
std::shared_ptr< BLSSecretKeyVector > BLSSecretKeyVectorPtr
Definition: bls.h:473
void seek(size_t _nSize)
Pretend _nSize bytes are written, without specifying them.
Definition: serialize.h:1215
bool PublicKeyShare(const std::vector< CBLSPublicKey > &mpk, const CBLSId &id)
Definition: bls.cpp:218
bool DHKeyExchange(const CBLSSecretKey &sk, const CBLSPublicKey &pk)
Definition: bls.cpp:247
void AggregateInsecure(const CBLSPublicKey &o)
Definition: bls.cpp:191
void AggregateInsecure(const CBLSSignature &o)
Definition: bls.cpp:277
bool Recover(const std::vector< CBLSSignature > &sigs, const std::vector< CBLSId > &ids)
Definition: bls.cpp:393
Definition: serialize.h:1199
bool VerifySecureAggregated(const std::vector< CBLSPublicKey > &pks, const uint256 &hash) const
Definition: bls.cpp:375
Definition: serialize.h:162
std::shared_ptr< BLSPublicKeyVector > BLSPublicKeyVectorPtr
Definition: bls.h:472