Commit graph

56 commits

Author SHA1 Message Date
ba3b40c5b6
support THORChain address generation
Example:

    $ mmgen-addrgen --coin=rune 1-10

Testing:

    $ test/tooltest2.py -q --coin=rune
    $ test/modtest.py -v bip_hd.multicoin
2025-05-21 09:13:42 +00:00
19592955cb
test suite: minor fixes 2025-04-29 10:13:38 +00:00
2f6ef808fb
test suite: minor fixes and cleanups 2025-04-26 10:38:55 +00:00
b485d7a99a
cmdtest ethdev, swap, ethswap, ethbump: changes and fixes 2025-03-30 10:20:21 +00:00
0b73aad126
cmdtest.py ethdev: minor fixes 2025-03-29 09:30:16 +00:00
b2e210485f
test/cmdtest_d: remove prefixes on files 2025-03-29 09:30:15 +00:00
8b504c895a
modtest.py, daemontest.py: remove prefixes from test files 2025-03-23 10:14:31 +00:00
168e6bbc56
whitespace, comments, minor cleanups 2025-03-15 18:24:52 +00:00
5252e8d691
test-release.py: restore Pylint test 2025-03-15 18:24:52 +00:00
94bee46cb8
new mmgen-cli utility
Communicate with all your coin daemons from a single utility!

Usage information and examples:

    $ mmgen-cli --help
2025-03-10 14:28:55 +00:00
e54f039690
update copyright dates 2025-02-16 14:42:27 +00:00
7131b892e3
minor fixes and cleanups 2025-01-27 16:01:48 +00:00
783b05e373
migrate from Pylint to Ruff
Testing:

    $ test/test-release.sh -v lint
2025-01-03 14:23:14 +00:00
353a4a1f4e
Nix compatibility fixes 2024-12-30 11:31:39 +00:00
866aa6035a
test suite: minor fixes and cleanups 2024-12-30 11:31:39 +00:00
13976084ab
test suite: use eth-keys instead of ethkey 2024-12-30 11:31:39 +00:00
5f3920b11a
unit_tests.py -> modtest.py, daemontest.py 2024-10-18 10:43:27 +00:00
926716090a
test suite: rename some directories
- cmdtest_py_d -> cmdtest_d
- objtest_py_d -> objtest_d
- objattrtest_py_d -> objattrtest_d
2024-10-18 10:32:15 +00:00
5150ca586b
update file header 2024-10-18 10:32:06 +00:00
d520e31e53
test-release.sh: add separate help test 2024-10-08 12:55:59 +00:00
d8aca5bb6c
test suite: whitespace, minor cleanups 2024-10-08 12:55:59 +00:00
647c7a2601
cmdtest.py regtest: cleanups 2024-10-08 12:55:57 +00:00
8edc7da5a2
BCH cashaddr: full support
- BCH addresses are now displayed in cashaddr format by default.  This may be
  overridden on the command line with --cashaddr=0, or in the config file by
  setting `bch_cashaddr` to false
- In tracking wallet views, the ‘h’ key toggles between legacy and cashaddr
  address display
- Transaction views display BCH addresses in both formats simultaneously
- The --usecashaddr=0 daemon option is no longer required and should be omitted

Testing:

    $ test/unit_tests.py -v cashaddr bip_hd.multicoin
    $ test/gentest.py --coin=bch -v --type=C 1 test/ref/bitcoin_cash/bchwallet.dump
    $ test/cmdtest.py -e bch_txview_cashaddr1 bch_txview_cashaddr2
    $ test/cmdtest.py --coin=bch -e txsend regtest.view autosign_automount
    $ test/cmdtest.py --coin=bch -n ref3_addr
2024-09-29 11:59:57 +00:00
489d0e733d
test suite: minor fixes 2024-09-20 09:35:58 +00:00
ca343e2097
autosign, test suite autosign: cleanups 2024-08-26 13:47:02 +00:00
a0eb2871f9
minor fixes and cleanups throughout 2024-07-27 09:56:20 +00:00
7692980f39
minor testing fix, update release notes 2024-07-11 11:36:21 +00:00
82f2fb1db9
BTC-only testing fixes 2024-07-08 10:51:21 +00:00
c587ab3998
support descriptor wallets for BTC
For BTC, MMGen Wallet now creates and uses a descriptor wallet as its tracking
wallet.  For LTC and BCH, the legacy Berkeley DB wallet is used by default as
before.

While the legacy BDB wallet continues to be fully supported, BTC users are
advised to upgrade their tracking wallet to a descriptor wallet to avoid
support issues with future versions of Bitcoin Core.

Upgrade a legacy tracking wallet as follows:

    $ bitcoin-cli migratewallet mmgen-tracking-wallet

