pointAddScalar function
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);
}