code: def sign_digest(hash_hex, privkey_hex, hashfunc=hashlib.sha256):
      
      if not isinstance(hash_hex, (str, unicode)):
          raise ValueError("hash hex is not a string")
  
      hash_hex = str(hash_hex)
  
      pk_i = decode_privkey_hex(privkey_hex)
      privk = ec.derive_private_key(pk_i, ec.SECP256K1(), default_backend())
  
      sig = privk.sign(hash_hex.decode('hex'), ec.ECDSA(utils.Prehashed(hashes.SHA256())))
  
      sig_r, sig_s = decode_dss_signature(sig)
      sigb64 = encode_signature(sig_r, sig_s)
      return sigb64
docs: Given a digest and a private key, sign it.
      Return the base64-encoded signature