signEd25519Extended function
Sign a message with a ed25519 expanded private key and return signature
Implementation
Uint8List signEd25519Extended(
{required Uint8List message,
required Uint8List privateKey,
required Uint8List publicKey}) {
List<int> hash = blake2bHash256(message);
var sm = Uint8List(hash.length + TweetNaCl.signatureLength);
final kb = Uint8List.fromList(privateKey + publicKey);
final result = TweetNaCl.crypto_sign(sm, -1, message, 0, message.length, kb,
extended: true);
if (result != 0) {
throw Exception('Signing the massage is failed');
}
//print("sm: ${sm.length}, result: $result");
return sm.length > 64 ? sm.sublist(0, 64) : sm;
}