mmgen-wallet/test/cmdtest_d/include/cfg.py
The MMGen Project ec84abc907
RUNE swap support
Testing/demo:

    $ test/cmdtest.py --demo runeswap
2025-06-15 09:17:02 +00:00

286 lines
8.6 KiB
Python
Executable file

#!/usr/bin/env python3
#
# MMGen Wallet, a terminal-based cryptocurrency wallet
# Copyright (C)2013-2025 The MMGen Project <mmgen@tuta.io>
# Licensed under the GNU General Public License, Version 3:
# https://www.gnu.org/licenses
# Public project repositories:
# https://github.com/mmgen/mmgen-wallet
# https://gitlab.com/mmgen/mmgen-wallet
"""
test.cmdtest_d.include.cfg: configuration data for cmdtest.py
"""
from ...include.common import cfg
from .common import pwfile, hincog_fn, incog_id_fn, randbool
cmd_groups_altcoin = ['ref_altcoin', 'autosign', 'ethdev', 'xmrwallet', 'xmr_autosign']
cmd_groups_dfl = {
'misc': ('CmdTestMisc', {}),
'opts': ('CmdTestOpts', {'full_data': True}),
'cfgfile': ('CmdTestCfgFile', {'full_data': True}),
'help': ('CmdTestHelp', {'full_data': True}),
'main': ('CmdTestMain', {'full_data': True}),
'conv': ('CmdTestWalletConv', {'is3seed': True, 'modname': 'wallet'}),
'ref': ('CmdTestRef', {}),
'ref3': ('CmdTestRef3Seed', {'is3seed': True, 'modname': 'ref_3seed'}),
'ref3_addr': ('CmdTestRef3Addr', {'is3seed': True, 'modname': 'ref_3seed'}),
'ref3_pw': ('CmdTestRef3Passwd', {'is3seed': True, 'modname': 'ref_3seed'}),
'ref_altcoin': ('CmdTestRefAltcoin', {}),
'seedsplit': ('CmdTestSeedSplit', {}),
'tool': ('CmdTestTool', {'full_data': True}),
'input': ('CmdTestInput', {}),
'output': ('CmdTestOutput', {'modname': 'misc', 'full_data': True}),
'autosign_clean': ('CmdTestAutosignClean', {'modname': 'autosign'}),
'autosign': ('CmdTestAutosign', {}),
'autosign_automount': ('CmdTestAutosignAutomount', {'modname': 'automount'}),
'autosign_eth': ('CmdTestAutosignETH', {'modname': 'automount_eth'}),
'regtest': ('CmdTestRegtest', {}),
'swap': ('CmdTestSwap', {}),
'ethswap': ('CmdTestEthSwap', {}),
# 'chainsplit': ('CmdTestChainsplit', {}),
'ethdev': ('CmdTestEthdev', {}),
'ethbump': ('CmdTestEthBump', {}),
'rune': ('CmdTestRune', {}),
'runeswap': ('CmdTestRuneSwap', {}),
'xmrwallet': ('CmdTestXMRWallet', {}),
'xmr_autosign': ('CmdTestXMRAutosign', {}),
}
cmd_groups_extra = {
'ethswap_eth': ('CmdTestEthSwapEth', {'modname': 'ethswap'}),
'ethbump_ltc': ('CmdTestEthBumpLTC', {'modname': 'ethbump'}),
'runeswap_rune': ('CmdTestRuneSwapRune', {'modname': 'runeswap'}),
'dev': ('CmdTestDev', {'modname': 'misc'}),
'regtest_legacy': ('CmdTestRegtestBDBWallet', {'modname': 'regtest'}),
'autosign_btc': ('CmdTestAutosignBTC', {'modname': 'autosign'}),
'autosign_live': ('CmdTestAutosignLive', {'modname': 'autosign'}),
'autosign_live_simulate': ('CmdTestAutosignLiveSimulate', {'modname': 'autosign'}),
'create_ref_tx': ('CmdTestRefTX', {'modname': 'misc', 'full_data': True}),
}
cfgs = { # addr_idx_lists (except 31, 32, 33, 34) must contain exactly 8 addresses
'1': {
'wpasswd': 'Dorian-α',
'kapasswd': 'Grok the blockchain',
'addr_idx_list': '12,99,5-10,5,12',
'dep_generators': {
pwfile: 'walletgen',
'mmdat': 'walletgen',
'addrs': 'addrgen',
'rawtx': 'txcreate',
'txbump': 'txbump',
'sigtx': 'txsign',
'mmwords': 'export_mnemonic',
'mmseed': 'export_seed',
'mmhex': 'export_hex',
'mmincog': 'export_incog',
'mmincox': 'export_incog_hex',
hincog_fn: 'export_incog_hidden',
incog_id_fn: 'export_incog_hidden',
'akeys.mmenc': 'keyaddrgen'
},
},
'2': {
'wpasswd': 'Hodling away',
'addr_idx_list': '37,45,3-6,22-23',
'seed_len': 128,
'dep_generators': {
'mmdat': 'walletgen2',
'addrs': 'addrgen2',
'rawtx': 'txcreate2',
'sigtx': 'txsign2',
'mmwords': 'export_mnemonic2',
},
},
'3': {
'wpasswd': 'Major miner',
'addr_idx_list': '73,54,1022-1023,2-5',
'dep_generators': {
'mmdat': 'walletgen3',
'addrs': 'addrgen3',
'rawtx': 'txcreate3',
'sigtx': 'txsign3'
},
},
'4': {
'wpasswd': 'Hashrate good',
'addr_idx_list': '63,1004,542-544,7-9',
'seed_len': 192,
'dep_generators': {
'mmdat': 'walletgen4',
'mmbrain': 'walletgen4',
'addrs': 'addrgen4',
'rawtx': 'txcreate4',
'sigtx': 'txsign4',
'txdo': 'txdo4',
},
'bw_filename': 'brainwallet.mmbrain',
'bw_params': '192,1',
},
'5': {
'wpasswd': 'My changed password-α',
'hash_preset': '2',
'dep_generators': {
'mmdat': 'passchg',
pwfile: 'passchg',
},
},
'6': {
'seed_len': 128,
'seed_id': 'FE3C6545',
'ref_bw_seed_id': '33F10310',
'wpasswd': 'reference password',
'kapasswd': '',
'dep_generators': {
'mmdat': 'ref_walletgen_brain_1',
pwfile: 'ref_walletgen_brain_1',
'addrs': 'refaddrgen_1',
'akeys.mmenc': 'refkeyaddrgen_1'
},
},
'7': {
'seed_len': 192,
'seed_id': '1378FC64',
'ref_bw_seed_id': 'CE918388',
'wpasswd': 'reference password',
'kapasswd': '',
'dep_generators': {
'mmdat': 'ref_walletgen_brain_2',
pwfile: 'ref_walletgen_brain_2',
'addrs': 'refaddrgen_2',
'akeys.mmenc': 'refkeyaddrgen_2'
},
},
'8': {
'seed_len': 256,
'seed_id': '98831F3A',
'ref_bw_seed_id': 'B48CD7FC',
'wpasswd': 'reference password',
'kapasswd': '',
'dep_generators': {
'mmdat': 'ref_walletgen_brain_3',
pwfile: 'ref_walletgen_brain_3',
'addrs': 'refaddrgen_3',
'akeys.mmenc': 'refkeyaddrgen_3'
},
},
'9': {
'tool_enc_infn': 'tool_encrypt.in',
'dep_generators': {
'tool_encrypt.in': 'tool_encrypt',
'tool_encrypt.in.mmenc': 'tool_encrypt',
},
},
'11': {}, # wallet
'12': {}, # wallet
'13': {}, # wallet
'14': {
'kapasswd': 'Maxwell',
'wpasswd': 'The Halving',
'addr_idx_list': '61,998,502-504,7-9',
'seed_len': 256,
'dep_generators': {
'mmdat': 'walletgen14',
'addrs': 'addrgen14',
'akeys.mmenc': 'keyaddrgen14',
},
},
'15': {
'wpasswd': 'Dorian-α',
'kapasswd': 'Grok the blockchain',
'addr_idx_list': '12,99,5-10,5,12',
'dep_generators': {
pwfile: 'walletgen_dfl_wallet',
'addrs': 'addrgen_dfl_wallet',
'rawtx': 'txcreate_dfl_wallet',
'sigtx': 'txsign_dfl_wallet',
'mmseed': 'export_seed_dfl_wallet',
'del_dw_run': 'delete_dfl_wallet',
},
},
'16': {
'wpasswd': 'My changed password',
'hash_preset': '2',
'dep_generators': {
pwfile: 'passchg_dfl_wallet',
},
},
'17': {}, # regtest
'18': {}, # autosign
'19': {'wpasswd': 'abc'},
'20': {
'wpasswd': 'Vsize it',
'addr_idx_list': '1-8',
'seed_len': 256,
'dep_generators': {
'mmdat': 'walletgen5',
'addrs': 'addrgen5',
'rawtx': 'txcreate5',
'sigtx': 'txsign5',
},
},
'21': {
'wpasswd': 'Vsize it',
'addr_idx_list': '1-8',
'seed_len': 256,
'dep_generators': {
'mmdat': 'walletgen6',
'addrs': 'addrgen6',
'rawtx': 'txcreate6',
'sigtx': 'txsign6',
},
},
'22': {}, # ethdev
'23': {}, # seedsplit
'26': {}, # ref_3seed
'27': {}, # ref_3seed
'28': {}, # ref_3seed
'29': {}, # xmrwallet
'31': {}, # ref_tx
'32': {}, # ref_tx
'33': {}, # ref_tx
'34': {}, # ref_tx
'37': {}, # swap
'38': {}, # autosign_clean
'39': {}, # xmr_autosign
'40': {}, # cfgfile
'41': {}, # opts
'42': {}, # ethbump
'43': {}, # ethbump_ltc
'47': {}, # ethswap
'48': {}, # ethswap_eth
'49': {}, # autosign_automount
'50': {}, # rune
'57': {}, # runeswap
'58': {}, # runeswap_rune
'59': {}, # autosign_eth
'99': {}, # dummy
}
def fixup_cfgs():
import os
for k in cfgs:
cfgs[k]['tmpdir'] = os.path.join('test', 'tmp', str(k))
for src, target in (
('6', '11'),
('7', '12'),
('8', '13'),
('6', '26'),
('7', '27'),
('8', '28')):
cfgs[target].update(cfgs[src])
cfgs[target]['tmpdir'] = os.path.join('test', 'tmp', target)
for k in cfgs:
cfgs[k]['segwit'] = randbool() if cfg.segwit_random else bool(cfg.segwit or cfg.bech32)
if cfg.debug_utf8:
for k in cfgs:
cfgs[k]['tmpdir'] += ''
fixup_cfgs()