encodeOrInfinityPoint static method

ProjectiveECCPoint encodeOrInfinityPoint(
  1. List<int> keyBytes
)

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");
}