func VerifyAggregate(pubkeys []*PublicKey, msgs [][]byte, signature *Signature, domain uint64) bool {
	if len(pubkeys) != len(msgs) {
		return false
	}

	blsPubs := make([]*bls.PublicKey, len(pubkeys))
	for i := range pubkeys {
		blsPubs[i] = &pubkeys[i].p
	}

	return signature.s.VerifyAggregate(blsPubs, msgs)
}
// VerifyAggregate verifies a signature over many messages.
VerifyAggregate verifies a signature over many messages.
// VerifyAggregate verifies a signature over many messages .
func VerifyAggregate(pubkeys []*PublicKey, msgs [][]byte, signature *Signature, domain uint64) bool {
	if len(pubkeys) != len(msgs) {
		return false
	}
	blsPubs := make([]*bls.PublicKey, len(pubkeys))
	for i := range pubkeys {
		blsPubs[i] = &pubkeys[i].p
	}
	return signature.s.VerifyAggregate(blsPubs, msgs)
}
func VerifyAggregate ( pubkeys [ ] * PublicKey , msgs [ ] [ ] byte , signature * Signature , domain uint64 ) bool { if len ( pubkeys ) != len ( msgs ) { return false } blsPubs := make ( [ ] * bls . PublicKey , len ( pubkeys ) ) for i := range pubkeys { blsPubs [ i ] = & pubkeys [ i ] . p } return signature . s . VerifyAggregate ( blsPubs , msgs ) }
VerifyAggregate verifies a signature over many messages.
VerifyAggregate verifies a signature over many messages .