From 8055c061b739e5aef20b971211c5047f9e6a9bb1 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Wed, 23 Jun 2021 20:21:25 +0000 Subject: [PATCH] tx.py: improve TX summary fee display --- mmgen/altcoins/eth/tx.py | 1 - mmgen/tx.py | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mmgen/altcoins/eth/tx.py b/mmgen/altcoins/eth/tx.py index 2a4d6d30..cb71a197 100755 --- a/mmgen/altcoins/eth/tx.py +++ b/mmgen/altcoins/eth/tx.py @@ -222,7 +222,6 @@ class EthereumMMGenTX: txview_hdr_fs = 'TRANSACTION DATA\n\nID={i} ({a} {c}) UTC={t} Sig={s} Locktime={l}\n' txview_hdr_fs_short = 'TX {i} ({a} {c}) UTC={t} Sig={s} Locktime={l}\n' txview_ftr_fs = 'Total in account: {i} {d}\nTotal to spend: {o} {d}\nTX fee: {a} {c}{r}\n' - txview_ftr_fs_short = 'In {i} {d} - Out {o} {d}\nFee {a} {c}{r}\n' fmt_keys = ('from','to','amt','nonce') def check_txfile_hex_data(self): diff --git a/mmgen/tx.py b/mmgen/tx.py index a21d3b31..372ad1ae 100755 --- a/mmgen/tx.py +++ b/mmgen/tx.py @@ -940,8 +940,12 @@ class MMGenTX: dfl_view_sort_order = 'addr' txview_hdr_fs = 'TRANSACTION DATA\n\nID={i} ({a} {c}) UTC={t} RBF={r} Sig={s} Locktime={l}\n' txview_hdr_fs_short = 'TX {i} ({a} {c}) UTC={t} RBF={r} Sig={s} Locktime={l}\n' - txview_ftr_fs = 'Total input: {i} {d}\nTotal output: {o} {d}\nTX fee: {a} {c}{r}\n' - txview_ftr_fs_short = 'In {i} {d} - Out {o} {d}\nFee {a} {c}{r}\n' + txview_ftr_fs = fmt(""" + Input amount: {i} {d} + Change: {C} {d} + Spend amount: {s} {d} + Fee: {a} {c}{r} + """) parsed_hex = None def __init__(self,filename=None,quiet_open=False,data=None): @@ -1075,9 +1079,11 @@ class MMGenTX: + ''.join(format_io('outputs')) ) def format_view_rel_fee(self,terse): - return ' ({} {})\n'.format( + return ' ({} {}, {} of spend amount)'.format( pink(str(self.fee_abs2rel(self.get_fee()))), - self.rel_fee_disp) + self.rel_fee_disp, + pink('{:0.6f}%'.format( self.get_fee() / self.send_amt * 100 )) + ) def format_view_abs_fee(self): return self.proto.coin_amt(self.get_fee()).hl() @@ -1132,9 +1138,11 @@ class MMGenTX: yield self.format_view_body(blockcount,nonmm_str,max_mmwid,enl,terse=terse,sort=sort) - yield (self.txview_ftr_fs_short if terse else self.txview_ftr_fs).format( + yield self.txview_ftr_fs.format( i = self.sum_inputs().hl(), o = self.sum_outputs().hl(), + C = (self.sum_outputs() - self.send_amt).hl(), + s = self.send_amt.hl(), a = self.format_view_abs_fee(), r = self.format_view_rel_fee(terse), d = self.dcoin,