update command documentation

This commit is contained in:
The MMGen Project 2025-05-21 09:13:42 +00:00
commit 427834255e
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
10 changed files with 165 additions and 70 deletions

View file

@ -16,9 +16,13 @@
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
'conservative','economical'. Default: 'conservative'
-f, --fee f Transaction fee, as a decimal BTC amount or as
satoshis per byte (an integer followed by 's').
satoshis per byte (an integer followed by ‘s’).
See FEE SPECIFICATION below. If omitted, fee will be
calculated using network fee estimation.
-g, --gas N Set the gas limit for Ethereum (see GAS LIMIT below)
-G, --router-gas N Set the gas limit for the Ethereum router contract
(integer). When unset, a hardcoded default will be
used. Applicable only for swaps from token assets.
-i, --info Display unspent outputs and exit
-I, --inputs i Specify transaction inputs (comma-separated list of
MMGen IDs or coin addresses). Note that ALL unspent
@ -29,11 +33,15 @@
-m, --minconf n Minimum number of confirmations required to spend
outputs (default: 1)
-q, --quiet Suppress warnings; overwrite files without prompting
-r, --stream-interval N Set block interval for streaming swap (default: 3)
-s, --swap-proto Swap protocol to use (Default: thorchain,
Choices: 'thorchain')
-S, --list-assets List available swap assets
-v, --verbose Produce more verbose output
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
-x, --proxy P Fetch the swap quote via SOCKS5 proxy ‘P’ (host:port)
-x, --proxy P Fetch the swap quote via SOCKS5h proxy ‘P’ (host:port).
Use special value ‘env’ to honor *_PROXY environment
vars instead.
-y, --yes Answer 'yes' to prompts, suppress non-essential output
@ -56,19 +64,19 @@
automount is likewise supported via the --autosign option.
The command line must contain at minimum a send coin (COIN1) and receive coin
(COIN2) symbol. Currently supported coins are BTC, LTC and BCH. All other
arguments are optional. If AMT is specified, the specified value of send coin
will be swapped and the rest returned to a change address in the originating
tracking wallet. Otherwise, the entire value of the interactively selected
inputs will be swapped.
(COIN2) symbol. Currently supported coins are BTC, LTC, BCH and ETH. All
other arguments are optional. If AMT is specified, the specified value of
send coin will be swapped and the rest returned to a change address in the
originating tracking wallet. Otherwise, the entire value of the interactively
selected inputs will be swapped.
By default, the change and destination addresses are chosen automatically by
finding the lowest-indexed unused addresses of the preferred address types in
the send and receive tracking wallets. For Bitcoin and forks, types ‘B’,
‘S’ and ‘C’ (see ADDRESS TYPES below) are searched in that order for unused
addresses. Note that sending to an unused address may be undesirable for
Ethereum, where address (i.e. account) reuse is the norm. In that case, the
user should specify a destination address on the command line.
By default, the change (if applicable) and destination addresses are chosen
automatically by finding the lowest-indexed unused addresses of the preferred
address types in the send and receive tracking wallets. For Bitcoin and
forks, types ‘B’, ‘S’ and ‘C’ (see ADDRESS TYPES below) are searched in that
order for unused addresses. Note that sending to an unused address may be
undesirable for Ethereum, where address (i.e. account) reuse is the norm. In
that case, the user should specify a destination address on the command line.
If the wallet contains eligible unused addresses with multiple Seed IDs, the
user will be presented with a list of the lowest-indexed addresses of
@ -91,21 +99,21 @@
When choosing a fee, bear in mind that the longer the transaction remains
unconfirmed, the greater the risk that the vault address will expire, leading
to loss of funds. It’s therefore advisable to learn how to create, sign and
to loss of funds. It’s therefore recommended to learn how to create, sign and
send replacement transactions with ‘mmgen-txbump’ before performing a swap
with this script. When bumping a stuck swap transaction, the safest option
is to create a replacement transaction with one output that returns funds back
to the originating tracking wallet, thus aborting the swap, rather than one
that merely increases the fee (see EXAMPLES below).
Before broadcasting the transaction, it’s advisable to double-check the vault
address on a block explorer such as thorchain.net or runescan.io.
Before broadcasting the transaction, it’s a good idea to double-check the
vault address on a block explorer such as thorchain.net or runescan.io.
The MMGen Node Tools suite contains two useful tools to help with fine-tuning
transaction fees, ‘mmnode-feeview’ and ‘mmnode-blocks-info’, in addition to
‘mmnode-ticker’, which can be used to calculate the current cross-rate between
the asset pair of a swap, as well as the total receive value in terms of the
send value.
the asset pair of a swap, as well as the total receive value in terms of send
value.
TRADE LIMIT
@ -140,15 +148,34 @@
‘M’ monero - Monero address
GAS LIMIT
This option specifies the maximum gas allowance for an Ethereum transaction.
It’s generally of interest only for token transactions or swap transactions
from token assets.
Parameter must be an integer or one of the special values ‘fallback’ (for a
locally computed sane default) or ‘auto’ (for gas estimate via an RPC call,
in the case of a token transaction, or locally computed default, in the case
of a standard transaction). The default is ‘auto’.
FEE SPECIFICATION
Transaction fees, both on the command line and at the interactive prompt, may
be specified as either absolute BTC amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by 's', for satoshi.
be specified as either absolute coin amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by ‘s’, for satoshi (for
Bitcoin, Litecoin and Bitcoin Cash), or gas price, using an integer followed
by ‘w’,‘K’,‘M’,‘G’,‘s’ or ‘f’, for wei, Kwei, Mwei, Gwei, szabo and finney,
respectively (for Ethereum)
EXAMPLES:
Display available swap assets:
$ mmgen-swaptxcreate -S
Create a BTC-to-LTC swap transaction, prompting the user for transaction
inputs. The full value of the inputs, minus miner fees, will be swapped
and sent to an unused address in the user’s LTC tracking wallet:
@ -200,5 +227,22 @@
$ mmgen-tool --coin=bch --bch-rpc-host=gemini twview minconf=0
MMGEN v15.1.dev23 March 2025 MMGEN-SWAPTXCREATE(1)
Create a Tether-to-LTC swap transaction for autosigning, connecting to the
swap quote server via Tor:
$ mmgen-swaptxcreate --autosign --proxy=localhost:9050 ETH.USDT 1000 LTC
After signing, send the transaction via public Etherscan proxy over Tor:
$ mmgen-txsend --autosign --quiet --tx-proxy=etherscan --proxy=localhost:9050
After sending, check the transaction status:
$ mmgen-txsend --autosign --verbose --status
Create a Tether-to-DAI swap transaction, with explicit destination account:
$ mmgen-swaptxcreate ETH.USDT 1000 ETH.DAI E:01234ABC:3
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-SWAPTXCREATE(1)
```

View file

@ -16,9 +16,13 @@
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
'conservative','economical'. Default: 'conservative'
-f, --fee f Transaction fee, as a decimal BTC amount or as
satoshis per byte (an integer followed by 's').
satoshis per byte (an integer followed by ‘s’).
See FEE SPECIFICATION below. If omitted, fee will be
calculated using network fee estimation.
-g, --gas N Set the gas limit for Ethereum (see GAS LIMIT below)
-G, --router-gas N Set the gas limit for the Ethereum router contract
(integer). When unset, a hardcoded default will be
used. Applicable only for swaps from token assets.
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
'f' at offset 'o' (comma-separated)
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
@ -46,14 +50,19 @@
for password hashing (default: '3')
-P, --passwd-file f Get MMGen wallet passphrase from file 'f'
-q, --quiet Suppress warnings; overwrite files without prompting
-r, --stream-interval N Set block interval for streaming swap (default: 3)
-s, --swap-proto Swap protocol to use (Default: thorchain,
Choices: 'thorchain')
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction.
Indexing begins with one.
-u, --subseeds n The number of subseed pairs to scan for (default: 100,
maximum: 1000000). Only the default or first supplied
wallet is scanned for subseeds.
-v, --verbose Produce more verbose output
-V, --vsize-adj f Adjust transaction's estimated vsize by factor 'f'
-x, --proxy P Fetch the swap quote via SOCKS5 proxy ‘P’ (host:port)
-x, --proxy P Fetch the swap quote via SOCKS5h proxy ‘P’ (host:port).
Use special value ‘env’ to honor *_PROXY environment
vars instead.
-y, --yes Answer 'yes' to prompts, suppress non-essential output
-z, --show-hash-presets Show information on available hash presets
@ -77,19 +86,19 @@
automount is likewise supported via the --autosign option.
The command line must contain at minimum a send coin (COIN1) and receive coin
(COIN2) symbol. Currently supported coins are BTC, LTC and BCH. All other
arguments are optional. If AMT is specified, the specified value of send coin
will be swapped and the rest returned to a change address in the originating
tracking wallet. Otherwise, the entire value of the interactively selected
inputs will be swapped.
(COIN2) symbol. Currently supported coins are BTC, LTC, BCH and ETH. All
other arguments are optional. If AMT is specified, the specified value of
send coin will be swapped and the rest returned to a change address in the
originating tracking wallet. Otherwise, the entire value of the interactively
selected inputs will be swapped.
By default, the change and destination addresses are chosen automatically by
finding the lowest-indexed unused addresses of the preferred address types in
the send and receive tracking wallets. For Bitcoin and forks, types ‘B’,
‘S’ and ‘C’ (see ADDRESS TYPES below) are searched in that order for unused
addresses. Note that sending to an unused address may be undesirable for
Ethereum, where address (i.e. account) reuse is the norm. In that case, the
user should specify a destination address on the command line.
By default, the change (if applicable) and destination addresses are chosen
automatically by finding the lowest-indexed unused addresses of the preferred
address types in the send and receive tracking wallets. For Bitcoin and
forks, types ‘B’, ‘S’ and ‘C’ (see ADDRESS TYPES below) are searched in that
order for unused addresses. Note that sending to an unused address may be
undesirable for Ethereum, where address (i.e. account) reuse is the norm. In
that case, the user should specify a destination address on the command line.
If the wallet contains eligible unused addresses with multiple Seed IDs, the
user will be presented with a list of the lowest-indexed addresses of
@ -112,21 +121,21 @@
When choosing a fee, bear in mind that the longer the transaction remains
unconfirmed, the greater the risk that the vault address will expire, leading
to loss of funds. It’s therefore advisable to learn how to create, sign and
to loss of funds. It’s therefore recommended to learn how to create, sign and
send replacement transactions with ‘mmgen-txbump’ before performing a swap
with this script. When bumping a stuck swap transaction, the safest option
is to create a replacement transaction with one output that returns funds back
to the originating tracking wallet, thus aborting the swap, rather than one
that merely increases the fee (see EXAMPLES below).
Before broadcasting the transaction, it’s advisable to double-check the vault
address on a block explorer such as thorchain.net or runescan.io.
Before broadcasting the transaction, it’s a good idea to double-check the
vault address on a block explorer such as thorchain.net or runescan.io.
The MMGen Node Tools suite contains two useful tools to help with fine-tuning
transaction fees, ‘mmnode-feeview’ and ‘mmnode-blocks-info’, in addition to
‘mmnode-ticker’, which can be used to calculate the current cross-rate between
the asset pair of a swap, as well as the total receive value in terms of the
send value.
the asset pair of a swap, as well as the total receive value in terms of send
value.
TRADE LIMIT
@ -161,18 +170,30 @@
‘M’ monero - Monero address
GAS LIMIT
This option specifies the maximum gas allowance for an Ethereum transaction.
It’s generally of interest only for token transactions or swap transactions
from token assets.
Parameter must be an integer or one of the special values ‘fallback’ (for a
locally computed sane default) or ‘auto’ (for gas estimate via an RPC call,
in the case of a token transaction, or locally computed default, in the case
of a standard transaction). The default is ‘auto’.
FEE SPECIFICATION
Transaction fees, both on the command line and at the interactive prompt, may
be specified as either absolute BTC amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by 's', for satoshi.
be specified as either absolute coin amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by ‘s’, for satoshi.
SIGNING NOTES
Transactions may contain both MMGen or non-MMGen input addresses.
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
To sign non-MMGen inputs, a coin daemon wallet dump or flat key list is used
as the key source (--keys-from-file option).
To sign MMGen inputs, key data is generated from a seed as with the
@ -213,6 +234,10 @@
EXAMPLES:
Display available swap assets:
$ mmgen-swaptxdo -S
Create a BTC-to-LTC swap transaction, prompting the user for transaction
inputs. The full value of the inputs, minus miner fees, will be swapped
and sent to an unused address in the user’s LTC tracking wallet:
@ -264,5 +289,22 @@
$ mmgen-tool --coin=bch --bch-rpc-host=gemini twview minconf=0
MMGEN v15.1.dev23 March 2025 MMGEN-SWAPTXDO(1)
Create a Tether-to-LTC swap transaction for autosigning, connecting to the
swap quote server via Tor:
$ mmgen-swaptxdo --autosign --proxy=localhost:9050 ETH.USDT 1000 LTC
After signing, send the transaction via public Etherscan proxy over Tor:
$ mmgen-txsend --autosign --quiet --tx-proxy=etherscan --proxy=localhost:9050
After sending, check the transaction status:
$ mmgen-txsend --autosign --verbose --status
Create a Tether-to-DAI swap transaction, with explicit destination account:
$ mmgen-swaptxdo ETH.USDT 1000 ETH.DAI E:01234ABC:3
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-SWAPTXDO(1)
```

