crypto_sign_keypair function

int crypto_sign_keypair(
  1. Uint8List pk,
  2. Uint8List sk,
  3. String hashMode
)

Implementation

int crypto_sign_keypair(Uint8List pk, Uint8List sk, String hashMode) {
  final d = Uint8List(64);
  final p = List<Int32List>.generate(4, (_) => Int32List(16));

  crypto_hash(d, sk, 32, hashMode);
  d[0] &= 248;
  d[31] &= 127;
  d[31] |= 64;

  tweet_nacl.TweetNaCl.scalarbase(p, d, 0);
  tweet_nacl.TweetNaCl().pack(pk, p);

  for (var i = 0; i < 32; i++) {
    sk[i + 32] = pk[i];
  }
  return 0;
}