From 4dd799104b3363798bf53697d48b8bea2fe4c197 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Tue, 3 May 2022 21:01:06 +0000 Subject: [PATCH] activate RIPEMD-160 code, add tests --- mmgen/data/release_date | 2 +- mmgen/data/version | 2 +- mmgen/opts.py | 3 +++ test/test-release.sh | 1 + test/unit_tests_d/ut_dep.py | 7 +++++++ 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/mmgen/data/release_date b/mmgen/data/release_date index 41108380..e3ed941d 100644 --- a/mmgen/data/release_date +++ b/mmgen/data/release_date @@ -1 +1 @@ -April 2022 +May 2022 diff --git a/mmgen/data/version b/mmgen/data/version index effe573e..f5e6363b 100644 --- a/mmgen/data/version +++ b/mmgen/data/version @@ -1 +1 @@ -13.1.dev27 +13.1.dev28 diff --git a/mmgen/opts.py b/mmgen/opts.py index 56f50b0a..908dff1b 100755 --- a/mmgen/opts.py +++ b/mmgen/opts.py @@ -326,6 +326,9 @@ def init( from .term import init_term init_term() + from .util import wrap_ripemd160 + wrap_ripemd160() # ripemd160 used by cfg_file() + if not (opt.skip_cfg_file or opt.bob or opt.alice or g.prog_name == 'mmgen-regtest'): from .cfg import cfg_file # check for changes in system template file - term must be initialized diff --git a/test/test-release.sh b/test/test-release.sh index 5e75668e..0964dbd4 100755 --- a/test/test-release.sh +++ b/test/test-release.sh @@ -292,6 +292,7 @@ t_hash=" 256 $python test/hashfunc.py sha256 $rounds_max 512 $python test/hashfunc.py sha512 $rounds_max # native SHA512 - not used by the MMGen wallet keccak $python test/hashfunc.py keccak $rounds_max + ripemd160 $python mmgen/contrib/ripemd160.py $VERBOSE " f_hash='Hash function tests completed' diff --git a/test/unit_tests_d/ut_dep.py b/test/unit_tests_d/ut_dep.py index 3d0a42b8..3d2d114f 100755 --- a/test/unit_tests_d/ut_dep.py +++ b/test/unit_tests_d/ut_dep.py @@ -68,6 +68,13 @@ class unit_tests: pubkey = pko.get_verifying_key().to_string().hex() return True + def ripemd160(self,name,ut): + import hashlib + if hashlib.new.__name__ == 'hashlib_new_wrapper': + ymsg('Warning: RIPEMD160 missing in hashlib, falling back on pure-Python implementation') + hashlib.new('ripemd160') + return True + def gmpy(self,name,ut): from gmpy2 import context,set_context,sqrt,cbrt # context() parameters are platform-dependent!