signMessage method
Signs a personal message (EIP-191).
This method adds the EIP-191 prefix before signing:
\x19Ethereum Signed Message:\n{length}{message}
Implementation
@override
Future<Uint8List> signMessage(String message) async {
// EIP-191 personal message
final prefix = '\x19Ethereum Signed Message:\n${message.length}';
final prefixedMessage =
Uint8List.fromList([...prefix.codeUnits, ...message.codeUnits]);
final hash = Keccak256.hash(prefixedMessage);
return Secp256k1.sign(hash, privateKey);
}