Commit graph

2,198 commits

Author SHA1 Message Date
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
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