Commit graph

2,768 commits

Author SHA1 Message Date
bc48ab1786
doc/wiki: add links to swaptx{create,do} manpages 2025-02-27 16:56:35 +00:00
0028c2e42f
documentation updates 2025-02-27 14:14:05 +00:00
5b5c08b22a
doc/wiki: add missing pages, manpages 2025-02-27 13:48:52 +00:00
db71f8ed37
doc/wiki: fix relative links 2025-02-27 13:48:51 +00:00
ea565ff532
doc/wiki: remove wiki subdirs 2025-02-27 13:48:47 +00:00
85cec5655d
THORChain DEX integration
Cross-chain native asset swaps directly from MMGen Wallet!

Currently supported coins: BTC, LTC, BCH.  Work on ETH support is underway.

All supported asset pairs have undergone thorough testing on mainnet.

Sample workflow for a BTC->LTC swap (assumes offline autosigning is set up and
the removable device inserted on the online machine):

    $ mmgen-swaptxcreate --autosign BTC LTC

    remove device - insert - wait for signing - remove - insert

    $ mmgen-txsend --autosign

Note that other command-line options and arguments will likely be required. For
further information, see:

    $ mmgen-swaptxcreate --help

Be aware that transactions stuck for a long time in the mempool can potentially
lead to loss of funds, so users should first learn how to create replacement
transactions with ‘mmgen-txbump’ before attempting a swap.  In all cases, it’s
advisable to begin with small amounts.  Double-checking the vault address on a
block explorer such as thorchain.net or runescan.io before sending the
transaction is also recommended.

Testing:

    $ test/modtest.py tx.memo
    $ test/cmdtest.py regtest_legacy.main autosign_automount swap
2025-02-24 11:27:49 +00:00
5a443c31a0
mmgen-txsend --status --verbose: optionally display transaction info 2025-02-24 11:27:48 +00:00
2be9de113a
get_autosign_obj(): clone existing cfg 2025-02-24 11:27:48 +00:00
5a436b9673
rpc: remove localhost override for test suite, regtest 2025-02-24 11:27:48 +00:00
73efa84b48
tx.file.format(): remove false boolean values from outputs 2025-02-24 11:27:48 +00:00
b3bda1b62b
help: minor cleanups, move help texts to individual modules 2025-02-24 11:27:48 +00:00
28cecaec08
cmdtest.py autosign_automount: add hooks for multi-user support 2025-02-24 11:27:48 +00:00
7b6717d85a
fixes and cleanups throughout 2025-02-24 11:27:44 +00:00
ef5f6e4b22
mmgen-txbump: support new outputs in the replacement TX
The former behavior permitted only increasing the transaction fee.  Now the
replacement TX can contain entirely new outputs.

From mmgen-txbump --help:

    If no outputs are specified, the original outputs will be used for the
    replacement transaction, otherwise a new transaction will be created with
    the outputs listed on the command line.  The syntax for the output
    arguments is identical to that of ‘mmgen-txcreate’.

Testing:

    $ test/cmdtest.py regtest_legacy.main autosign_automount
    $ test/cmdtest.py --coin=eth ethdev.main
