From c69f7e52d305a8ae02e57412940f0c47fe2ed076 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Thu, 7 May 2026 17:52:59 +0000 Subject: [PATCH] mmgen-autosign: forbid use of `--xmrwallets` in non-setup context --- mmgen/main_autosign.py | 4 ++++ test/cmdtest_d/xmr_autosign.py | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/mmgen/main_autosign.py b/mmgen/main_autosign.py index ee7aea56..0bab5d0f 100755 --- a/mmgen/main_autosign.py +++ b/mmgen/main_autosign.py @@ -130,6 +130,10 @@ if cmd in ('test_led', 'list_led'): gmsg('LED signaling is supported by this platform!') sys.exit(0) +if cfg.xmrwallets: + if cmd not in ('setup', 'xmr_setup'): + die(1, '--xmrwallets is valid only for the ‘setup’ and ‘xmr_setup’ operations') + if cmd != 'setup': for opt in ('seed_len', 'mnemonic_fmt', 'keys_from_file'): if getattr(cfg, opt): diff --git a/test/cmdtest_d/xmr_autosign.py b/test/cmdtest_d/xmr_autosign.py index 575451b0..f05a3307 100755 --- a/test/cmdtest_d/xmr_autosign.py +++ b/test/cmdtest_d/xmr_autosign.py @@ -128,8 +128,8 @@ class CmdTestXMRAutosign(CmdTestXMRWallet, CmdTestAutosignThreaded): self.burn_addr = make_burn_addr(cfg) - self.opts.append('--xmrwallets={}'.format(self.users['alice'].kal_range)) # mmgen-autosign opts - self.autosign_opts = ['--autosign'] # mmgen-xmrwallet opts + self.xmrwallets_opt = f'--xmrwallets={self.users["alice"].kal_range}' + self.autosign_opts = ['--autosign'] # mmgen-xmrwallet opts self.spawn_env['MMGEN_TEST_SUITE_XMR_AUTOSIGN'] = '1' def create_tmp_wallets(self): @@ -254,6 +254,7 @@ class CmdTestXMRAutosign(CmdTestXMRWallet, CmdTestAutosignThreaded): mn_type = 'mmgen', mn_file = self.users['alice'].mmwords, use_dfl_wallet = None, + add_opts = [self.xmrwallets_opt], expect_args = ['Continue with Monero setup? (Y/n): ', 'n']) def autosign_xmr_setup_redo(self): @@ -268,7 +269,10 @@ class CmdTestXMRAutosign(CmdTestXMRWallet, CmdTestAutosignThreaded): self.remove_device_online() self.insert_device() - t = self.spawn('mmgen-autosign', self.opts + ['xmr_setup'], no_passthru_opts=True) + t = self.spawn( + 'mmgen-autosign', + self.opts + [self.xmrwallets_opt] + ['xmr_setup'], + no_passthru_opts = True) if write_viewkeys: t.written_to_file('View keys') else: