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 .cfg import Config
 from .util import msg,msg_r,ymsg,rmsg,gmsg,bmsg,die,suf,fmt,fmt_list,async_run
 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 .wallet import Wallet,get_wallet_cls
 from .filename import find_file_in_dir
 from .filename import find_file_in_dir
 from .ui import keypress_confirm
 from .ui import keypress_confirm
@@ -266,11 +266,12 @@ class Signable:
 		dir_name = 'xmr_outputs_dir'
 		dir_name = 'xmr_outputs_dir'
 		clean_all = True
 		clean_all = True
 		summary_footer = '\n'
 		summary_footer = '\n'
+		action_desc = 'imported and signed'
 
 
 		async def sign(self,f):
 		async def sign(self,f):
 			from .xmrwallet import MoneroWalletOps,xmrwallet_uargs
 			from .xmrwallet import MoneroWalletOps,xmrwallet_uargs
 			wallet_idx = MoneroWalletOps.wallet.get_idx_from_fn(f)
 			wallet_idx = MoneroWalletOps.wallet.get_idx_from_fn(f)
-			m = MoneroWalletOps.export_key_images(
+			m = MoneroWalletOps.import_outputs(
 				self.parent.xmrwallet_cfg,
 				self.parent.xmrwallet_cfg,
 				xmrwallet_uargs(
 				xmrwallet_uargs(
 					infile  = str(self.parent.wallet_files[0]), # MMGen wallet file
 					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)
 				good.append(ret) if ret else bad.append(f)
 				self.cfg._util.qmsg('')
 				self.cfg._util.qmsg('')
 			await asyncio.sleep(0.3)
 			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:
 			if bad:
 				rmsg(f'{len(bad)} {target.desc}{suf(bad)} {target.fail_msg}')
 				rmsg(f'{len(bad)} {target.desc}{suf(bad)} {target.fail_msg}')
 			if good and not self.cfg.no_summary:
 			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
             labels) for a list or range of wallets
 restore   - same as ‘create’, but additionally restore wallet metadata from
 restore   - same as ‘create’, but additionally restore wallet metadata from
             the corresponding JSON dump files created with ‘dump’
             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
                            ‘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
 You might also need to do it, however, if an offline wallet is unable to sign
 a transaction due to missing outputs.
 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
 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
 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
 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
 $ mmgen-xmrwallet --autosign import-key-images
 
 

+ 1 - 2
mmgen/main_xmrwallet.py

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

+ 2 - 2
mmgen/xmrwallet.py

@@ -1908,8 +1908,8 @@ class MoneroWalletOps:
 			m.write()
 			m.write()
 			return True
 			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
 		start_daemon = False
 
 
 		async def main(self,fn,wallet_idx,restart_daemon=True):
 		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=[]):
 	def _export_outputs(self,wallet_arg,add_opts=[]):
 		self.insert_device_online()
 		self.insert_device_online()
 		t = self._xmr_autosign_op(
 		t = self._xmr_autosign_op(
-			op    = 'export-outputs',
+			op         = 'export-outputs',
 			wallet_arg = wallet_arg,
 			wallet_arg = wallet_arg,
-			add_opts = add_opts )
+			add_opts   = add_opts)
 		t.written_to_file('Wallet outputs')
 		t.written_to_file('Wallet outputs')
 		self.remove_device_online()
 		self.remove_device_online()
 		return t
 		return t