Alternatively, you may dump your tracking wallet to JSON and restore it as a
descriptor wallet using the ‘mmgen-tool’ commands ‘twexport’, ‘twimport’ and
‘rescan_blockchain’ (see the help screens for those commands for details).

Testing (add the -e option to see script output):

    # descriptor wallet:
    $ test/cmdtest.py regtest

    # Berkeley DB wallet:
    $ test/cmdtest.py regtest_legacy
2024-03-06 11:05:23 +00:00
1c5c3319d4
offline transaction signing with automount for BTC, BCH, LTC and ETH/ERC20
Previously supported only for XMR, offline transaction autosigning with no
filename arguments and automatic mounting/unmounting of the removable device
on the online machine is now available for all coins MMGen Wallet supports
transacting with.  To activate, invoke ‘mmgen-txcreate’ and ‘mmgen-txsend’
with the --autosign option.

Be aware that transactions must be created, signed and sent one at a time when
using this feature.  For bulk transaction signing, you must use the old manual
mounting method.

Example create-sign-send workflow for BTC:

    $ mmgen-txcreate --autosign bc1qxmymxf8p5ckvlxkmkwgw8ap5t2xuaffmrpexap,0.00123 B

    (remove device - insert offline - wait for signing - remove - insert online)

    $ mmgen-txsend --autosign

Unsigned or unsent transactions may be aborted as follows:

    $ mmgen-txsend --abort

And sent RBF transactions may be fee-bumped:

    $ mmgen-txbump --autosign

You can check the status of the current transaction, whether sent or unsent,
with the following command:

    $ mmgen-txsend --status

That’s all there is to it!

Testing (add the -e option to see script output):

    $ test/cmdtest.py autosign_automount
    $ test/cmdtest.py --coin=eth autosign_eth
2024-02-29 15:40:10 +00:00
0129da60e5
autosign: improve checking/creation of dirs, add autosign_clean test 2024-02-24 14:17:32 +00:00
15eb13ae50
minor fixes and cleanups 2024-02-22 12:48:13 +00:00
45ad8fbbad
test-release.sh: add separate test for ETC (Ethereum Classic) 2024-02-17 09:45:10 +00:00
1dcb0fbf5f
minor fixes, cleanups 2024-01-26 10:54:02 +00:00
8e46932475
update copyright dates 2024-01-19 11:05:10 +00:00
be1c8c4232
test/test-release.sh: minor cleanups 2024-01-19 11:05:09 +00:00
afb09f6fc1
cmdtest.py: add dev (developer scripts) test group 2023-12-12 10:19:51 +00:00
5b02ceb87c
minor cleanups 2023-12-07 16:48:01 +00:00
525b54af8e
altcoin.py -> altcoin/params.py, test/altcointest.py 2023-11-30 10:53:40 +00:00
32b3558581
BTC-only testing fixes 2023-11-21 15:48:10 +00:00
48636ff2e0
update headers: mmgen -> mmgen-wallet 2023-11-17 13:35:42 +00:00
11b131fda8
pylint integration
Lint the entire MMGen Wallet code base, including test suite:

    # Install pylint:
    $ python3 -m pip install pylint

    # Perform the check:
    $ test/test-release.sh lint

The check should complete without error when running Python v3.9 or greater,
provided all required Python dependencies described in Test-Suite.md, including
altcoin dependencies, are installed.
2023-10-13 09:51:15 +00:00
60ce46c768
test rename: test.py -> cmdtest.py 2023-10-13 09:51:14 +00:00
a873f14548
make Geth default Ethereum daemon 2023-05-19 16:16:53 +00:00
4f3f031a3b
minor testing fixes 2023-05-17 15:44:11 +00:00
403d3be586
ts_xmr_autosign: improve balance checking 2023-05-07 17:11:53 +00:00
de77f9c27d
Monero offline transaction autosigning
Cold signing of Monero transactions with maximum convenience.

For general information about Monero offline signing, see:

    https://monerodocs.org/cold-storage/offline-transaction-signing/

The MMGen implementation automates the workflow described in that document,
with some minor changes.

A unique security feature is that signing wallets are created afresh in
volatile memory for each transacting session and thus disappear when the
signing machine is powered down.

Documentation:

    $ mmgen-xmrwallet --help # scroll to OFFLINE AUTOSIGNING

Testing:

    $ test/test.py --coin=xmr -e xmr_autosign
2023-04-24 13:23:45 +00:00
78e882143c
whitespace, cleanups, imports throughout [73 files changed] 2023-03-27 10:49:04 +00:00
1aeefd64ae
update copyright dates 2023-01-03 10:36:07 +00:00
e0c85f056d
test suite: MSWin testing fixes 2022-11-01 14:37:06 +00:00