From bbd88a2745eee7aea9971a72c2a387fa87b3d655 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 15 Apr 2024 09:48:13 +0000 Subject: [PATCH] xmrwallet: minor cleanups --- mmgen/xmrwallet.py | 54 +++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/mmgen/xmrwallet.py b/mmgen/xmrwallet.py index 1975519a..65a97c2a 100755 --- a/mmgen/xmrwallet.py +++ b/mmgen/xmrwallet.py @@ -994,6 +994,7 @@ class MoneroWalletOps: def __init__(self,parent,d): self.parent = parent self.cfg = parent.cfg + self.proto = parent.proto self.c = parent.c self.d = d self.fn = parent.get_wallet_fn(d) @@ -1029,17 +1030,21 @@ class MoneroWalletOps: gmsg_r('done') def gen_accts_info(self, accts_data, addrs_data, indent=' '): - d = accts_data['subaddress_accounts'] + fs = indent + ' {I:<3} {A} {N} {B} {L}' yield indent + f'Accounts of wallet {self.fn.name}:' - fs = indent + ' {a:6} {b:18} {c:<6} {d:%s} {e}' % max(len(e['label']) for e in d) - yield fs.format(a='Index ', b='Base Address', c='nAddrs', d='Label', e='Unlocked Balance') - for i,e in enumerate(d): + yield fs.format( + I = '', + A = 'Base Address'.ljust(17), + N = 'nAddrs', + B = ' Unlocked Balance', + L = 'Label') + for i,e in enumerate(accts_data['subaddress_accounts']): yield fs.format( - a = str(e['account_index']), - b = e['base_address'][:15] + '...', - c = len(addrs_data[i]['addresses']), - d = e['label'], - e = fmt_amt(e['unlocked_balance'])) + I = str(e['account_index']), + A = e['base_address'][:14] + '...', + N = str(len(addrs_data[i]['addresses'])).ljust(6), + B = fmt_amt(e['unlocked_balance']), + L = e['label']) def get_wallet_data(self, print=True): accts_data = self.c.call('get_accounts') @@ -1122,7 +1127,7 @@ class MoneroWalletOps: return self.new_tx_cls( cfg = self.cfg, op = self.parent.name, - network = self.parent.proto.network, + network = self.proto.network, seed_id = self.parent.kal.al_id.sid, source = XMRWalletAddrSpec(self.parent.source.idx,self.parent.account,None), dest = None, @@ -1154,7 +1159,7 @@ class MoneroWalletOps: return self.new_tx_cls( cfg = self.cfg, op = self.parent.name, - network = self.parent.proto.network, + network = self.proto.network, seed_id = self.parent.kal.al_id.sid, source = XMRWalletAddrSpec(self.parent.source.idx,self.parent.account,None), dest = XMRWalletAddrSpec( @@ -1404,8 +1409,8 @@ class MoneroWalletOps: return wallet_height >= chain_height - def gen_body(self, data): - for wnum, (_, wallet_data) in enumerate(data.items()): + def gen_body(self, wallets_data): + for wnum, (_, wallet_data) in enumerate(wallets_data.items()): yield from self.rpc(self, self.addr_data[wnum]).gen_accts_info( wallet_data.accts_data, wallet_data.addrs_data, @@ -1438,15 +1443,15 @@ class MoneroWalletOps: stem = 'sync' opts = ('full_output',) - def gen_body(self, data): + def gen_body(self, wallets_data): addr_width = 95 if self.cfg.full_output else 17 - for wnum, (wallet, wallet_data) in enumerate(data.items()): + for (wallet_fn, wallet_data) in wallets_data.items(): for acct in wallet_data.addrs_data: acct['balances'] = [] for e in wallet_data.bals_data.get('per_subaddress',[]): wallet_data.addrs_data[e['account_index']]['balances'].append(e) fs = ' {I:2} {A} {U} {B} {L}' - yield green(f'Wallet {wallet}:') + yield green(f'Wallet {wallet_fn}:') for acct_num, acct in enumerate(wallet_data.addrs_data): for addr in acct['addresses']: addr['balance'] = 0 @@ -1652,19 +1657,18 @@ class MoneroWalletOps: h2.close_wallet('destination') h.open_wallet('source', refresh=False) - assert dest_addr_chk in (None, dest_addr), 'dest_addr_chk' + assert dest_addr_chk in (None, dest_addr), ( + f'dest_addr: ({dest_addr}) != dest_addr_chk: ({dest_addr_chk})') msg(f'\n Creating {self.name} transaction...') return (h, h.make_sweep_tx(self.account, dest_acct, dest_addr_idx, dest_addr, wallet_data.addrs_data)) @property def add_desc(self): - if self.dest is None: - return ' to new address' - elif self.dest_acct is None: - return f' to new account in wallet {self.dest.idx}' - else: - return f' to account #{self.dest_acct} of wallet {self.dest.idx}' + return ( + r' to new address' if self.dest is None else + f' to new account in wallet {self.dest.idx}' if self.dest_acct is None else + f' to account #{self.dest_acct} of wallet {self.dest.idx}') def check_account_exists(self, accts_data, idx): max_acct = len(accts_data['subaddress_accounts']) - 1 @@ -1674,8 +1678,8 @@ class MoneroWalletOps: async def main(self): gmsg( - f'\n{self.stem.capitalize()}ing account #{self.account} of wallet {self.source.idx}' - + self.add_desc) + f'\n{self.stem.capitalize()}ing account #{self.account}' + f' of wallet {self.source.idx}{self.add_desc}') h = self.rpc(self,self.source)