From 3e4f61e1a8cc089a4021e11ce1f4299539762316 Mon Sep 17 00:00:00 2001 From: caryoscelus Date: Thu, 12 May 2022 20:43:49 +0400 Subject: [PATCH] fix compatibility with modern hashlib ripemd160 has been removed from hashlib, we have to mend it with other implementation for now --- src/lib/libsecp256k1message/libsecp256k1message.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/libsecp256k1message/libsecp256k1message.py b/src/lib/libsecp256k1message/libsecp256k1message.py index 59768b88..5cc97ecf 100644 --- a/src/lib/libsecp256k1message/libsecp256k1message.py +++ b/src/lib/libsecp256k1message/libsecp256k1message.py @@ -4,6 +4,7 @@ from coincurve import PrivateKey, PublicKey from base58 import b58encode_check, b58decode_check from hmac import compare_digest from util.Electrum import format as zero_format +from ..sslcrypto._ecc import ripemd160 RECID_MIN = 0 RECID_MAX = 3 @@ -41,7 +42,7 @@ def compute_secret_address(secretkey): def public_digest(publickey, compressed=False): """Convert a public key to ripemd160(sha256()) digest.""" publickey_hex = publickey.format(compressed=compressed) - return hashlib.new('ripemd160', hashlib.sha256(publickey_hex).digest()).digest() + return ripemd160(hashlib.sha256(publickey_hex).digest()).digest() def address_public_digest(address): """Convert a public Bitcoin address to ripemd160(sha256()) digest."""