Skip to content

Commit

Permalink
minor qt send tab fixes. notably 'send max' was broken
Browse files Browse the repository at this point in the history
follow-up aaed594
  • Loading branch information
SomberNight committed Sep 16, 2019
1 parent 5e04f08 commit 0b87ce4
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 7 deletions.
6 changes: 3 additions & 3 deletions electrum/gui/qt/main_window.py
Expand Up @@ -148,6 +148,7 @@ def __init__(self, gui_object: 'ElectrumGui', wallet: Abstract_Wallet):
self.app = gui_object.app
self.cleaned_up = False
self.payment_request = None # type: Optional[paymentrequest.PaymentRequest]
self.payto_URI = None
self.checking_accounts = False
self.qr_window = None
self.not_enough_funds = False
Expand Down Expand Up @@ -1734,9 +1735,8 @@ def do_pay_invoice(self, invoice, preview=False):
elif invoice['type'] == PR_TYPE_ONCHAIN:
message = invoice['message']
outputs = invoice['outputs']
amount = sum(map(lambda x:x[2], outputs))
else:
raise Exception('unknowwn invoicce type')
raise Exception('unknown invoice type')

if run_hook('abort_send', self):
return
Expand All @@ -1760,7 +1760,7 @@ def do_pay_invoice(self, invoice, preview=False):
self.show_message(str(e))
return

amount = tx.output_value() if self.max_button.isChecked() else sum(map(lambda x:x[2], outputs))
amount = tx.output_value() if self.max_button.isChecked() else sum(map(lambda x: x.value, outputs))
fee = tx.get_fee()

use_rbf = bool(self.config.get('use_rbf', True))
Expand Down
6 changes: 4 additions & 2 deletions electrum/util.py
Expand Up @@ -585,12 +585,14 @@ def format_satoshis_plain(x, decimal_point = 8):
return "{:.8f}".format(Decimal(x) / scale_factor).rstrip('0').rstrip('.')


DECIMAL_POINT = localeconv()['decimal_point']
DECIMAL_POINT = localeconv()['decimal_point'] # type: str


def format_satoshis(x, num_zeros=0, decimal_point=8, precision=None, is_diff=False, whitespaces=False):
def format_satoshis(x, num_zeros=0, decimal_point=8, precision=None, is_diff=False, whitespaces=False) -> str:
if x is None:
return 'unknown'
if x == '!':
return 'max'
if precision is None:
precision = decimal_point
# format string
Expand Down
7 changes: 5 additions & 2 deletions electrum/wallet.py
Expand Up @@ -512,8 +512,11 @@ def get_onchain_history(self):
'txpos_in_block': hist_item.tx_mined_status.txpos,
}

def create_invoice(self, outputs, message, pr, URI):
amount = sum(x[2] for x in outputs)
def create_invoice(self, outputs: List[TxOutput], message, pr, URI):
if '!' in (x.value for x in outputs):
amount = '!'
else:
amount = sum(x.value for x in outputs)
invoice = {
'type': PR_TYPE_ONCHAIN,
'message': message,
Expand Down

0 comments on commit 0b87ce4

Please sign in to comment.