Commit graph

76 commits

Author SHA1 Message Date
ab41b78863
new platform global constant 2026-05-17 18:03:32 +00:00
f840069ecb
update copyright dates 2026-02-11 13:02:12 +00:00
78bd55b3bb
CmdTestBase: new extra_daemons attribute 2025-12-01 16:54:35 +00:00
7edef50ed4
whitespace, string formatting 2025-11-27 11:34:09 +00:00
09e70c4bf3
whitespace (82 files) 2025-10-06 09:40:47 +00:00
2b7080c227
subprocess.run(): use text arg (10 files) 2025-10-03 10:34:04 +00:00
4573e170ed
test suite: use match statement where practicable (21 files) 2025-09-23 09:20:53 +00:00
9e62934151
test suite: support ethkey as alternative to eth-keys 2025-09-15 09:28:41 +00:00
b12fd879bf
mmgen-autosign: support signing of TXs with non-MMGen inputs 2025-06-21 11:14:09 +00:00
ff28d39a3c
THORChain ERC20 token swap support
Examples:

    # List available assets:
    $ mmgen-swaptxcreate -S

    # Create a Tether-to-LTC swap transaction for autosigning, connecting to the
    # swap quote server via Tor:
    $ mmgen-swaptxcreate --autosign --proxy=localhost:9050 ETH.USDT 1000 LTC

    # After signing, send the transaction via public Etherscan proxy over Tor:
    $ mmgen-txsend --autosign --quiet --tx-proxy=etherscan --proxy=localhost:9050

    # After sending, check the transaction status and receipt:
    $ mmgen-txsend --autosign --verbose --status

    # Create a Tether-to-DAI swap transaction, with explicit destination account:
    $ mmgen-swaptxcreate ETH.USDT 1000 ETH.DAI E:01234ABC:3

Testing:

    $ test/cmdtest.py -e ethswap
2025-04-27 11:53:49 +00:00
89ad0fd29b
keyword-only parameters throughout 2025-03-15 18:24:52 +00:00
52f26202a8
write_data_to_file(): add no_stdout parameter 2025-02-16 14:42:32 +00:00
e54f039690
update copyright dates 2025-02-16 14:42:27 +00:00
92fc9fd462
fixes and cleanups throughout 2025-02-15 09:54:19 +00:00
3f5ce98fda
test suite: remove datadir after stopping daemons 2024-12-30 11:31:40 +00:00
353a4a1f4e
Nix compatibility fixes 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
6130efcf0c
whitespace: test/include 2024-10-18 10:32:12 +00:00
5150ca586b
update file header 2024-10-18 10:32:06 +00:00
50fc415282
CoinAmt: improvements
- do strict type checking in initializer, forbid double initialization
- add dynamic decimal precision based on protocol
- dunder method fixes, cleanups
- JSON-RPC library now returns floats (i.e. amounts) as strings instead of Decimal,
  eliminating an extra conversion step
2024-10-18 10:32:05 +00:00
3b3d06fb51
cmdtest.py: remove unneeded opts from spawn cmdline 2024-10-08 12:55:58 +00:00
3b4e9ebc1e
pylint: test suite, examples 2024-09-20 09:36:06 +00:00
9ae8338253
minor cleanups 2024-09-04 13:08:50 +00:00
36814cc03c
minor fixes and cleanups 2024-09-02 09:43:48 +00:00
bcff2e4fa3
full macOS support
All coins and features supported on Linux are now supported on macOS

Testing:

    $ test/test-release.sh -F
2024-08-29 11:17:24 +00:00
67ed198d4a
test.include.common: reimplement VirtBlockDevice 2024-08-29 11:17:24 +00:00
0c2176371f
test suite: minor fixes and cleanups 2024-08-29 11:17:23 +00:00
945f15fe8f
test/clean.py: minor fix 2024-08-29 11:17:23 +00:00
a0eb2871f9
minor fixes and cleanups throughout 2024-07-27 09:56:20 +00:00
b12a2a08a4
test.common: new VirtBlockDevice class 2024-07-27 09:16:43 +00:00
bd63c36bee
new command: test/clean.py 2024-07-20 16:40:57 +00:00
5f22d2fbde
scripts/create-token.py: support solc version 0.8.26 2024-07-08 10:51:21 +00:00
15eb13ae50
minor fixes and cleanups 2024-02-22 12:48:13 +00:00
8e46932475
update copyright dates 2024-01-19 11:05:10 +00:00
60ce46c768
test rename: test.py -> cmdtest.py 2023-10-13 09:51:14 +00:00
01430166e5
whitespace, comments, docstrings (test suite) 2023-10-11 12:58:51 +00:00
aff850d1c8
test suite: import cleanups 2023-10-03 14:27:57 +00:00
14678f371e
Config: new attribute: test_datadir 2023-09-29 12:24:22 +00:00
a0ffe37a58
test.py: log, error filename cleanups 2023-09-29 12:24:21 +00:00
c7adb56e38
Config API, Part I
This patch eliminates the global configuration variables `opt` and `g`, making
all functions and class instances locally configurable.  Configuration data is
passed to functions and constructors via the `cfg` parameter and made available
to methods in `self.cfg`.

Local configuration free from dependence on the command line will enable the
creation of multiple, independently configured instances of MMGen’s data
objects within a single process.

Potential applications include testing (tracking wallets configured to interact
with spawned processes, for example) and the use of MMGen as a library for
other projects.

This patch completes most of the work required to enable the API.  The full
implementation will appear in a forthcoming commit.
2023-03-28 18:14:37 +00:00
c3ce1ab8e3
globalvars.py: new GlobalConstants (gc), GlobalVars (gv) classes
- The attributes of GlobalConstants are non-configurable.  They’re constant
  for a given machine, user, executable and MMGen release.

- The attributes of GlobalVars, `stderr` and `stdout`, are used by the test
  suite to redirect msg() and friends to /dev/null.

- All the aforementioned attributes formerly belonged to GlobalConfig.
2023-03-28 18:14:36 +00:00
77f4fd245d
minor fixes, cleanups, whitespace 2023-03-27 10:48:18 +00:00
1aeefd64ae
update copyright dates 2023-01-03 10:36:07 +00:00
20f4b12832
module docstring cleanups [134 files] 2022-11-14 09:54:07 +00:00
23214cf9bb
test suite: deterministic testing fixes 2022-10-31 15:42:10 +00:00
7d2531b7b3
test.overlay: fake module cleanups
1) attempt to add as few names to the module's namespace as possible
2) all names added to the namespace must begin with 'overlay_fake_'
2022-10-24 16:50:05 +00:00
c3dbd720c6
minor fixes and changes 2022-10-20 18:14:14 +00:00
840b4d1d43
test.py: move tmpdirs, move config code to test_py_d.cfg 2022-07-27 17:09:00 +00:00
5ef346bf99
various fixes and cleanups 2022-06-13 17:30:20 +00:00
1eabba00a8
add ethkey dependency test 2022-05-06 12:52:40 +00:00