Browse Source

xmrwallet autosign: cleanups

The MMGen Project 1 year ago
parent
commit
c8b8e37383
5 changed files with 27 additions and 25 deletions
  1. 4 3
      mmgen/autosign.py
  2. 18 16
      mmgen/help/xmrwallet.py
  3. 1 2
      mmgen/main_xmrwallet.py
  4. 2 2
      mmgen/xmrwallet.py
  5. 2 2
      test/cmdtest_py_d/ct_xmr_autosign.py

+ 4 - 3
mmgen/autosign.py

@@ -19,7 +19,7 @@ from subprocess import run,DEVNULL
 
 from .cfg import Config
 from .util import msg,msg_r,ymsg,rmsg,gmsg,bmsg,die,suf,fmt,fmt_list,async_run
-from .color import yellow,red,orange
+from .color import yellow,red,orange,brown
 from .wallet import Wallet,get_wallet_cls
 from .filename import find_file_in_dir
 from .ui import keypress_confirm
@@ -266,11 +266,12 @@ class Signable:
 		dir_name = 'xmr_outputs_dir'
 		clean_all = True
 		summary_footer = '\n'
+		action_desc = 'imported and signed'
 
 		async def sign(self,f):
 			from .xmrwallet import MoneroWalletOps,xmrwallet_uargs
 			wallet_idx = MoneroWalletOps.wallet.get_idx_from_fn(f)
-			m = MoneroWalletOps.export_key_images(
+			m = MoneroWalletOps.import_outputs(
 				self.parent.xmrwallet_cfg,
 				xmrwallet_uargs(
 					infile  = str(self.parent.wallet_files[0]), # MMGen wallet file
@@ -514,7 +515,7 @@ class Autosign:
 				good.append(ret) if ret else bad.append(f)
 				self.cfg._util.qmsg('')
 			await asyncio.sleep(0.3)
-			msg(f'{len(good)} {target.desc}{suf(good)} signed')
+			msg(brown(f'{len(good)} {target.desc}{suf(good)} {target.action_desc}'))
 			if bad:
 				rmsg(f'{len(bad)} {target.desc}{suf(bad)} {target.fail_msg}')
 			if good and not self.cfg.no_summary:

+ 18 - 16
mmgen/help/xmrwallet.py

@@ -61,10 +61,10 @@ dump      - produce JSON dumps of wallet metadata (accounts, addresses and
             labels) for a list or range of wallets
 restore   - same as ‘create’, but additionally restore wallet metadata from
             the corresponding JSON dump files created with ‘dump’
-export-outputs    - export outputs of watch-only wallets for later import
-                    into their corresponding offline wallets
-import-key-images - import key images signed by offline wallets into their
-                    corresponding watch-only wallets
+export-outputs      - export outputs of watch-only wallets for import into
+                      their corresponding offline wallets
+import-key-images   - import key images signed by offline wallets into their
+                      corresponding watch-only wallets
 
 
                            ‘LABEL’ OPERATION NOTES
@@ -344,23 +344,25 @@ three cases:
 You might also need to do it, however, if an offline wallet is unable to sign
 a transaction due to missing outputs.
 
-Export outputs from a wallet as follows (note that the --rescan-blockchain
-option is required only after a ‘resubmit’ – otherwise it should be omitted):
-
-$ mmgen-xmrwallet --autosign --rescan-blockchain export-outputs <wallet index>
-
 At the start of a new signing session, you must export outputs from ALL
 wallets you intend to transact with.  This is necessary because the offline
 signing wallets have just been created and know nothing about the state of
-their watch-only counterparts.
+their online counterparts.
+
+Export outputs from a wallet as follows (for all wallets, omit the index):
 
-Then insert the removable device on the offline machine to import the outputs
-into the corresponding signing wallet(s) (and optionally redo any failed
-transaction signing operation).  The signing wallet(s) will also create
-signed key images.
+$ mmgen-xmrwallet --autosign export-outputs <wallet index>
+
+Then insert the removable device on the offline machine.  This will import
+the outputs into the corresponding signing wallet(s) (and optionally redo any
+failed transaction signing operation).
+
+Following a ‘resubmit’, add the --rescan-blockchain option:
+
+$ mmgen-xmrwallet --autosign --rescan-blockchain export-outputs <wallet index>
 
-Following a ‘resubmit’, you must then import the signed key images into your
-online wallet as follows:
+Insert the removable device on your online machine and import the signed key
+images into your online wallet as follows:
 
 $ mmgen-xmrwallet --autosign import-key-images
 

+ 1 - 2
mmgen/main_xmrwallet.py

@@ -48,8 +48,7 @@ opts_data = {
 			'[opts] relay    <TX_file>',
 			'[opts] resubmit | abort (for use with --autosign only)',
 			'[opts] txview | txlist [TX_file] ...',
-			'[opts] export-outputs    [wallets]',
-			'[opts] import-key-images [wallets]',
+			'[opts] export-outputs | import-key-images [wallets]',
 		],
 		'options': """
 -h, --help                       Print this help message

+ 2 - 2
mmgen/xmrwallet.py

@@ -1908,8 +1908,8 @@ class MoneroWalletOps:
 			m.write()
 			return True
 
-	class export_key_images(wallet):
-		action = 'signing wallet outputs file with'
+	class import_outputs(wallet):
+		action = 'importing wallet outputs into'
 		start_daemon = False
 
 		async def main(self,fn,wallet_idx,restart_daemon=True):

+ 2 - 2
test/cmdtest_py_d/ct_xmr_autosign.py

@@ -356,9 +356,9 @@ class CmdTestXMRAutosign(CmdTestXMRWallet,CmdTestAutosignThreaded):
 	def _export_outputs(self,wallet_arg,add_opts=[]):
 		self.insert_device_online()
 		t = self._xmr_autosign_op(
-			op    = 'export-outputs',
+			op         = 'export-outputs',
 			wallet_arg = wallet_arg,
-			add_opts = add_opts )
+			add_opts   = add_opts)
 		t.written_to_file('Wallet outputs')
 		self.remove_device_online()
 		return t