Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
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