Function bls_on_arkworks::aggregate

source ·
pub fn aggregate(signatures: &[Signature]) -> Result<Signature, BLSError>
Expand description

(spec link) Aggregates multiple signatures into one.

Implementation:

   1. aggregate = signature_to_point(signature_1)
   2. If aggregate is INVALID, return INVALID
   3. for i in 2, ..., n:
   4.     next = signature_to_point(signature_i)
   5.     If next is INVALID, return INVALID
   6.     aggregate = aggregate + next
   7. signature = point_to_signature(aggregate)
   8. return signature