signECDSADer method
Signs the given transaction digest using ECDSA (DER-encoded).
digest: The transaction digest (message) to sign.
Implementation
List<int> signECDSADer(List<int> digest, {List<int>? extraEntropy}) {
List<int> signature = _signingKey.signDer(
digest: digest,
extraEntropy: extraEntropy,
);
BigInt attempt = BigInt.one;
int lengthR = signature[3];
while (lengthR == 33) {
signature = _signingKey.signDer(
digest: digest,
extraEntropy: [
...extraEntropy ?? [],
...BigintUtils.toBytes(attempt, length: 32),
],
);
attempt += BigInt.one;
lengthR = signature[3];
}
return signature;
}