View file

@ -19,7 +19,7 @@
-d, --outdir d Specify an alternate directory 'd' for output
-e, --echo-passphrase Print passphrase to screen when typing it
-f, --fee f Transaction fee, as a decimal BTC amount or as
satoshis per byte (an integer followed by 's').
satoshis per byte (an integer followed by ‘s’).
See FEE SPECIFICATION below.
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
'f' at offset 'o' (comma-separated)
@ -44,6 +44,8 @@
-q, --quiet Suppress warnings; overwrite files without prompting
-s, --send Sign and send the transaction (the default if seed
data is provided)
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction.
Indexing begins with one.
-v, --verbose Produce more verbose output
-W, --allow-non-wallet-swap Allow signing of swap transactions that send funds
to non-wallet addresses
@ -72,13 +74,13 @@
FEE SPECIFICATION
Transaction fees, both on the command line and at the interactive prompt, may
be specified as either absolute BTC amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by 's', for satoshi.
be specified as either absolute coin amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by ‘s’, for satoshi.
Transactions may contain both MMGen or non-MMGen input addresses.
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
To sign non-MMGen inputs, a coin daemon wallet dump or flat key list is used
as the key source (--keys-from-file option).
To sign MMGen inputs, key data is generated from a seed as with the
@ -116,5 +118,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN-WALLET 15.1.dev25 March 2025 MMGEN-TXBUMP(1)
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-TXBUMP(1)
```

View file

@ -16,7 +16,7 @@
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
'conservative','economical'. Default: 'conservative'
-f, --fee f Transaction fee, as a decimal BTC amount or as
satoshis per byte (an integer followed by 's').
satoshis per byte (an integer followed by ‘s’).
See FEE SPECIFICATION below. If omitted, fee will be
calculated using network fee estimation.
-i, --info Display unspent outputs and exit
@ -89,8 +89,8 @@
FEE SPECIFICATION
Transaction fees, both on the command line and at the interactive prompt, may
be specified as either absolute BTC amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by 's', for satoshi.
be specified as either absolute coin amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by ‘s’, for satoshi.
EXAMPLES:
@ -123,5 +123,5 @@
$ mmgen-txcreate B
MMGEN v15.1.dev18 March 2025 MMGEN-TXCREATE(1)
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-TXCREATE(1)
```

