MMGen Version 13.1.0 Release Notes
This release completes the process of modularizing the MMGen code base and fully separating protocol-dependent from protocol-independent code.
In addition to improved reliability, maintainability and extensibility, this major code overhaul has led to significant performance improvements and reductions in memory usage.
Important new feature:
- message signing: 86e3b273, e5cf3b6ec, 25efac31b, 770b209af, a81ff33f0
Other changes/additions/improvements (most recent first):
- add pure-Python RIPEMD-160 code and wrapper routine: 40d90b37
- mmgen-tool: add `extract_key_from_geth_wallet` command: 096f363d
- mmgen-tool: add `eth_checksummed_addr` command: aecc03e2
- crypto.py: improve user entropy implementation: 589c3780
- rewrite public key and address generation code: 32c522c0
- rewrite test/gentest.py utility: b43d827b
Important bugfixes:
- RPC: disable `*_PROXY` environment vars for `requests` backend: ba2cc40d
- mmgen-tool pubhex2addr: fix incorrect output for ETH, XMR and ZEC-Z protocols: af65676d
- mmgen-tool addr2pubhash: reject non-PKH addresses: 4e3b11a3
- mmgen-passchg: improve secure wallet deletion logic: 9e3d8d92
Python requirements: >= 3.7 (3.7, 3.8, 3.9, 3.10 tested)
This release has been tested on the following platforms:
Debian 10 (Buster) / x86_64
Debian 11 (Bullseye) / x86_64
Ubuntu 20.04 (Focal) / x86_64
Ubuntu 22.04 (Jammy) / x86_64
Arch Linux / x86_64
Arch Linux [userspace] / Rock Pi 4 (armv8)
Debian 10 (Buster) [Armbian] / Rock Pi 4 (armv8)
Debian 11 (Bullseye) [Armbian] / Orange Pi PC2 (armv8) [BTC-only]
Windows 10 Enterprise [MSYS2-2022.02.15] / x86_64 [qemu]
and with the following coin daemon versions:
Bitcoin Core 23.0.0
Bitcoin-Cash-Node 24.0.0
Litecoin Core 0.18.1
Monerod 0.17.3.0
Parity Ethereum 2.7.2
Go-Ethereum (Geth) 1.10.14 (1.10.17 works but has geth init issues)
OpenEthereum 3.3.5
Erigon v2022.05.02 [14557a234] (partial testing, eth_call() issues with devnet)
Solc v0.8.7 is required for ERC20 token contract creation
Altcoin address generation has been additionally tested using the following reference tools:
zcash-mini a2b3504 (https://github.com/FiloSottile/zcash-mini)
pycoin 0.92.20220213 (https://github.com/richardkiss/pycoin)
vanitygen-plusplus e7858035 (https://github.com/10gic/vanitygen-plusplus)
MoneroPy 98e7feb (https://github.com/bigreddmachine/MoneroPy)
ethkey (OpenEthereum 3.3.5)