Commit graph

23 commits

Author SHA1 Message Date
3a967b46dc
minor testing/build fixes 2025-09-17 09:33:04 +00:00
19592955cb
test suite: minor fixes 2025-04-29 10:13:38 +00:00
69a39fad5e
txsend: add --wait and --txhex-idx options; related cleanups 2025-04-26 10:38:55 +00:00
f6aa4bad33
minor fixes and cleanups 2025-03-23 10:14:32 +00:00
4d7aaa9d88
minor cleanups 2025-03-23 10:14:31 +00:00
8b504c895a
modtest.py, daemontest.py: remove prefixes from test files 2025-03-23 10:14:31 +00:00
915473cc2d
test suite: minor fixes 2025-03-15 18:24:52 +00:00
487678bce9
Use Ruff static code analyzer for Github workflows 2024-12-30 13:59:03 +00:00
51e456a4e5
improve load_cryptodome() monkey-patch function 2024-12-30 11:31:39 +00:00
4daf293dc2
xmrwallet.py -> xmrwallet (23 files) 2024-10-18 10:32:07 +00:00
d7e3b55e3b
opts, help: refactor, parse cmdline opts natively, filter global opts
- command-line options are now parsed natively, without use of the getopt module
- global options and --longhelp helpscreen are now contextual, depending on coin
  and executed command
- commands invoked with out-of-context global options (e.g. `mmgen-walletgen
  --coin=btc`) now fail with an ‘unrecognized option’ error

Testing:

    $ test/test-release.sh help
    $ test/cmdtest.py opts
2024-10-08 12:56:02 +00:00
eeb8ae3219
pylint: increase max-line-length to 116 2024-09-20 09:36:04 +00:00
4483b0fb01
mmgen-autosign: disable swap
Prevent the volatile memory to which temporary offline signing wallets are
written from being swapped to disk.  This feature is supported on both Linux
and macOS.

Swap is disabled automatically during the setup process.  It can also be
disabled manually using the ‘disable_swap’ command.  Compressed RAM (zram)
swap is left untouched.

Regarding vulnerability of existing setups, please note the following
mitigating factors:

    a) mmgen-autosign encrypts all temporary signing wallets with random 16-
       or 32-byte passwords;
    b) some platforms swap to compressed RAM instead of disk (SoCs running
       Armbian, for example);
    c) swap partitions are often encrypted; and
    d) even on platforms that do swap to unencrypted files or partitions, the
       likelihood of the relevant pages of RAM being swapped out on a machine
       used exclusively for offline signing is minimal.

For peace of mind, existing users may wish to wipe the autosign key on their
removable device.  Those concerned about metadata leakage might additionally
zero the swap partition(s) on their offline signing machine(s).
2024-09-06 12:20:20 +00:00
67ed198d4a
test.include.common: reimplement VirtBlockDevice 2024-08-29 11:17:24 +00:00
ee35ab0683
pylint workflow tweak 2024-08-26 14:43:38 +00:00
8924016bac
tx.__init__: call/return cleanups 2024-03-04 10:30:36 +00:00
f1512484c9
autosign: minor fixes and cleanups 2024-02-24 14:17:32 +00:00
1f75be898d
xmrwallet: delay mounting of removable device 2024-02-10 15:10:45 +00:00
3524ee0932
minor cleanups 2023-10-18 12:11:49 +00:00
8190e8eb0c
mmgen.color: minor cleanups, define color names statically 2023-10-18 12:11:49 +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
c82eb9d149
setup.py,setup.cfg: Windows build fixes 2021-09-26 21:16:55 +00:00
4a9571424e
setuptools: migrate from setup.py to setup.cfg
The preferred way to install MMGen is now:

    # cd to repository root
    $ python3 -m build --no-isolation
    $ pip3 install --user dist/*.whl

A user install eliminates reliance on superuser privileges and prevents
conflicts with Python packages that may already be installed on the system.

Python dependencies are automatically installed by pip.
2021-09-23 21:28:06 +00:00