View file

@ -16,7 +16,7 @@
-E, --fee-estimate-mode M Specify the network fee estimate mode. Choices:
'conservative','economical'. Default: 'conservative'
-f, --fee f Transaction fee, as a decimal BTC amount or as
satoshis per byte (an integer followed by 's').
satoshis per byte (an integer followed by ‘s’).
See FEE SPECIFICATION below. If omitted, fee will be
calculated using network fee estimation.
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
@ -47,6 +47,8 @@
-q, --quiet Suppress warnings; overwrite files without prompting
-R, --no-rbf Make transaction non-replaceable (non-replace-by-fee
according to BIP 125)
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction.
Indexing begins with one.
-u, --subseeds n The number of subseed pairs to scan for (default: 100,
maximum: 1000000). Only the default or first supplied
wallet is scanned for subseeds.
@ -110,15 +112,15 @@
FEE SPECIFICATION
Transaction fees, both on the command line and at the interactive prompt, may
be specified as either absolute BTC amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by 's', for satoshi.
be specified as either absolute coin amounts, using a plain decimal number, or
as satoshis per byte, using an integer followed by ‘s’, for satoshi.
SIGNING NOTES
Transactions may contain both MMGen or non-MMGen input addresses.
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
To sign non-MMGen inputs, a coin daemon wallet dump or flat key list is used
as the key source (--keys-from-file option).
To sign MMGen inputs, key data is generated from a seed as with the
@ -187,5 +189,5 @@
$ mmgen-txdo B
MMGEN v15.1.dev18 March 2025 MMGEN-TXDO(1)
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-TXDO(1)
```

View file

@ -19,15 +19,20 @@
action has been successfully sent out-of-band.
-n, --tx-proxy P Send transaction via public TX proxy ‘P’ (supported proxies:
‘etherscan’). This is done via a publicly accessible web
page, so no API key or registration is required
page, so no API key or registration is required.
-q, --quiet Suppress warnings; overwrite files without prompting
-r, --receipt Print the receipt of the sent transaction (Ethereum only)
-s, --status Get status of a sent transaction (or current transaction,
whether sent or unsent, when used with --autosign)
-t, --test Test whether the transaction can be sent without sending it
-T, --txhex-idx N Send only part ‘N’ of a multi-part transaction. Indexing
begins with one.
-v, --verbose Be more verbose
-x, --proxy P Connect to TX proxy via SOCKS5 proxy ‘P’ (host:port)
-w, --wait Wait for transaction confirmation (Ethereum only)
-x, --proxy P Connect to TX proxy via SOCKS5h proxy ‘P’ (host:port).
Use special value ‘env’ to honor *_PROXY environment vars
instead.
-y, --yes Answer 'yes' to prompts, suppress non-essential output
MMGEN-WALLET 15.1.dev25 March 2025 MMGEN-TXSEND(1)
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-TXSEND(1)
```

