pointAddScalar function

Uint8List? pointAddScalar(
  1. Uint8List p,
  2. Uint8List tweak,
  3. bool assumeCompressed
)

Implementation

Uint8List? pointAddScalar(Uint8List p, Uint8List tweak, bool assumeCompressed) {
  if (!isPoint(p)) throw ArgumentError(THROW_BAD_POINT);
  if (!isOrderScalar(tweak)) throw ArgumentError(THROW_BAD_TWEAK);
  bool compressed = assumeCompression(assumeCompressed, p);
  ECPoint? pp = decodeFrom(p);
  if (_compare(tweak, ZERO32) == 0) return getEncoded(pp, compressed);
  BigInt tt = fromBuffer(tweak);
  ECPoint qq = (G * tt) as ECPoint;
  ECPoint uu = (pp! + qq) as ECPoint;
  if (uu.isInfinity) return null;
  return getEncoded(uu, compressed);
}