signMessage method
Signs a message using Bitcoin's message signing format.
message: The raw message to be signed.messagePrefix: The prefix used for Bitcoin's message signing.extraEntropy: Optional extra entropy to modify the signature.
Implementation
List<int> signMessage({
required List<int> message,
bool hashMessage = true,
String messagePrefix = BitcoinSignerUtils.signMessagePrefix,
List<int> extraEntropy = const [],
}) {
List<int> messgaeHash = message;
if (hashMessage) {
messgaeHash = QuickCrypto.sha256Hash(
BitcoinSignerUtils.magicMessage(message, messagePrefix),
);
}
final signature = _signingKey.sign(
digest: messgaeHash,
extraEntropy: extraEntropy,
);
return [
signature.$2 + 27,
...signature.$1.toBytes(BitcoinSignerUtils.baselen),
];
}