Commit graph

2,768 commits

Author SHA1 Message Date
42e7671898
opts, help: variable renames 2025-01-31 16:00:43 +00:00
f8a312e407
coin-specific and protocol-specific configuration options
Rationale: to enable communication with multiple coin daemons on multiple hosts
in a single program invocation, making possible the implementation of asset
swap functionality, for instance

Coin-specific options are prefixed with a coin symbol, proto-specific options
with a coin symbol plus a network name.

Coin- and protocol-specific options override their non-prefixed counterparts.
They are available via the command line, configuration file and Config API.

Currently available options:

    Option                   Supported Prefixes
    tw_name                  btc ltc bch
    rpc_user                 btc ltc bch
    rpc_password             btc ltc bch
    rpc_host                 btc ltc bch eth etc
    rpc_port                 btc ltc bch eth etc xmr
    ignore_daemon_version    btc ltc bch eth etc xmr
    max_tx_fee               btc ltc bch eth etc
    chain_names              eth_mainnet eth_testnet etc_mainnet etc_testnet

Example:

    $ mmgen-tool --coin=ltc --ltc-tw-name=ltc2 --ltc-ignore-daemon-version twview

Help:

    $ mmgen-tool --longhelp
    $ view mmgen/data/mmgen.cfg

Testing:

    $ test/daemontest.py rpc.btc rpc.geth
    $ test/cmdtest.py help opts cfgfile
2025-01-27 16:01:53 +00:00
6b7548f84b
daemontest.py rpc: minor changes and cleanups 2025-01-27 16:01:53 +00:00
890ee4d149
opts.py (global opts), help.__init__: minor fixes & cleanups 2025-01-27 16:01:53 +00:00
941bbdc4b5
minor cleanups, whitespace 2025-01-27 16:01:53 +00:00
e2462e6e4d
proto/*/params.py: make max_tx_fee a float 2025-01-27 16:01:53 +00:00
4413a8caa3
cfg.py: conv_type(): simplify call signature 2025-01-27 16:01:53 +00:00
46381def86
cmdtest.py opts: cleanups 2025-01-27 16:01:53 +00:00
7131b892e3
minor fixes and cleanups 2025-01-27 16:01:48 +00:00
b4898b9aef
add LED support for Rock 5, Banana Pi F3 2025-01-21 09:36:14 +00:00
fb17a3b2c9
led.py: improve initialization logic, add interactive test 2025-01-21 09:36:14 +00:00
e0c93606e1
led.py: make binfo a class 2025-01-21 09:36:13 +00:00
d39e1e5cd4
led.py: binfo.status -> binfo.control 2025-01-21 09:36:09 +00:00
3bcbde514c
add LED support for Orange Pi 5 2025-01-19 11:19:57 +00:00
d3f55c2510
support Bitcoin Core v28.1 2025-01-19 11:19:57 +00:00
51900851c4
nix/shell.nix: add repo param, mount links 2025-01-16 11:09:24 +00:00
abbc9c843a
Nix support improvements
Quick Start for BTC:

    $ git clone https://github.com/mmgen/mmgen-wallet
    $ cd mmgen-wallet
    $ nix-shell --pure nix

Enable altcoins and additional packages:

    $ mkdir -p ~/.mmgen
    $ cp nix/user-packages.nix ~/.mmgen
    # ... edit ~/.mmgen/user-packages.nix as required ...
    $ nix-shell --pure nix

For NixOS installation and other information, see:

    nix/README
2025-01-03 14:24:20 +00:00
783b05e373
migrate from Pylint to Ruff
Testing:

    $ test/test-release.sh -v lint
2025-01-03 14:23:14 +00:00
d69fee71c1
support Nix and NixOS
Quick Start for BTC:

    $ git clone https://github.com/mmgen/mmgen-wallet
    $ cd mmgen-wallet
    $ nix-shell --pure scripts/mmgen-wallet-nix/shell.nix

For altcoin support and additional installation options, see:

    scripts/mmgen-wallet-nix/packages.nix

Tested on Linux/x86_64.  On other platforms your mileage may vary.

Note that Nix support is under development, and the installation process
is subject to change.
2024-12-30 13:59:13 +00:00
487678bce9
Use Ruff static code analyzer for Github workflows 2024-12-30 13:59:03 +00:00
cab7345799
proto.bch.cashaddr: Python 3.9 compatibility fixes 2024-12-30 11:31:40 +00:00
a3454c7248
disable rpc.stop_daemon() 2024-12-30 11:31:40 +00:00
af50f1b328
test suite: minor fixes and cleanups 2024-12-30 11:31:40 +00:00
3f5ce98fda
test suite: remove datadir after stopping daemons 2024-12-30 11:31:40 +00:00
5e4d5952be
addrimport: remove segwit_is_active requirement 2024-12-30 11:31:39 +00:00
353a4a1f4e
Nix compatibility fixes 2024-12-30 11:31:39 +00:00
4e8e027785
support Bitcoin Cash Node v28.0.0 2024-12-30 11:31:39 +00:00
866aa6035a
test suite: minor fixes and cleanups 2024-12-30 11:31:39 +00:00
7293135db8
test suite: vendor tx_valid.json from Bitcoin Core repo (v28.0) 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
e1d7beb266
eth-requirements.txt: remove versioning from py-ecc, mypy-extensions 2024-12-30 11:31:39 +00:00
51e456a4e5
improve load_cryptodome() monkey-patch function 2024-12-30 11:31:39 +00:00
265be8593c
CoinProtocol.Base: make Lockable, tokensym init cleanups 2024-12-30 11:31:32 +00:00
7539c4d40d
Support Bitcoin Core 28.0 2024-11-17 12:23:30 +00:00
3d4f1c607b
Support Litecoin Core 0.21.4 2024-11-17 12:22:38 +00:00
df3559d420
support negated command-line options
- all options without parameters may be negated by prefixing the option name
  with ‘no-’
- if the option name itself begins with ‘no-’, then the option is negated
  by removing the ‘no-’ prefix
- negation may be used to override options set in the cfg file
- command-line options may also be overridden, with the last-listed option
  taking precedence
- as with ordinary options, substring matching is supported

Examples:

    OPTION        NEGATED OPTION
    --no-license  --license
    --no-license  --lic
    --quiet       --no-quiet
    --quiet       --no-q

Testing:

    $ test/cmdtest.py opts cfgfile
2024-10-20 10:19:02 +00:00
34deadb0f5
test suite cfgfile: cleanups 2024-10-20 10:16:23 +00:00
399f7d42a7
opts: minor cleanups 2024-10-20 10:16:17 +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
9bc284ae24
whitespace: cmdtest_d 2024-10-18 10:32:14 +00:00
6d90d180c1
whitespace: test/unit_tests_d 2024-10-18 10:32:14 +00:00
72fd9c1ca1
whitespace: test/tooltest2_d 2024-10-18 10:32:14 +00:00
ce14c1ba79
whitespace: test/overlay 2024-10-18 10:32:13 +00:00
1fee9804bb
whitespace: test/obj{attr}test_d/ 2024-10-18 10:32:13 +00:00
f9e6d994f0
whitespace: test/misc 2024-10-18 10:32:13 +00:00
6130efcf0c
whitespace: test/include 2024-10-18 10:32:12 +00:00
74bc49f973
whitespace: tests, top level 2024-10-18 10:32:12 +00:00
de6750a34b
whitespace: scripts, setup.py, other 2024-10-18 10:32:11 +00:00
747279c106
whitespace: examples 2024-10-18 10:32:11 +00:00