signProsonalMessage method
Signs a personal message digest with an optional payload length.
Parameters:
digest: The personal message digest to be signed.payloadLength: An optional payload length to include in the message prefix.useEthPrefix: Whether to use the Ethereum or Tron personal sign prefix (default is false).
Implementation
List<int> signProsonalMessage(
List<int> digest, {
int? payloadLength,
bool useEthPrefix = false,
List<int>? extraEntropy,
}) {
String prefix =
useEthPrefix
? CryptoSignerConst.ethPersonalSignPrefix
: CryptoSignerConst.tronSignMessagePrefix;
prefix = prefix + (payloadLength?.toString() ?? digest.length.toString());
final prefixBytes = StringUtils.encode(prefix, type: StringEncoding.ascii);
return sign(
QuickCrypto.keccack256Hash(<int>[...prefixBytes, ...digest]),
hashMessage: false,
extraEntropy: extraEntropy,
);
}