2025-02-16 14:44:06 +00:00
d3b5ba23f3
tx.new: new get_inputs() and get_fee() methods 2025-02-16 14:42:32 +00:00
0d38b62081
minor fixes and cleanups 2025-02-16 14:42:32 +00:00
967fad0b14
cmdtest.py regtest: mempool, RBF status cleanups 2025-02-16 14:42:32 +00:00
52f26202a8
write_data_to_file(): add no_stdout parameter 2025-02-16 14:42:32 +00:00
6620b4dba0
txhist: support OP_RETURN TX outputs 2025-02-16 14:42:32 +00:00
004a4650eb
txbump: update opts_data to new format 2025-02-16 14:42:31 +00:00
e54f039690
update copyright dates 2025-02-16 14:42:27 +00:00
be025dc817
tx.base: add nondata_outputs property 2025-02-15 09:54:20 +00:00
92fc9fd462
fixes and cleanups throughout 2025-02-15 09:54:19 +00:00
8311763e94
tx.sign: cleanups 2025-02-15 09:54:19 +00:00
67e1688aa1
cfg: support usage() on bad invocation for txcreate 2025-02-15 09:54:19 +00:00
0f7e51e499
tx.new: add is_swap attribute 2025-02-15 09:54:19 +00:00
9a963e1488
txcreate, txdo: delay RPC initialization 2025-02-15 09:54:19 +00:00
0b833dadea
minor fixes and cleanups 2025-02-15 09:54:19 +00:00
6df695024e
tx.new: prompt user if change address is not wallet address 2025-02-15 09:54:19 +00:00
e4181e0fb0
tx.new: load twuo after parsing outputs 2025-02-15 09:54:19 +00:00
9631433072
tx.new: get_autochg_addr(): add desc param 2025-02-15 09:54:19 +00:00
fc5ec2bc88
tx.new: make get_autochg_addr() a method 2025-02-15 09:54:19 +00:00
9223b0e97b
tx.new: new method: get_addrfiles_from_cmdline() 2025-02-15 09:54:19 +00:00
40de553ea5
tx.new: add hooks for multi-proto support 2025-02-15 09:54:19 +00:00
9742f5f194
cmdtest.py regtest, swap: add hooks for multi-proto support 2025-02-15 09:54:18 +00:00
487cbfcc0d
minor cleanups, variable & method renames 2025-02-15 09:54:18 +00:00
e4b6d0536c
swaptxcreate, swaptxdo: create entry points, NewSwap tx class 2025-02-15 09:54:18 +00:00
dc028988cb
cfg, opts: improve contextual options handling 2025-02-15 09:54:18 +00:00
8b6c24cc07
tx.new + subclasses: method & import renames, refactor, cleanups 2025-02-15 09:54:18 +00:00
dc30edba48
minor fixes and cleanups 2025-02-15 09:54:18 +00:00
8adbda8f08
update Github workflows for Python 3.13 2025-02-15 09:54:12 +00:00
8fd463ecfe
proto.btc.tx: support OP_RETURN data outputs
From mmgen-txcreate --help:

  A single DATA_SPEC argument may be given on the command line to create an
  OP_RETURN data output with a zero spend amount.  This is the preferred way to
  embed data in the blockchain.  DATA_SPEC may be of the form "data":DATA or
  "hexdata":DATA

More info:

    $ mmgen-txcreate --help

Testing:

    $ test/modtest.py -v tx.op_return_data
    $ test/cmdtest.py -ne swap
2025-02-06 11:38:49 +00:00
1f1e0a1186
comments, whitespace, minor cleanups 2025-02-06 10:12:50 +00:00
3e8615f6c6
M test/modtest_d/ut_tx.py 2025-02-06 10:12:50 +00:00
1264d4eeba
cmdtest.py regtest: minor cleanups 2025-02-06 10:12:50 +00:00
02d736f101
whitespace, variable renames 2025-02-06 10:12:50 +00:00
e3dd55e909
proto.btc.tx.base: scriptPubKey2addr() -> decodeScriptPubKey() 2025-02-06 10:12:49 +00:00
037c6bfb6f
opts, help: contextual command options
The following invocations now display a different set of options:

    $ mmgen-txcreate --help
    $ mmgen-txcreate --help --coin=eth

This feature was formerly available only for global options
2025-01-31 16:00:47 +00:00
4eb7c64560
opts, help: contextual usage screens
The following invocations now produce different output:

    $ mmgen-txcreate --usage
    $ mmgen-txcreate --usage --coin=eth
2025-01-31 16:00:47 +00:00
0ec7bca054
opts, help: minor fixes & cleanups 2025-01-31 16:00:47 +00:00