View file

@ -44,7 +44,7 @@
Transactions may contain both MMGen or non-MMGen input addresses.
To sign non-MMGen inputs, a bitcoind wallet dump or flat key list is used
To sign non-MMGen inputs, a coin daemon wallet dump or flat key list is used
as the key source (--keys-from-file option).
To sign MMGen inputs, key data is generated from a seed as with the
@ -82,5 +82,5 @@
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN v15.1.dev18 March 2025 MMGEN-TXSIGN(1)
MMGEN-WALLET 15.1.dev37 May 2025 MMGEN-TXSIGN(1)
```

View file

@ -125,7 +125,7 @@ column below:
pnm = gc.proj_name,
pnl = gc.proj_name.lower(),
fu = help_notes('rel_fee_desc'),
fl = help_notes('fee_spec_letters'),
fl = help_notes('fee_spec_letters', use_quotes=True),
kgs = help_notes('keygen_backends'),
coin_id = help_notes('coin_id'),
dsl = help_notes('dfl_seed_len'),

View file

@ -97,7 +97,7 @@ opts_data = {
cu = proto.coin,
a_info = help_notes('account_info_desc'),
fu = help_notes('rel_fee_desc'),
fl = help_notes('fee_spec_letters'),
fl = help_notes('fee_spec_letters', use_quotes=True),
si = help_notes('stream_interval'),
fe_all = fmt_list(cfg._autoset_opts['fee_estimate_mode'].choices, fmt='no_spc'),
fe_dfl = cfg._autoset_opts['fee_estimate_mode'].choices[0],

View file

@ -54,7 +54,7 @@ opts_data = {
b- -E, --fee-estimate-mode=M Specify the network fee estimate mode. Choices:
+ {fe_all}. Default: {fe_dfl!r}
-- -f, --fee= f Transaction fee, as a decimal {cu} amount or as
+ {fu} (an integer followed by {fl!r}).
+ {fu} (an integer followed by {fl}).
+ See FEE SPECIFICATION below. If omitted, fee will be
+ calculated using network fee estimation.
et -g, --gas=N Set the gas limit (see GAS LIMIT below)
@ -143,7 +143,7 @@ column below:
kgs = help_notes('keygen_backends'),
coin_id = help_notes('coin_id'),
fu = help_notes('rel_fee_desc'),
fl = help_notes('fee_spec_letters'),
fl = help_notes('fee_spec_letters', use_quotes=True),
dsl = help_notes('dfl_seed_len'),
ss = help_notes('dfl_subseeds'),
si = help_notes('stream_interval'),