mmgen-tool: Monero wallet ops API change

- keyaddrlist2monerowallets -> xmrwallet create
- syncmonerowallets         -> xmrwallet sync
This commit is contained in:
The MMGen Project 2021-04-16 11:44:28 +00:00
commit 35b8414c28
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
3 changed files with 31 additions and 21 deletions

View file

@ -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 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
"""
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)
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=[]):

View file

@ -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'

View file

@ -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():