MMGen Version 13.3.0 Release Notes
Notable new features for this release:
- automatic change address selection
- curses-like scrolling interface for tracking wallet views
- offline transaction autosigning for Monero
- Config API (encapsulates configuration data, making the entire MMGen code base usable as a library for other Python projects)
New features in chronological order:
- a78be652: Support Monero integrated addresses
- 164ef9d2: `mmgen-xmrwallet`: new `txview` operation
- 1d392f17: `mmgen-tool listaddresses`: fully reimplemented UI (same as `twview` and `txhist`)
- 68caeb31: `mmgen-txcreate`: warn user if change address is used
- cbe74981: `mmgen-txcreate`: automatic change address selection
- 045fdefd: `mmgen-txcreate`: automatic change address selection by address type
- f62322b1: `mmgen-tool twexport`: address pruning
- b26657fb: Curses-like scrolling UI for tracking wallet views via `--scroll` option
- 55528989: `proto.btc.tx`: set sequence numbers for all inputs explicitly
- 94125052: `mmgen-txcreate`: consider addresses in the tracking wallet with labels to be reserved, i.e. equivalent to used, for purposes of automatic change address selection (can be overridden with `--autochg-ignore-labels` option)
- c7adb56e: Config API, Part I (eliminate global configuration variables)
- e90e25b2: Config API, Part II (make entire MMGen code base usable as a library for external projects -- usage example provided in script `examples/coin-daemon-info.py`)
- dc685e9c: `mmgen-keygen`: new viewkey-address file type via `--viewkeys` option
- 686fdfcc: `mmgen-autosign`: use default wallet as autosign wallet by default
- de77f9c2: Monero offline transaction autosigning (invoke `mmgen-xmrwallet --help` for usage information and tutorial)
- a1986fe6: `mmgen-xmrwallet`: new `txlist` operation
Windows/MSYS2 changes:
- ebb77548: use native MSYS2 terminal and UCRT64 environment by default
Testing changes:
- 4aa9f731: use monero-python instead of MoneroPy as reference tool
- 056de3bc: `test.py`: add `--demo` option
- e1f68963: use pycryptodome/pycryptodomex for Keccak testing
...plus loads of bugfixes, cleanups and code rewrites (345 commits, 373 files changed, 17902 insertions, 10670 deletions)
Requires Python >= 3.7 (tested on 3.7, 3.9, 3.10 and 3.11)
This release has been tested on the following platforms:
Debian 10 (Buster) / x86_64
Debian 11 (Bullseye) / x86_64
Debian 12 (Bookworm) / x86_64
Ubuntu 22.04 (Jammy) / x86_64
Arch Linux (Python 3.11) / x86_64
ArchLinuxArm [userspace] (Python 3.11) / Rock Pi 4 (armv8)
Debian 11 (Bullseye) [Armbian] / Rock Pi 4 (armv8)
Debian 11 (Bullseye) [Armbian] / Orange Pi PC2 (armv8) [BTC + XMR autosign]
Windows 10 Enterprise / MSYS2 2023.03.18 / x86_64 [qemu]
and with the following coin daemon versions:
Bitcoin Core 25.0.0
Bitcoin-Cash-Node 26.0.0
Litecoin Core 0.21.2.2
Monerod 0.18.2.2
Go-Ethereum (Geth) 1.11.16
Parity Ethereum 2.7.2
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.20220529 (https://github.com/richardkiss/pycoin)
vanitygen-plusplus e7858035 (https://github.com/10gic/vanitygen-plusplus)
monero-python 1.1.1 (https://github.com/monero-ecosystem/monero-python)
ethkey (OpenEthereum 3.3.5)