signBcHTransaction method

List<int> signBcHTransaction(
  1. List<int> digest
)

Signs a given transaction digest using the ECDSA deterministic signature scheme. The signature is adjusted for low-S encoding and verified against the public key.

Implementation

List<int> signBcHTransaction(List<int> digest) {
  ECDSASignature ecdsaSign = signingKey.signDigestDeterminstic(
      digest: digest, hashFunc: () => SHA256());
  if (ecdsaSign.s > CryptoSignerConst.orderHalf) {
    ecdsaSign = ECDSASignature(
        ecdsaSign.r, CryptoSignerConst.secp256k1Order - ecdsaSign.s);
  }
  final List<int> signature =
      CryptoSignatureUtils.toDer([ecdsaSign.r, ecdsaSign.s]);
  return signature;
}