The new library version has a whole new structure. What we had before in publickey.hpp/.cpp and signatures.hpp/.cpp files is now in element.hpp/.cpp where G1Element represents a public key and G2Element represents a signature in the (yet) only available MPL (Minimum pubkey length) schemes which can be found in schemes.hpp/.cpp (Thats the file were the signing/verification schemes defined in the standard draft are implemented by using the available primitives).
I integrated all changes required for threshold fun from our latest release into the new files threshold.hpp/.cpp but its not 1:1, i adjusted/refactored/simplified things a bit here and there.
legacy.cpp contains some functions pulled out from the relic version which was used in the our latest release. Those are also mostly simplified or adjusted to fit our needs + in the file threshold.cpp we have fp_inv_exgcd_bn which is also pulled out from the earlier relic version.
All the AggregationInfo and “secure” stuff is gone now. I pulled out only the really required parts as replacement of what we had with bls::Signature <> bls::InsecureSignature and the “secure aggregation/verification” in d50109e.
Some notes:
publickey.hpp/.cpp
andsignatures.hpp/.cpp
files is now inelement.hpp/.cpp
whereG1Element
represents a public key andG2Element
represents a signature in the (yet) only availableMPL
(Minimum pubkey length) schemes which can be found inschemes.hpp/.cpp
(Thats the file were the signing/verification schemes defined in the standard draft are implemented by using the available primitives).LegacySchemeMPL
inschemes.hpp/.cpp
is the scheme i added to represents the signing/verification from our latest release https://github.com/dashpay/bls-signatures/releases/tag/v20181101 to make it compatible with previous dash core versions.threshold.hpp/.cpp
but its not 1:1, i adjusted/refactored/simplified things a bit here and there.legacy.cpp
contains some functions pulled out from the relic version which was used in the our latest release. Those are also mostly simplified or adjusted to fit our needs + in the filethreshold.cpp
we havefp_inv_exgcd_bn
which is also pulled out from the earlier relic version.AggregationInfo
and “secure” stuff is gone now. I pulled out only the really required parts as replacement of what we had withbls::Signature
<>bls::InsecureSignature
and the “secure aggregation/verification” in d50109e.