qt/send_tab: fix regressions paymentidentifier
Fix '!' amount expand while PaymentIdentifier not set due to editor pushback timer. Fix '!' amount expand for BIP21 without a specified payment amount.
This commit is contained in:
@@ -224,9 +224,13 @@ class SendTab(QWidget, MessageBoxMixin, Logger):
|
|||||||
self.show_error(_('Invalid payment identifier'))
|
self.show_error(_('Invalid payment identifier'))
|
||||||
|
|
||||||
def spend_max(self):
|
def spend_max(self):
|
||||||
assert self.payto_e.payment_identifier is not None
|
if self.payto_e.payment_identifier is None:
|
||||||
|
return
|
||||||
|
|
||||||
assert self.payto_e.payment_identifier.type in [PaymentIdentifierType.SPK, PaymentIdentifierType.MULTILINE,
|
assert self.payto_e.payment_identifier.type in [PaymentIdentifierType.SPK, PaymentIdentifierType.MULTILINE,
|
||||||
PaymentIdentifierType.OPENALIAS]
|
PaymentIdentifierType.BIP21, PaymentIdentifierType.OPENALIAS]
|
||||||
|
assert not self.payto_e.payment_identifier.is_amount_locked()
|
||||||
|
|
||||||
if run_hook('abort_send', self):
|
if run_hook('abort_send', self):
|
||||||
return
|
return
|
||||||
outputs = self.payto_e.payment_identifier.get_onchain_outputs('!')
|
outputs = self.payto_e.payment_identifier.get_onchain_outputs('!')
|
||||||
@@ -437,6 +441,10 @@ class SendTab(QWidget, MessageBoxMixin, Logger):
|
|||||||
else:
|
else:
|
||||||
self.amount_e.setToolTip('')
|
self.amount_e.setToolTip('')
|
||||||
|
|
||||||
|
# resolve '!' in amount editor if it was set before PI
|
||||||
|
if not lock_max and self.amount_e.text() == '!':
|
||||||
|
self.spend_max()
|
||||||
|
|
||||||
pi_unusable = pi.is_error() or (not self.wallet.has_lightning() and not pi.is_onchain())
|
pi_unusable = pi.is_error() or (not self.wallet.has_lightning() and not pi.is_onchain())
|
||||||
|
|
||||||
self.send_button.setEnabled(not pi_unusable and bool(self.amount_e.get_amount()) and not pi.has_expired())
|
self.send_button.setEnabled(not pi_unusable and bool(self.amount_e.get_amount()) and not pi.has_expired())
|
||||||
|
|||||||
Reference in New Issue
Block a user