def test_fast_aggregate_verify(SKs, message): PKs = [G2ProofOfPossession.PrivToPub(sk) for sk in SKs] signatures = [G2ProofOfPossession.Sign(sk, message) for sk in SKs] aggregate_signature = G2ProofOfPossession.Aggregate(signatures) assert G2ProofOfPossession.FastAggregateVerify(PKs, message, aggregate_signature)
def test_fast_aggregate_verify(PKs, aggregate_signature, message, result): assert G2ProofOfPossession.FastAggregateVerify(PKs, message, aggregate_signature) == result
def FastAggregateVerify(PKs: Sequence[BLSPubkey], message: Hash32, signature: BLSSignature) -> bool: return G2ProofOfPossession.FastAggregateVerify(PKs, message, signature)
def FastAggregateVerify(PKs, message, signature): return bls.FastAggregateVerify(PKs, message, signature)