Browse Source

mmgen-tool: Monero wallet ops API change

- keyaddrlist2monerowallets -> xmrwallet create
- syncmonerowallets         -> xmrwallet sync
The MMGen Project 4 years ago
parent
commit
35b8414c28
3 changed files with 31 additions and 21 deletions
  1. 24 14
      mmgen/tool.py
  2. 6 6
      test/test-release.sh
  3. 1 1
      test/tooltest.py

+ 24 - 14
mmgen/tool.py

@@ -1006,7 +1006,7 @@ class MMGenToolCmdRPC(MMGenToolCmds):
 
 class MMGenToolCmdMonero(MMGenToolCmds):
 	"""
-	Monero wallet utilities
+	Monero wallet operations
 
 	Note that the use of these commands requires private data to be exposed on
 	a network-connected machine in order to unlock the Monero wallets.  This is
@@ -1034,19 +1034,29 @@ class MMGenToolCmdMonero(MMGenToolCmds):
 
 		return self._monero_chain_height
 
-	def keyaddrlist2monerowallets(  self,
-									xmr_keyaddrfile:str,
-									blockheight:'(default: current height)' = 0,
-									addrs:'(integer range or list)' = ''):
-		"create Monero wallets from a key-address list"
-		return self.monero_wallet_ops(  infile = xmr_keyaddrfile,
-										op = 'create',
-										blockheight = blockheight,
-										addrs = addrs)
-
-	def syncmonerowallets(self,xmr_keyaddrfile:str,addrs:'(integer range or list)'=''):
-		"sync Monero wallets from a key-address list"
-		return self.monero_wallet_ops(infile=xmr_keyaddrfile,op='sync',addrs=addrs)
+	def xmrwallet(
+		self,
+		op:str,
+		xmr_keyaddrfile:str,
+		blockheight:'(default: current height)' = 0,
+		addrs:'(integer range or list)' = '',
+	):
+		"""
+		perform various Monero wallet operations for addresses in XMR key-address file
+		  Supported operations:
+		    create - create wallet for all or specified addresses in key-address file
+		    sync   - sync wallet for all or specified addresses in key-address file
+		"""
+
+		if op == 'sync' and blockheight != 0:
+			die(1,'sync operation does not support blockheight arg')
+
+		return self.monero_wallet_ops(
+			infile = xmr_keyaddrfile,
+			op = op,
+			blockheight = blockheight,
+			addrs = addrs
+		)
 
 	def monero_wallet_ops(self,infile:str,op:str,blockheight=0,addrs='',monerod_args=[]):
 

+ 6 - 6
test/test-release.sh

@@ -359,13 +359,13 @@ t_xmr="
 	cs2=\$(cmds/mmgen-tool -q --accept-defaults --coin=xmr keyaddrfile_chksum $TMPDIR/*-XMR*.akeys)
 	[ \"\$cs1\" == \"\$cs2\" ]
 	test/start-coin-daemons.py xmr
-	$mmgen_tool_xmr keyaddrlist2monerowallets $TMPDIR/*-XMR*.akeys addrs=23
-	$mmgen_tool_xmr keyaddrlist2monerowallets $TMPDIR/*-XMR*.akeys addrs=103-200
+	$mmgen_tool_xmr xmrwallet create $TMPDIR/*-XMR*.akeys addrs=23
+	$mmgen_tool_xmr xmrwallet create $TMPDIR/*-XMR*.akeys addrs=103-200
 	rm $TMPDIR/*-MoneroWallet*
-	$mmgen_tool_xmr keyaddrlist2monerowallets $TMPDIR/*-XMR*.akeys
-	$mmgen_tool_xmr syncmonerowallets $TMPDIR/*-XMR*.akeys addrs=3
-	$mmgen_tool_xmr syncmonerowallets $TMPDIR/*-XMR*.akeys addrs=23-29
-	$mmgen_tool_xmr syncmonerowallets $TMPDIR/*-XMR*.akeys
+	$mmgen_tool_xmr xmrwallet create $TMPDIR/*-XMR*.akeys
+	$mmgen_tool_xmr xmrwallet sync $TMPDIR/*-XMR*.akeys addrs=3
+	$mmgen_tool_xmr xmrwallet sync $TMPDIR/*-XMR*.akeys addrs=23-29
+	$mmgen_tool_xmr xmrwallet sync $TMPDIR/*-XMR*.akeys
 	test/stop-coin-daemons.py -W xmr
 "
 f_xmr='Monero tests completed'

+ 1 - 1
test/tooltest.py

@@ -159,7 +159,7 @@ if opt.list_names:
 			'addrfile_chksum','keyaddrfile_chksum','passwdfile_chksum',
 			'add_label','remove_label','remove_address','twview',
 			'getbalance','listaddresses','listaddress'),
-		'test-release.sh': ('keyaddrlist2monerowallets','syncmonerowallets'),
+		'test-release.sh': ('xmrwallet',),
 		'tooltest2.py': run(tcmd,stdout=PIPE,check=True).stdout.decode().split()
 	}
 	for v in cmd_data.values():