diff --git a/Altcoin-and-Forkcoin-Support.md b/Altcoin-and-Forkcoin-Support.md
index ad75948..b98f01e 100644
--- a/Altcoin-and-Forkcoin-Support.md
+++ b/Altcoin-and-Forkcoin-Support.md
@@ -150,24 +150,10 @@ To transact ETH instead of EOS, omit the `--token` and `--token-addr` arguments.
##### Install the Solidity compiler
-To deploy Ethereum contracts with MMGen Wallet, you need version **0.8.7** of
-the Solidity compiler (`solc`) installed on your system. Although binary builds
-may be available for some distributions, the best way to ensure you have the
-correct version is to compile it from source.
-
-Clone the repository and build:
-
-```text
-$ git clone --recursive https://github.com/ethereum/solidity.git
-$ cd solidity
-$ git checkout v0.8.7
-$ ./scripts/install_deps.sh
-$ mkdir build
-$ cd build
-$ cmake -DUSE_CVC4=OFF -DUSE_Z3=OFF ..
-$ make -j4 solc
-$ sudo install -v --strip solc/solc /usr/local/bin
-```
+To deploy Ethereum contracts with MMGen Wallet, you need version **0.8.26** or
+newer of the Solidity compiler (`solc`) installed on your system. Static binary
+builds are available from the Solidity [Github repository][sb]. For other ways
+to install solc on your platform, refer to the [Solidity documentation][sd].
##### Create and deploy a token
@@ -368,3 +354,5 @@ the MMGen Project.
[p8]: Install-Bitcoind#a_r
[ge]: https://github.com/ethereum/go-ethereum
[mx]: command-help-xmrwallet
+[sb]: https://github.com/ethereum/solidity/releases
+[sd]: https://docs.soliditylang.org
diff --git a/Test-Suite.md b/Test-Suite.md
index ceee261..b487d3b 100644
--- a/Test-Suite.md
+++ b/Test-Suite.md
@@ -146,7 +146,8 @@ $ git clone https://github.com/10gic/vanitygen-plusplus
$ cd vanitygen-plusplus
$ git checkout -b vanitygen-plus e7858035d092 # rewind to fork commit
$ make keyconv # ‘mingw32-make.exe keyconv’ for MSYS2
-$ sudo install --strip keyconv /usr/local/bin # ‘keyconv.exe’ for MSYS2
+$ sudo install --strip keyconv /usr/local/bin # Linux
+$ install --strip keyconv.exe /usr/local/bin # MSYS2
$ cd ..
```
diff --git a/command-help-addrgen.md b/command-help-addrgen.md
index bbe3eed..1480aee 100644
--- a/command-help-addrgen.md
+++ b/command-help-addrgen.md
@@ -115,5 +115,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-ADDRGEN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-ADDRGEN(1)
```
diff --git a/command-help-addrimport.md b/command-help-addrimport.md
index a5ce61b..809d576 100644
--- a/command-help-addrimport.md
+++ b/command-help-addrimport.md
@@ -31,5 +31,5 @@
It’s recommended to use ‘--rpc-backend=aio’ with ‘--rescan’.
- MMGEN v14.0.0 November 2023 MMGEN-ADDRIMPORT(1)
+ MMGEN v14.1.0 July 2024 MMGEN-ADDRIMPORT(1)
```
diff --git a/command-help-autosign.md b/command-help-autosign.md
index e3fd63b..4548bb2 100644
--- a/command-help-autosign.md
+++ b/command-help-autosign.md
@@ -5,9 +5,9 @@
-h, --help Print this help message
--longhelp Print help message for long options (common options)
-c, --coins c Coins to sign for (comma-separated list)
- -C, --clean Remove unneeded files on the removable device
-I, --no-insert-check Don’t check for device insertion
- -l, --led Use status LED to signal standby, busy and error
+ -l, --seed-len N Specify wallet seed length of ‘N’ bits (for setup only)
+ -L, --led Use status LED to signal standby, busy and error
-m, --mountpoint M Specify an alternate mountpoint 'M'
(default: '/mnt/mmgen_autosign')
-M, --mnemonic-fmt F During setup, prompt for mnemonic seed phrase of format
@@ -27,10 +27,20 @@
OPERATIONS
- gen_key - generate the wallet encryption key and copy it to the mountpoint
- ‘/mnt/mmgen_autosign’ (as currently configured)
- setup - generate both wallet encryption key and temporary signing wallet
- wait - start in loop mode: wait-mount-sign-unmount-wait
+ clean - clean the removable device of unneeded files, removing only non-
+ essential data
+ gen_key - generate the wallet encryption key and copy it to the removable
+ device mounted at mountpoint ‘/mnt/mmgen_autosign’ (as currently
+ configured)
+ setup - generate both wallet encryption key and temporary signing wallet
+ xmr_setup - set up temporary Monero signing wallets. This operation needn’t
+ be performed by the user directly in most cases, as Monero setup
+ is done by the ‘setup’ command when --xmrwallets is specified
+ wait - start in loop mode: wait-mount-sign-unmount-wait
+ wipe_key - wipe the wallet encryption key on the removable device, making
+ signing transactions or stealing the user’s seed impossible.
+ The operation is intended as a ‘kill switch’ and thus performed
+ without prompting
USAGE NOTES
@@ -49,9 +59,7 @@
ready for device insertion or removal.
The removable device must have a partition labeled MMGEN_TX with a user-
- writable root directory and a directory named ‘/tx’, where unsigned MMGen
- transactions are placed. Optionally, the directory ‘/msg’ may be created
- and unsigned message files produced by ‘mmgen-msg’ placed there.
+ writable root directory.
On both the signing and online machines the mountpoint ‘/mnt/mmgen_autosign’
(as currently configured) must exist and ‘/etc/fstab’ must contain the
@@ -102,5 +110,5 @@
Always remember to power off the signing machine when your signing session
is over.
- MMGEN v14.0.0 November 2023 MMGEN-AUTOSIGN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-AUTOSIGN(1)
```
diff --git a/command-help-keygen.md b/command-help-keygen.md
index ff985fc..6be5ab1 100644
--- a/command-help-keygen.md
+++ b/command-help-keygen.md
@@ -120,5 +120,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-KEYGEN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-KEYGEN(1)
```
diff --git a/command-help-msg.md b/command-help-msg.md
index 7cf8ab1..786e4ab 100644
--- a/command-help-msg.md
+++ b/command-help-msg.md
@@ -104,5 +104,5 @@
Verify and display the exported JSON signature data:
$ mmgen-msg verify signatures.json
- MMGEN v14.0.0 November 2023 MMGEN-MSG(1)
+ MMGEN v14.1.0 July 2024 MMGEN-MSG(1)
```
diff --git a/command-help-passchg.md b/command-help-passchg.md
index 9b3743b..1358086 100644
--- a/command-help-passchg.md
+++ b/command-help-passchg.md
@@ -52,5 +52,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-PASSCHG(1)
+ MMGEN v14.1.0 July 2024 MMGEN-PASSCHG(1)
```
diff --git a/command-help-passgen.md b/command-help-passgen.md
index ffb4c9a..3c56bb2 100644
--- a/command-help-passgen.md
+++ b/command-help-passgen.md
@@ -100,5 +100,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-PASSGEN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-PASSGEN(1)
```
diff --git a/command-help-regtest.md b/command-help-regtest.md
index 2e8bdf4..402cd5c 100644
--- a/command-help-regtest.md
+++ b/command-help-regtest.md
@@ -4,6 +4,7 @@
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long options (common options)
+ -b, --bdb-wallet Create and use a legacy Berkeley DB coin daemon wallet
-e, --empty Don't fund Bob and Alice's wallets on setup
-n, --setup-no-stop-daemon Don't stop daemon after setup is finished
-q, --quiet Produce quieter output
@@ -24,5 +25,5 @@
wallet_cli - execute a wallet RPC call with supplied arguments (wallet
is first argument)
- MMGEN v14.0.0 November 2023 MMGEN-REGTEST(1)
+ MMGEN v14.1.0 July 2024 MMGEN-REGTEST(1)
```
diff --git a/command-help-seedjoin.md b/command-help-seedjoin.md
index f44eb25..8555628 100644
--- a/command-help-seedjoin.md
+++ b/command-help-seedjoin.md
@@ -61,5 +61,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-SEEDJOIN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-SEEDJOIN(1)
```
diff --git a/command-help-seedsplit.md b/command-help-seedsplit.md
index 4a6fd93..833782a 100644
--- a/command-help-seedsplit.md
+++ b/command-help-seedsplit.md
@@ -143,5 +143,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-SEEDSPLIT(1)
+ MMGEN v14.1.0 July 2024 MMGEN-SEEDSPLIT(1)
```
diff --git a/command-help-subwalletgen.md b/command-help-subwalletgen.md
index d7b07fd..e8e1b53 100644
--- a/command-help-subwalletgen.md
+++ b/command-help-subwalletgen.md
@@ -96,5 +96,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-SUBWALLETGEN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-SUBWALLETGEN(1)
```
diff --git a/command-help-tool(detail).md b/command-help-tool(detail).md
index 47b450c..2e56413 100644
--- a/command-help-tool(detail).md
+++ b/command-help-tool(detail).md
@@ -808,12 +808,28 @@ Optional KEYWORD ARGS (type and default value shown in square brackets):
## File utilities:
-### `mmgen-tool extract_key_from_geth_wallet`
+### `mmgen-tool decrypt_keystore`
```text
-Decrypt the encrypted private key in a Geth keystore wallet, returning the decrypted key
+Decrypt the data in a keystore wallet, returning the decrypted data in binary format
-USAGE: mmgen-tool [OPTS] extract_key_from_geth_wallet ARG [KEYWORD ARG]
+USAGE: mmgen-tool [OPTS] decrypt_keystore ARG [KEYWORD ARG]
+
+Required ARG (type shown in square brackets):
+
+ wallet_file [str]
+
+Optional KEYWORD ARG (type and default value shown in square brackets):
+
+ output_hex [bool=False]
+```
+
+### `mmgen-tool decrypt_geth_keystore`
+
+```text
+Decrypt the private key in a Geth keystore wallet, returning the decrypted key in hex format
+
+USAGE: mmgen-tool [OPTS] decrypt_geth_keystore ARG [KEYWORD ARG]
Required ARG (type shown in square brackets):
@@ -1224,5 +1240,5 @@ Optional KEYWORD ARGS (type and default value shown in square brackets):
```
```text
-MMGEN v14.0.0 November 2023 MMGEN-TOOL(DETAIL)(1)
+MMGEN v14.1.0 July 2024 MMGEN-TOOL(DETAIL)(1)
```
diff --git a/command-help-tool(usage).md b/command-help-tool(usage).md
index 06c8a77..4a3d759 100644
--- a/command-help-tool(usage).md
+++ b/command-help-tool(usage).md
@@ -123,9 +123,10 @@ GENERAL USAGE INFORMATION FOR MMGEN-TOOL COMMANDS
File utilities:
- extract_key_from_geth_wallet wallet_file [str] check_addr [bool=True]
- find_incog_data filename [str] incog_id [str] keep_searching [bool=False]
- rand2file outfile [str] nbytes [str] threads [int=4] silent [bool=False]
+ decrypt_keystore wallet_file [str] output_hex [bool=False]
+ decrypt_geth_keystore wallet_file [str] check_addr [bool=True]
+ find_incog_data filename [str] incog_id [str] keep_searching [bool=False]
+ rand2file outfile [str] nbytes [str] threads [int=4] silent [bool=False]
Key, address or subseed generation from an MMGen wallet:
@@ -186,5 +187,5 @@ EXAMPLES:
Same as above, but supply input via STDIN:
$ echo "deadbeefcafe" | mmgen-tool hexreverse -
- MMGEN v14.0.0 November 2023 MMGEN-TOOL(USAGE)(1)
+ MMGEN v14.1.0 July 2024 MMGEN-TOOL(USAGE)(1)
```
diff --git a/command-help-tool.md b/command-help-tool.md
index ea980f9..8efc60a 100644
--- a/command-help-tool.md
+++ b/command-help-tool.md
@@ -148,13 +148,14 @@
File utilities:
- extract_key_from_geth_wallet - decrypt the encrypted private key in a Geth
- keystore wallet, returning the decrypted key
- find_incog_data - Use an Incog ID to find hidden incognito
- wallet data
- rand2file - write ‘nbytes’ bytes of random data to
- specified file (dd-style byte specifiers
- supported)
+ decrypt_keystore - decrypt the data in a keystore wallet, returning
+ the decrypted data in binary format
+ decrypt_geth_keystore - decrypt the private key in a Geth keystore wallet,
+ returning the decrypted key in hex format
+ find_incog_data - Use an Incog ID to find hidden incognito wallet
+ data
+ rand2file - write ‘nbytes’ bytes of random data to specified
+ file (dd-style byte specifiers supported)
Key, address or subseed generation from an MMGen wallet:
@@ -197,5 +198,5 @@
Type ‘mmgen-tool help ’ for help on a particular command
- MMGEN v14.0.0 November 2023 MMGEN-TOOL(1)
+ MMGEN v14.1.0 July 2024 MMGEN-TOOL(1)
```
diff --git a/command-help-txbump.md b/command-help-txbump.md
index 279af00..412e613 100644
--- a/command-help-txbump.md
+++ b/command-help-txbump.md
@@ -2,10 +2,17 @@
MMGEN-TXBUMP: Increase the fee on a replaceable (RBF) MMGen transaction,
creating a new transaction, and optionally sign and send the
new transaction
- USAGE: mmgen-txbump [opts] [seed source] ...
+ USAGE: mmgen-txbump [opts] [MMGen TX file] [seed source] ...
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long options (common options)
+ -a, --autosign Bump the most recent transaction created and sent with
+ the --autosign option. The removable device is mounted
+ and unmounted automatically. The transaction file
+ argument must be omitted. Note that only sent trans-
+ actions may be bumped with this option. To redo an
+ unsent --autosign transaction, first delete it using
+ ‘mmgen-txsend --abort’ and then create a new one
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
brainwallet input
-c, --comment-file f Source the transaction's comment from file 'f'
@@ -87,5 +94,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-TXBUMP(1)
+ MMGEN v14.1.0 July 2024 MMGEN-TXBUMP(1)
```
diff --git a/command-help-txcreate.md b/command-help-txcreate.md
index 178400f..3842310 100644
--- a/command-help-txcreate.md
+++ b/command-help-txcreate.md
@@ -4,7 +4,10 @@
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long options (common options)
- -a, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
+ -a, --autosign Create a transaction for offline autosigning (see
+ ‘mmgen-autosign’). The removable device is mounted and
+ unmounted automatically
+ -A, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
-B, --no-blank Don't blank screen before displaying unspent outputs
-c, --comment-file f Source the transaction's comment from file 'f'
-C, --fee-estimate-confs c Desired number of confirmations for fee estimation
@@ -27,7 +30,8 @@
-m, --minconf n Minimum number of confirmations required to spend
outputs (default: 1)
-q, --quiet Suppress warnings; overwrite files without prompting
- -r, --rbf Make transaction BIP 125 replaceable (replace-by-fee)
+ -R, --no-rbf Make transaction non-replaceable (non-replace-by-fee
+ according to BIP 125)
-v, --verbose Produce more verbose output
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
-y, --yes Answer 'yes' to prompts, suppress non-essential output
@@ -98,5 +102,5 @@
$ mmgen-txcreate S
- MMGEN v14.0.0 November 2023 MMGEN-TXCREATE(1)
+ MMGEN v14.1.0 July 2024 MMGEN-TXCREATE(1)
```
diff --git a/command-help-txdo.md b/command-help-txdo.md
index af80139..c9a1438 100644
--- a/command-help-txdo.md
+++ b/command-help-txdo.md
@@ -4,7 +4,7 @@
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long options (common options)
- -a, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
+ -A, --fee-adjust f Adjust transaction fee by factor 'f' (see below)
-b, --brain-params l,p Use seed length 'l' and hash preset 'p' for
brainwallet input
-B, --no-blank Don't blank screen before displaying unspent outputs
@@ -46,7 +46,8 @@
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
for password hashing (default: '3')
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
- -r, --rbf Make transaction BIP 125 (replace-by-fee) replaceable
+ -R, --no-rbf Make transaction non-replaceable (non-replace-by-fee
+ according to BIP 125)
-q, --quiet Suppress warnings; overwrite files without prompting
-u, --subseeds n The number of subseed pairs to scan for (default: 100,
maximum: 1000000). Only the default or first supplied
@@ -164,5 +165,5 @@
$ mmgen-txdo S
- MMGEN v14.0.0 November 2023 MMGEN-TXDO(1)
+ MMGEN v14.1.0 July 2024 MMGEN-TXDO(1)
```
diff --git a/command-help-txsend.md b/command-help-txsend.md
index 16260ae..a042864 100644
--- a/command-help-txsend.md
+++ b/command-help-txsend.md
@@ -1,13 +1,22 @@
```text
MMGEN-TXSEND: Send a signed MMGen cryptocoin transaction
- USAGE: mmgen-txsend [opts]
+ USAGE: mmgen-txsend [opts] [signed transaction file]
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long options (common options)
+ -a, --autosign Send an autosigned transaction created by ‘mmgen-txcreate
+ --autosign’. The removable device is mounted and unmounted
+ automatically. The transaction file argument must be omitted
+ when using this option
+ -A, --abort Abort an unsent transaction created by ‘mmgen-txcreate
+ --autosign’ and delete it from the removable device. The
+ transaction may be signed or unsigned.
-d, --outdir d Specify an alternate directory 'd' for output
-q, --quiet Suppress warnings; overwrite files without prompting
- -s, --status Get status of a sent transaction
+ -s, --status Get status of a sent transaction (or the current transaction,
+ whether sent or unsent, when used with --autosign)
+ -v, --verbose Be more verbose
-y, --yes Answer 'yes' to prompts, suppress non-essential output
- MMGEN v14.0.0 November 2023 MMGEN-TXSEND(1)
+ MMGEN v14.1.0 July 2024 MMGEN-TXSEND(1)
```
diff --git a/command-help-txsign.md b/command-help-txsign.md
index 494e341..e15ee91 100644
--- a/command-help-txsign.md
+++ b/command-help-txsign.md
@@ -79,5 +79,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-TXSIGN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-TXSIGN(1)
```
diff --git a/command-help-walletchk.md b/command-help-walletchk.md
index cf2d9bc..90e7461 100644
--- a/command-help-walletchk.md
+++ b/command-help-walletchk.md
@@ -50,5 +50,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-WALLETCHK(1)
+ MMGEN v14.1.0 July 2024 MMGEN-WALLETCHK(1)
```
diff --git a/command-help-walletconv.md b/command-help-walletconv.md
index 6f1264f..d9053e9 100644
--- a/command-help-walletconv.md
+++ b/command-help-walletconv.md
@@ -61,5 +61,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-WALLETCONV(1)
+ MMGEN v14.1.0 July 2024 MMGEN-WALLETCONV(1)
```
diff --git a/command-help-walletgen.md b/command-help-walletgen.md
index 30b2336..6ef9d08 100644
--- a/command-help-walletgen.md
+++ b/command-help-walletgen.md
@@ -53,5 +53,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
- MMGEN v14.0.0 November 2023 MMGEN-WALLETGEN(1)
+ MMGEN v14.1.0 July 2024 MMGEN-WALLETGEN(1)
```
diff --git a/command-help-xmrwallet.md b/command-help-xmrwallet.md
index c71642f..cb14a15 100644
--- a/command-help-xmrwallet.md
+++ b/command-help-xmrwallet.md
@@ -1,17 +1,16 @@
```text
MMGEN-XMRWALLET: Perform various Monero wallet and transacting operations for
addresses in an MMGen XMR key-address file
- USAGE: mmgen-xmrwallet [opts] create | sync | list | dump | restore [xmr_keyaddrfile] [wallets]
+ USAGE: mmgen-xmrwallet [opts] create | sync | list | view | listview | dump | restore [xmr_keyaddrfile] [wallets]
mmgen-xmrwallet [opts] label [xmr_keyaddrfile] LABEL_SPEC
mmgen-xmrwallet [opts] new [xmr_keyaddrfile] NEW_ADDRESS_SPEC
mmgen-xmrwallet [opts] transfer [xmr_keyaddrfile] TRANSFER_SPEC
- mmgen-xmrwallet [opts] sweep [xmr_keyaddrfile] SWEEP_SPEC
+ mmgen-xmrwallet [opts] sweep | sweep_all [xmr_keyaddrfile] SWEEP_SPEC
mmgen-xmrwallet [opts] submit [TX_file]
mmgen-xmrwallet [opts] relay
- mmgen-xmrwallet [opts] resubmit
+ mmgen-xmrwallet [opts] resubmit | abort (for use with --autosign only)
mmgen-xmrwallet [opts] txview | txlist [TX_file] ...
- mmgen-xmrwallet [opts] export-outputs [wallets]
- mmgen-xmrwallet [opts] import-key-images [wallets]
+ mmgen-xmrwallet [opts] export-outputs | export-outputs-sign | import-key-images [wallets]
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long options (common
@@ -21,17 +20,29 @@
When this option is in effect, filename argu-
ments must be omitted, as files are located
automatically.
+ -f, --priority N Specify an integer priority ‘N’ for inclusion
+ of a transaction in the blockchain (higher
+ number means higher fee). Valid parameters:
+ 1=low 2=normal 3=high 4=highest. If option
+ is omitted, the default priority will be used
+ -F, --full-address Print addresses in full instead of truncating
-m, --autosign-mountpoint P Specify the autosign mountpoint (defaults to
‘/mnt/mmgen_autosign’, implies --autosign)
-b, --rescan-blockchain Rescan the blockchain if wallet fails to sync
-d, --outdir D Save transaction files to directory 'D'
instead of the working directory
-D, --daemon H:P Connect to the monerod at HOST:PORT
- -R, --tx-relay-daemon H:P[:H:P] Relay transactions via a monerod specified by
- HOST:PORT[:PROXY_HOST:PROXY_PORT]
+ -e, --skip-empty-accounts Skip display of empty accounts in wallets
+ where applicable
+ -E, --skip-empty-addresses Skip display of used empty addresses in
+ wallets where applicable
-k, --use-internal-keccak-module Force use of the internal keccak module
-p, --hash-preset P Use scrypt hash preset 'P' for password
hashing (default: '3')
+ -P, --rescan-spent Perform a rescan of spent outputs. Used only
+ with the ‘export-outputs-sign’ operation
+ -R, --tx-relay-daemon H:P[:H:P] Relay transactions via a monerod specified by
+ HOST:PORT[:PROXY_IP:PROXY_PORT]
-r, --restore-height H Scan from height 'H' when creating wallets.
Use special value ‘current’ to create empty
wallet at current blockchain height.
@@ -56,8 +67,8 @@
localhost at the default RPC port.
If --tx-relay-daemon is specified, the monerod at HOST:PORT will be used to
- relay any created transactions. PROXY_HOST:PROXY_PORT, if specified, may
- point to a SOCKS proxy, in which case HOST may be a Tor onion address.
+ relay any created transactions. PROXY_IP:PROXY_PORT, if specified, may point
+ to a SOCKS proxy, in which case HOST may be a Tor onion address.
All communications use the RPC protocol via SSL (HTTPS) or Tor. RPC over
plain HTTP is not supported.
@@ -67,28 +78,37 @@
create - create wallets for all or specified addresses in key-address file
sync - sync wallets for all or specified addresses in key-address file
+ and display a summary of accounts and balances
list - same as ‘sync’, but also list detailed address info for accounts
+ view - display a summary of accounts and balances in offline mode. May
+ be invoked without a running monerod
+ listview - same as ‘view’, but also list detailed address info for accounts
label - set a label for an address
new - create a new account in a wallet, or a new address in an account
transfer - transfer specified XMR amount from specified wallet:account to
specified address
sweep - sweep funds in specified wallet:account to new address in same
- account or new account in another wallet
+ account, or new or specified account in another wallet
+ sweep_all - same as above, but sweep balances of all addresses in the account
relay - relay a transaction from a transaction file created using ‘sweep’
or ‘transfer’ with the --no-relay option
submit - submit an autosigned transaction to a wallet and the network
resubmit - resubmit most recently submitted autosigned transaction (other
actions are required: see Exporting Outputs below)
+ abort - abort the current transaction created with --autosign. The
+ transaction may be signed or unsigned
txview - display detailed information about a transaction file or files
txlist - same as above, but display terse information in tabular format
dump - produce JSON dumps of wallet metadata (accounts, addresses and
labels) for a list or range of wallets
restore - same as ‘create’, but additionally restore wallet metadata from
the corresponding JSON dump files created with ‘dump’
- export-outputs - export outputs of watch-only wallets for later import
- into their corresponding offline wallets
- import-key-images - import key images signed by offline wallets into their
- corresponding watch-only wallets
+ export-outputs - export outputs of watch-only wallets for import into
+ their corresponding offline wallets
+ export-outputs-sign - same as above, plus request offline wallet to create
+ signed key images for import by ‘import-key-images’
+ import-key-images - import key images signed by offline wallets into their
+ corresponding watch-only wallets
‘LABEL’ OPERATION NOTES
@@ -107,10 +127,10 @@
WALLET[:ACCOUNT][,"label text"]
- where WALLET is a wallet number and ACCOUNT an account index. If ACCOUNT is
- omitted, a new account will be created in the wallet, otherwise a new address
- will be created in the specified account. An optional label text may be
- appended to the spec following a comma.
+ where WALLET is a wallet number and ACCOUNT an account index. If ACCOUNT
+ is omitted, a new account will be created in the wallet. Otherwise a new
+ address will be created in the specified account. An optional label text
+ may be appended to the spec following a comma.
‘TRANSFER’ OPERATION NOTES
@@ -119,29 +139,35 @@
SOURCE:ACCOUNT:ADDRESS,AMOUNT
- where SOURCE is a wallet number; ACCOUNT the source account index; and ADDRESS
- and AMOUNT the destination Monero address and XMR amount, respectively.
+ where SOURCE is a wallet number, ACCOUNT the source account index, ADDRESS
+ the destination Monero address and AMOUNT the XMR amount to be sent.
- ‘SWEEP’ OPERATION NOTES
+ ‘SWEEP’ AND ‘SWEEP_ALL’ OPERATION NOTES
- The sweep operation takes a SWEEP_SPEC arg with the following format:
+ The sweep and sweep_all operations take a SWEEP_SPEC arg with the following
+ format:
- SOURCE:ACCOUNT[,DEST]
+ SOURCE:ACCOUNT[,DEST[:ACCOUNT]]
- where SOURCE and DEST are wallet numbers and ACCOUNT an account index.
+ where SOURCE and DEST are wallet numbers and ACCOUNT account indices for the
+ respective wallets.
- If DEST is omitted, a new address will be created in ACCOUNT of SOURCE and
- all funds from ACCOUNT of SOURCE will be swept into it.
+ If DEST is omitted, a new address will be created in ACCOUNT of SOURCE, and
+ funds from ACCOUNT of SOURCE will be swept into it.
- If DEST is included, all funds from ACCOUNT of SOURCE will be swept into a
- newly created account in DEST, or the last existing account, if requested
- by the user.
+ If DEST is included without its related ACCOUNT, funds from ACCOUNT of SOURCE
+ will be swept into a newly created account in DEST, or the last existing
+ account of DEST, if requested by the user.
- The user is prompted before addresses are created or funds are transferred.
+ If both account indices are included, funds from ACCOUNT of SOURCE will be
+ swept into ACCOUNT of DEST.
- Note that multiple sweep operations may be required to sweep all the funds
- in an account.
+ The user is prompted before addresses are created or funds transferred.
+
+ With ‘sweep’, if the source account has more than one address with a balance,
+ the balance of a single randomly chosen address will be swept. To sweep the
+ balances of all addresses in an account, use ‘sweep_all’.
‘SUBMIT’ AND ‘RELAY’ OPERATION NOTES
@@ -368,26 +394,36 @@
You might also need to do it, however, if an offline wallet is unable to sign
a transaction due to missing outputs.
- Export outputs from a wallet as follows (note that the --rescan-blockchain
- option is required only after a ‘resubmit’ – otherwise it should be omitted):
-
- $ mmgen-xmrwallet --autosign --rescan-blockchain export-outputs
-
At the start of a new signing session, you must export outputs from ALL
wallets you intend to transact with. This is necessary because the offline
signing wallets have just been created and know nothing about the state of
- their watch-only counterparts.
+ their online counterparts.
- Then insert the removable device on the offline machine to import the outputs
- into the corresponding signing wallet(s) (and optionally redo any failed
- transaction signing operation). The signing wallet(s) will also create
- signed key images.
+ Export outputs from a wallet as follows (for all wallets, omit the index):
- Following a ‘resubmit’, you must then import the signed key images into your
- online wallet as follows:
+ $ mmgen-xmrwallet --autosign export-outputs
+
+ Then insert the removable device on the offline machine. This will import
+ the outputs into the corresponding signing wallet(s) (and optionally redo any
+ failed transaction signing operation).
+
+ Following a ‘resubmit’, use the ‘export-outputs-sign’ operation instead, and
+ add the --rescan-spent option:
+
+ $ mmgen-xmrwallet --autosign --rescan-spent export-outputs-sign
+
+ Here the offline signing wallet(s) will also create signed key images. Insert
+ the removable device on your online machine and import the signed key images
+ into your online wallet as follows:
$ mmgen-xmrwallet --autosign import-key-images
+ Usually, this is all that is required. However, if your wallet continues to
+ show an incorrect balance after the import operation, you’ll need to re-run
+ ‘export-outputs-sign’ with the --rescan-blockchain option, followed by another
+ offline signing and online key image import. Note that blockchain rescans can
+ take a long time, so patience is required here.
+
Replacing Existing Hot Wallets with Watch-Only Wallets
@@ -443,7 +479,7 @@
Once your watch-only wallets are synced, you need to export their outputs:
- $ mmgen-xmrwallet --autosign export-outputs
+ $ mmgen-xmrwallet --autosign export-outputs-sign
Now insert the removable device on the offline machine and wait until the LED
stops flashing (or ‘safe to extract’). The wallet outputs are now imported
@@ -464,5 +500,5 @@
to delete your old hot wallets, make sure to do so securely using ‘shred’,
‘wipe’ or some other secure deletion utility.
- MMGEN v14.0.0 November 2023 MMGEN-XMRWALLET(1)
+ MMGEN v14.1.0 July 2024 MMGEN-XMRWALLET(1)
```