code: def verify_digest(hash_hex, pubkey_hex, sigb64, hashfunc=hashlib.sha256):
      
      if not isinstance(hash_hex, (str, unicode)):
          raise ValueError("hash hex is not a string")
  
      hash_hex = str(hash_hex)
      pubk_uncompressed_hex = keylib.key_formatting.decompress(pubkey_hex)
      sig_r, sig_s = decode_signature(sigb64)
  
      pubk = ec.EllipticCurvePublicNumbers.from_encoded_point(ec.SECP256K1(), pubk_uncompressed_hex.decode('hex')).public_key(default_backend())
      signature = encode_dss_signature(sig_r, sig_s)
  
      try:
          pubk.verify(signature, hash_hex.decode('hex'), ec.ECDSA(utils.Prehashed(hashes.SHA256())))
          return True
      except InvalidSignature:
          return False
docs: Given a digest, public key (as hex), and a base64 signature,
      verify that the public key signed the digest.
      Return True if so
      Return False if not