encodeOrInfinityPoint static method
Implementation
static ProjectiveECCPoint encodeOrInfinityPoint(List<int> keyBytes) {
if (BytesUtils.bytesEqual(keyBytes, MuSig2Const.zero)) {
return ProjectiveECCPoint.infinity(MuSig2Const.curve);
}
final point = encodePoint(keyBytes);
try {
final p = P2TRUtils.liftX(point.x);
if (keyBytes[0] == 2) {
return p;
} else if (keyBytes[0] == 3) {
return -p;
}
} catch (_) {}
throw MuSig2Exception("Invalid comprossed point");
}