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):
 class MMGenToolCmdMonero(MMGenToolCmds):
 	"""
 	"""
-	Monero wallet utilities
+	Monero wallet operations
 
 
 	Note that the use of these commands requires private data to be exposed on
 	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
 	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
 		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=[]):
 	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)
 	cs2=\$(cmds/mmgen-tool -q --accept-defaults --coin=xmr keyaddrfile_chksum $TMPDIR/*-XMR*.akeys)
 	[ \"\$cs1\" == \"\$cs2\" ]
 	[ \"\$cs1\" == \"\$cs2\" ]
 	test/start-coin-daemons.py xmr
 	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*
 	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
 	test/stop-coin-daemons.py -W xmr
 "
 "
 f_xmr='Monero tests completed'
 f_xmr='Monero tests completed'

+ 1 - 1
test/tooltest.py

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