proto.eth.tw.addresses: move get_rpc_data() to parent class

This commit is contained in:
The MMGen Project 2025-05-23 15:35:23 +00:00
commit 24bdbae960
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
2 changed files with 28 additions and 27 deletions

View file

@ -18,33 +18,7 @@ from .view import EthereumTwView
from .rpc import EthereumTwRPC
class EthereumTwAddresses(TwAddresses, EthereumTwView, EthereumTwRPC):
prompt_fs_in = [
'Sort options: [a]mt, [M]mgen addr, [r]everse',
'Filters: show [E]mpty addrs, show all [L]abels',
'View/Print: pager [v]iew, [w]ide pager view, [p]rint{s}',
'Actions: [q]uit menu, r[e]draw, [D]elete addr, add [l]abel:']
async def get_rpc_data(self):
self.total = self.proto.coin_amt('0')
self.minconf = None
addrs = {}
used_addrs = self.twctl.used_addrs
for e in await self.twctl.get_label_addr_pairs():
bal = await self.twctl.get_balance(e.coinaddr)
addrs[e.label.mmid] = {
'addr': e.coinaddr,
'amt': bal,
'recvd': bal, # current bal only, CF btc.tw.addresses.get_rpc_data()
'is_used': bool(bal) or e.coinaddr in used_addrs,
'confs': 0,
'lbl': e.label}
self.total += bal
return addrs
pass
class EthereumTokenTwAddresses(EthereumTwAddresses):
pass

View file

@ -38,6 +38,12 @@ class TwAddresses(TwView):
has_age = False
has_used = False
prompt_fs_in = [
'Sort options: [a]mt, [M]mgen addr, [r]everse',
'Filters: show [E]mpty addrs, show all [L]abels',
'View/Print: pager [v]iew, [w]ide pager view, [p]rint{s}',
'Actions: [q]uit menu, r[e]draw, [D]elete addr, add [l]abel:']
key_mappings = {
'a':'s_amt',
'M':'s_twmmid',
@ -122,6 +128,27 @@ class TwAddresses(TwView):
return 'No addresses {}found!'.format(
f'with {self.minconf} confirmations ' if self.minconf else '')
async def get_rpc_data(self):
self.total = self.proto.coin_amt('0')
self.minconf = None
addrs = {}
used_addrs = self.twctl.used_addrs
for e in await self.twctl.get_label_addr_pairs():
bal = await self.twctl.get_balance(e.coinaddr)
addrs[e.label.mmid] = {
'addr': e.coinaddr,
'amt': bal,
'recvd': bal, # current bal only, CF btc.tw.addresses.get_rpc_data()
'is_used': bool(bal) or e.coinaddr in used_addrs,
'confs': 0,
'lbl': e.label}
self.total += bal
return addrs
async def gen_data(self, rpc_data, lbl_id):
return (
self.TwAddress(