diff --git a/doc/wiki/Altcoin-and-Forkcoin-Support.md b/doc/wiki/Altcoin-and-Forkcoin-Support.md
index cf3a2d7e..82b1aa43 100644
--- a/doc/wiki/Altcoin-and-Forkcoin-Support.md
+++ b/doc/wiki/Altcoin-and-Forkcoin-Support.md
@@ -252,8 +252,7 @@ Make sure that [Monerod][M] is installed and running and that
Skip this step for MSYS2, as these requirements were already installed by
pacman.
-Skip ‘keccak-requirements.txt’ if your Python version 3.13 or greater and
-you don’t plan to run the test suite.
+Skip ‘keccak-requirements.txt’ if your Python version is 3.13 or greater.
```text
$ python3 -m pip install -r keccak-requirements.txt # see above
@@ -276,10 +275,15 @@ in the [**Getting Started**][ct] guide, with the following differences:
machine with no arguments. This creates the watch-only wallet or wallets
that together comprise the user’s tracking wallet. For watch-only wallets
that already exist, no action is performed.
+- `mmgen-txcreate` supports both sweep transactions and send to external
+ address (see `mmgen-txcreate --coin=xmr --help`)
+- Tracking wallet views are account-based.
- The `mmgen-xmrwallet` script may be used to list and view sent transactions
on the removable device. Type `mmgen-xmrwallet --help` for details.
- New accounts and addresses may be added to the tracking wallet via
`mmgen-tool --coin=xmr listaddresses`.
+- Compatibility mode is not available for Windows. Windows users must use
+ `mmgen-xmrwallet` in non-automount (v1) mode to transact Monero.
#### Wallet creation and transacting via `mmgen-xmrwallet` (deprecated)
diff --git a/doc/wiki/Autosigning.md b/doc/wiki/Autosigning.md
index 7382a831..5d8a1113 100644
--- a/doc/wiki/Autosigning.md
+++ b/doc/wiki/Autosigning.md
@@ -60,8 +60,8 @@ Enter Version 2 Autosigning.
## Autosigning, Version 2
Here the main innovation was to automate all mounting, unmounting, and file
-copying operations. Version 2 autosigning is sometimes referred to in program
-output by the term “automount”.
+copying operations. Version 2 autosigning is sometimes referred to in the
+program output and documentation by the term “automount”.
#### Preparation of signing session:
1. Same as for [Version 1](#as_v1_s)
diff --git a/doc/wiki/Getting-Started-with-MMGen-Wallet.md b/doc/wiki/Getting-Started-with-MMGen-Wallet.md
index 97491f3e..30263cf4 100644
--- a/doc/wiki/Getting-Started-with-MMGen-Wallet.md
+++ b/doc/wiki/Getting-Started-with-MMGen-Wallet.md
@@ -345,8 +345,8 @@ offline machine, which will greatly simplify the transacting process. For
optimal user experience, the offline signing device should be a Raspberry Pi
or other single-board computer for which LED signaling support is provided.*
-*The [**Autosigning**][ax] wiki page outlines the differences between the manual
-and autosigning methods of transacting.*
+*The* [***Autosigning***][ax] *wiki page outlines the differences between the
+manual and autosigning methods of transacting.*
Now that you have some coins under MMGen Wallet’s control, you’re ready to
create a transaction. Note that transactions are harmless until they’re signed
diff --git a/doc/wiki/Install-MMGen-Wallet-on-Microsoft-Windows.md b/doc/wiki/Install-MMGen-Wallet-on-Microsoft-Windows.md
index e8ac96f3..388eff1d 100644
--- a/doc/wiki/Install-MMGen-Wallet-on-Microsoft-Windows.md
+++ b/doc/wiki/Install-MMGen-Wallet-on-Microsoft-Windows.md
@@ -59,9 +59,9 @@ Download the MSYS2 executable installer for your architecture from the [MSYS2
homepage][mh], but ignore the installation instructions there.
Run the installer, accepting all defaults. When installation completes,
-uncheck ‘Run MSYS2 now’ and click ‘Finish’. From the Start menu, drag the
-‘MSYS2 UCRT64’ icon to the desktop. You will use it to launch all MSYS2
-terminal sessions from now on. Double-click the icon to launch the terminal.
+uncheck ‘Run MSYS2 now’ and click ‘Finish’. From the Start menu, pin the
+‘MSYS2 UCRT64’ icon to the taskbar. You will use it to launch all MSYS2
+terminal sessions from now on. Click the icon to launch the terminal.
Note that the root of your MSYS2 installation is located in `C:\\msys64`, so the
following commands, for example, will produce a listing of the same directory:
@@ -102,18 +102,18 @@ $ ls 'C:\\msys64\etc' # the path as seen by Windows
>
> Download up-to-date versions of these files from the primary MSYS2 mirror:
>
->>
->>
->>
->>
->>
->>
->>
->>
->>
->>
->>
->>
+>>
+>>
+>>
+>>
+>>
+>>
+>>
+>>
+>>
+>>
+>>
+>>
>
> Copy the files to your offline machine, replacing the originals at
> `C:\msys64\var\lib\pacman\sync`.
@@ -184,13 +184,13 @@ pacman -S tar git vim autoconf automake-wrapper autogen libtool cygrunsrv \
mingw-w64-ucrt-x86_64-libsodium \
mingw-w64-ucrt-x86_64-python-pynacl \
mingw-w64-ucrt-x86_64-python-cryptography \
- mingw-w64-ucrt-x86_64-python-pycryptodome \
mingw-w64-ucrt-x86_64-python-six \
mingw-w64-ucrt-x86_64-python-pexpect \
mingw-w64-ucrt-x86_64-python-gmpy2 \
mingw-w64-ucrt-x86_64-python-pysocks \
mingw-w64-ucrt-x86_64-python-requests \
mingw-w64-ucrt-x86_64-python-aiohttp \
+ mingw-w64-ucrt-x86_64-python-ecdsa \
mingw-w64-ucrt-x86_64-python-pyreadline3 \
mingw-w64-ucrt-x86_64-python-lxml
```
@@ -238,17 +238,13 @@ prevent pip from installing packages in the system directory.
On your online machine:
```text
-$ python3 -m pip download ecdsa
-$ python3 -m pip download --no-binary :all: scrypt==0.8.27 aiohttp==3.12.9
-
+$ python3 -m pip download --no-binary :all: scrypt==0.8.27
```
Copy the downloaded files to your offline machine (if applicable) and install:
```text
-$ python3 -m pip install ecdsa-*.whl
$ python3 -m pip install --no-build-isolation scrypt*gz
-$ python3 -m pip install --no-build-isolation aiohtt* multidic* yarl* aiohap* aiosig* attrs* frozenlist* idna* propcache*
```
### 7. Clone and copy the secp256k1 library (offline install only)
@@ -316,7 +312,7 @@ Enter the repo directory, build and install:
```text
$ cd mmgen-wallet
-$ python3 -m build --no-isolation
+$ python3 -m build --no-isolation --wheel
$ python3 -m pip install dist/*.whl
```
diff --git a/doc/wiki/Test-Suite.md b/doc/wiki/Test-Suite.md
index a84466a6..997ff6e6 100644
--- a/doc/wiki/Test-Suite.md
+++ b/doc/wiki/Test-Suite.md
@@ -51,12 +51,10 @@ $ python3 -m pip download pycoin # online
$ python3 -m pip install --no-build-isolation pycoin-*.tar.gz # offline
```
-CD to the MMGen Wallet repository root and build the secp256k1 extension module
-in place:
+CD to the MMGen Wallet repository root:
```text
$ cd path/to/mmgen/repo
-$ python3 setup.py build_ext --inplace
```
Run the following if upgrading from a previous version of MMGen:
@@ -94,7 +92,8 @@ requires the SSH daemon to be set up and running. On MSYS2 systems, SSHD
is not configured by default, but it may be easily set up with the following
steps:
-Open PowerShell as administrator, and at the DOS prompt, execute:
+Open PowerShell as administrator (right mouse click, “Run as Administrator”).
+At the DOS prompt, execute:
```text
system32> net user administrator /active:yes
diff --git a/doc/wiki/cmds/command-help-addrgen.md b/doc/wiki/cmds/command-help-addrgen.md
index 2a0bc333..0b6b8cd8 100644
--- a/doc/wiki/cmds/command-help-addrgen.md
+++ b/doc/wiki/cmds/command-help-addrgen.md
@@ -1,7 +1,9 @@
```text
MMGEN-ADDRGEN: Generate a range or list of addresses from an MMGen wallet,
mnemonic, seed or brainwallet
- USAGE: mmgen-addrgen [opts] [seed source]
+
+ USAGE: mmgen-addrgen [opts] [seed source]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -78,12 +80,14 @@
subwallets from a single parent. This leaves each user with a total of two
million subwallets, which should be enough for most practical purposes.
+
PASSPHRASE NOTE:
For passphrases all combinations of whitespace are equal, and leading and
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/doc/wiki/cmds/command-help-cli.md b/doc/wiki/cmds/command-help-cli.md
index de760194..658b8012 100644
--- a/doc/wiki/cmds/command-help-cli.md
+++ b/doc/wiki/cmds/command-help-cli.md
@@ -1,6 +1,8 @@
```text
MMGEN-CLI: Communicate with a coin daemon via its JSON-RPC interface
- USAGE: mmgen-cli [opts]
+
+ USAGE: mmgen-cli [opts]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
diff --git a/doc/wiki/cmds/command-help-keygen.md b/doc/wiki/cmds/command-help-keygen.md
index eb3781e3..521a1a01 100644
--- a/doc/wiki/cmds/command-help-keygen.md
+++ b/doc/wiki/cmds/command-help-keygen.md
@@ -1,7 +1,9 @@
```text
MMGEN-KEYGEN: Generate a range or list of secret keys from an MMGen wallet,
mnemonic, seed or brainwallet
- USAGE: mmgen-keygen [opts] [seed source]
+
+ USAGE: mmgen-keygen [opts] [seed source]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -83,12 +85,14 @@
subwallets from a single parent. This leaves each user with a total of two
million subwallets, which should be enough for most practical purposes.
+
PASSPHRASE NOTE:
For passphrases all combinations of whitespace are equal, and leading and
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/doc/wiki/cmds/command-help-msg.md b/doc/wiki/cmds/command-help-msg.md
index 6c613056..e76979fc 100644
--- a/doc/wiki/cmds/command-help-msg.md
+++ b/doc/wiki/cmds/command-help-msg.md
@@ -1,10 +1,13 @@
```text
MMGEN-MSG: Perform message signing operations for MMGen addresses
- USAGE: mmgen-msg [opts] create MESSAGE_TEXT ADDRESS_SPEC [...]
- mmgen-msg [opts] sign MESSAGE_FILE [WALLET_FILE ...]
- mmgen-msg [opts] verify MESSAGE_FILE [MMGen ID]
- mmgen-msg [opts] verify [address]
- mmgen-msg [opts] export MESSAGE_FILE [MMGen ID]
+
+ USAGE:
+ mmgen-msg [opts] create MESSAGE_TEXT ADDRESS_SPEC [...]
+ mmgen-msg [opts] sign MESSAGE_FILE [WALLET_FILE ...]
+ mmgen-msg [opts] verify MESSAGE_FILE [MMGen ID]
+ mmgen-msg [opts] verify [address]
+ mmgen-msg [opts] export MESSAGE_FILE [MMGen ID]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
diff --git a/doc/wiki/cmds/command-help-passchg.md b/doc/wiki/cmds/command-help-passchg.md
index c0641a9f..45dd2e47 100644
--- a/doc/wiki/cmds/command-help-passchg.md
+++ b/doc/wiki/cmds/command-help-passchg.md
@@ -1,6 +1,8 @@
```text
MMGEN-PASSCHG: Change the passphrase, hash preset or label of the default or specified MMGen wallet
- USAGE: mmgen-passchg [opts] [infile]
+
+ USAGE: mmgen-passchg [opts] [infile]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
diff --git a/doc/wiki/cmds/command-help-passgen.md b/doc/wiki/cmds/command-help-passgen.md
index f86358c2..9d156c64 100644
--- a/doc/wiki/cmds/command-help-passgen.md
+++ b/doc/wiki/cmds/command-help-passgen.md
@@ -1,7 +1,9 @@
```text
MMGEN-PASSGEN: Generate a range or list of passwords from an MMGen wallet,
mnemonic, seed or brainwallet for the given ID string
- USAGE: mmgen-passgen [opts] [seed source]
+
+ USAGE: mmgen-passgen [opts] [seed source]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -41,6 +43,7 @@
Changing either the password format (base32,base58) or length alters the seed
and thus generates a completely new set of passwords.
+
PASSWORD FORMATS:
Code Description Min Len Max Len Default Len
@@ -50,6 +53,7 @@
xmrseed - Monero new-style mnemonic 25 25 25
hex - hexadecimal password 32 64 64
+
EXAMPLES:
Generate ten base58 passwords of length 20 for Alice's email account:
@@ -78,6 +82,7 @@
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/doc/wiki/cmds/command-help-regtest.md b/doc/wiki/cmds/command-help-regtest.md
index c2ea7773..dce8311e 100644
--- a/doc/wiki/cmds/command-help-regtest.md
+++ b/doc/wiki/cmds/command-help-regtest.md
@@ -1,6 +1,8 @@
```text
MMGEN-REGTEST: Coin daemon regression test mode setup and operations for the MMGen suite
- USAGE: mmgen-regtest [opts]
+
+ USAGE: mmgen-regtest [opts]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
diff --git a/doc/wiki/cmds/command-help-seedjoin.md b/doc/wiki/cmds/command-help-seedjoin.md
index df438a05..61740ae9 100644
--- a/doc/wiki/cmds/command-help-seedjoin.md
+++ b/doc/wiki/cmds/command-help-seedjoin.md
@@ -1,7 +1,9 @@
```text
MMGEN-SEEDJOIN: Regenerate an MMGen deterministic wallet from seed shares
created by 'mmgen-seedsplit'
- USAGE: mmgen-seedjoin [options] share1 share2 [...shareN]
+
+ USAGE: mmgen-seedjoin [options] share1 share2 [...shareN]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -39,6 +41,7 @@
For usage examples, see the help screen for the 'mmgen-seedsplit' command.
+
PASSPHRASE NOTE:
For passphrases all combinations of whitespace are equal, and leading and
diff --git a/doc/wiki/cmds/command-help-seedsplit.md b/doc/wiki/cmds/command-help-seedsplit.md
index ac17a803..2f36ea39 100644
--- a/doc/wiki/cmds/command-help-seedsplit.md
+++ b/doc/wiki/cmds/command-help-seedsplit.md
@@ -1,6 +1,8 @@
```text
MMGEN-SEEDSPLIT: Generate a seed share from the default or specified MMGen wallet
- USAGE: mmgen-seedsplit [opts] [infile] [:]:
+
+ USAGE: mmgen-seedsplit [opts] [infile] [:]:
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -115,12 +117,14 @@
$ mmgen-seedsplit -M4 -o bip39 2:2 # Step N (share B)
$ mmgen-seedjoin -M4 -H my.hincog,1325
+
PASSPHRASE NOTE:
For passphrases all combinations of whitespace are equal, and leading and
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/doc/wiki/cmds/command-help-subwalletgen.md b/doc/wiki/cmds/command-help-subwalletgen.md
index 91cff5bf..d553c7b5 100644
--- a/doc/wiki/cmds/command-help-subwalletgen.md
+++ b/doc/wiki/cmds/command-help-subwalletgen.md
@@ -1,6 +1,8 @@
```text
MMGEN-SUBWALLETGEN: Generate a subwallet from the default or specified MMGen wallet
- USAGE: mmgen-subwalletgen [opts] [infile]
+
+ USAGE: mmgen-subwalletgen [opts] [infile]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -68,12 +70,14 @@
subwallets from a single parent. This leaves each user with a total of two
million subwallets, which should be enough for most practical purposes.
+
PASSPHRASE NOTE:
For passphrases all combinations of whitespace are equal, and leading and
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/doc/wiki/cmds/command-help-swaptxcreate.md b/doc/wiki/cmds/command-help-swaptxcreate.md
index 6f89ea19..1e5eb555 100644
--- a/doc/wiki/cmds/command-help-swaptxcreate.md
+++ b/doc/wiki/cmds/command-help-swaptxcreate.md
@@ -1,6 +1,8 @@
```text
MMGEN-SWAPTXCREATE: Create a DEX swap transaction from one MMGen tracking wallet to another
- USAGE: mmgen-swaptxcreate [opts] COIN1 [AMT CHG_ADDR] COIN2 [ADDR] [addr file ...]
+
+ USAGE: mmgen-swaptxcreate [opts] COIN1 [AMT CHG_ADDR] COIN2 [ADDR]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
diff --git a/doc/wiki/cmds/command-help-swaptxdo.md b/doc/wiki/cmds/command-help-swaptxdo.md
index daa79b68..c3eef5af 100644
--- a/doc/wiki/cmds/command-help-swaptxdo.md
+++ b/doc/wiki/cmds/command-help-swaptxdo.md
@@ -1,6 +1,8 @@
```text
MMGEN-SWAPTXDO: Create, sign and send a DEX swap transaction from one MMGen tracking wallet to another
- USAGE: mmgen-swaptxdo [opts] COIN1 [AMT CHG_ADDR] COIN2 [ADDR] [addr file ...] [seed source ...]
+
+ USAGE: mmgen-swaptxdo [opts] COIN1 [AMT CHG_ADDR] COIN2 [ADDR] [addr file ...] [seed source ...]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -215,7 +217,6 @@
Seed source files must have the canonical extensions listed in the 'FileExt'
column below:
-
FMT CODES:
Format FileExt Valid codes
diff --git a/doc/wiki/cmds/command-help-tool.md b/doc/wiki/cmds/command-help-tool.md
index 11130fce..56942b58 100644
--- a/doc/wiki/cmds/command-help-tool.md
+++ b/doc/wiki/cmds/command-help-tool.md
@@ -19,6 +19,8 @@
-q, --quiet Produce quieter output
-r, --usr-randchars n Get 'n' characters of additional randomness from
user (min=10, max=80)
+ -s, --scroll Use the curses-like scrolling interface for tracking
+ wallet views
-t, --type t Specify address type (valid choices: 'legacy',
'compressed', 'segwit', 'bech32', 'zcash_z')
-v, --verbose Produce more verbose output
@@ -205,5 +207,5 @@
Type ‘mmgen-tool help ’ for help on a particular command
- MMGEN-WALLET 16.1.dev37 May 2026 MMGEN-TOOL(1)
+ MMGEN-WALLET 16.1.dev41 May 2026 MMGEN-TOOL(1)
```
diff --git a/doc/wiki/cmds/command-help-txsign.md b/doc/wiki/cmds/command-help-txsign.md
index b6eb428f..d03192a8 100644
--- a/doc/wiki/cmds/command-help-txsign.md
+++ b/doc/wiki/cmds/command-help-txsign.md
@@ -1,6 +1,8 @@
```text
MMGEN-TXSIGN: Sign cryptocoin transactions generated by mmgen-txcreate
- USAGE: mmgen-txsign [opts] ... [seed source]...
+
+ USAGE: mmgen-txsign [opts] ... [seed source]...
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -67,7 +69,6 @@
Seed source files must have the canonical extensions listed in the 'FileExt'
column below:
-
FMT CODES:
Format FileExt Valid codes
diff --git a/doc/wiki/cmds/command-help-walletchk.md b/doc/wiki/cmds/command-help-walletchk.md
index db08bd60..5681cd4a 100644
--- a/doc/wiki/cmds/command-help-walletchk.md
+++ b/doc/wiki/cmds/command-help-walletchk.md
@@ -1,6 +1,8 @@
```text
MMGEN-WALLETCHK: Check validity of the default or specified MMGen wallet
- USAGE: mmgen-walletchk [opts] [infile]
+
+ USAGE: mmgen-walletchk [opts] [infile]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -28,6 +30,7 @@
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/doc/wiki/cmds/command-help-walletconv.md b/doc/wiki/cmds/command-help-walletconv.md
index 086a36d5..3b1b0dc5 100644
--- a/doc/wiki/cmds/command-help-walletconv.md
+++ b/doc/wiki/cmds/command-help-walletconv.md
@@ -1,6 +1,8 @@
```text
MMGEN-WALLETCONV: Convert the default or specified MMGen wallet from one format to another
- USAGE: mmgen-walletconv [opts] [infile]
+
+ USAGE: mmgen-walletconv [opts] [infile]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -39,6 +41,7 @@
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/doc/wiki/cmds/command-help-walletgen.md b/doc/wiki/cmds/command-help-walletgen.md
index 20041219..71dfd708 100644
--- a/doc/wiki/cmds/command-help-walletgen.md
+++ b/doc/wiki/cmds/command-help-walletgen.md
@@ -1,6 +1,8 @@
```text
MMGEN-WALLETGEN: Generate an MMGen wallet from a random seed
- USAGE: mmgen-walletgen [opts]
+
+ USAGE: mmgen-walletgen [opts]
+
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
@@ -31,6 +33,7 @@
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
+
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
diff --git a/mmgen/data/version b/mmgen/data/version
index f916348d..ef706671 100644
--- a/mmgen/data/version
+++ b/mmgen/data/version
@@ -1 +1 @@
-16.1.dev40
+16.1.dev41