sign function

Uint8List sign(
  1. Uint8List hash,
  2. Uint8List x
)

Implementation

Uint8List sign(Uint8List hash, Uint8List x) {
  if (!isScalar(hash)) throw ArgumentError(throwBadHash);
  if (!isPrivate(x)) throw ArgumentError(throwBadPrivate);
  ECSignature sig = deterministicGenerateK(hash, x);
  Uint8List buffer = Uint8List(64);
  buffer.setRange(0, 32, _encodeBigInt(sig.r));
  var s;
  if (sig.s.compareTo(nDiv2) > 0) {
    s = n - sig.s;
  } else {
    s = sig.s;
  }
  buffer.setRange(32, 64, _encodeBigInt(s));
  return buffer;
}