|
|
@ -44,7 +44,7 @@ from electrum.plugins import run_hook |
|
|
|
from electrum.i18n import _ |
|
|
|
from electrum.util import (format_time, format_satoshis, PrintError, |
|
|
|
format_satoshis_plain, NotEnoughFunds, |
|
|
|
UserCancelled) |
|
|
|
UserCancelled, NoDynamicFeeEstimates) |
|
|
|
from electrum import Transaction |
|
|
|
from electrum import util, bitcoin, commands, coinchooser |
|
|
|
from electrum import paymentrequest |
|
|
@ -1068,7 +1068,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): |
|
|
|
else: |
|
|
|
self.config.set_key('fee_per_kb', fee_rate, False) |
|
|
|
|
|
|
|
self.feerate_e.setAmount(fee_rate // 1000) |
|
|
|
if fee_rate: |
|
|
|
self.feerate_e.setAmount(fee_rate // 1000) |
|
|
|
self.fee_e.setModified(False) |
|
|
|
|
|
|
|
self.fee_slider.activate() |
|
|
@ -1098,6 +1099,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): |
|
|
|
self.size_e = TxSizeLabel() |
|
|
|
self.size_e.setAlignment(Qt.AlignCenter) |
|
|
|
self.size_e.setAmount(0) |
|
|
|
self.size_e.setFixedWidth(140) |
|
|
|
self.size_e.setStyleSheet(ColorScheme.DEFAULT.as_stylesheet()) |
|
|
|
|
|
|
|
self.feerate_e = FeerateEdit(lambda: 2 if self.fee_unit else 0) |
|
|
@ -1242,17 +1244,24 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): |
|
|
|
if not outputs: |
|
|
|
_type, addr = self.get_payto_or_dummy() |
|
|
|
outputs = [(_type, addr, amount)] |
|
|
|
try: |
|
|
|
is_sweep = bool(self.tx_external_keypairs) |
|
|
|
tx = self.wallet.make_unsigned_transaction( |
|
|
|
is_sweep = bool(self.tx_external_keypairs) |
|
|
|
make_tx = lambda fee_est: \ |
|
|
|
self.wallet.make_unsigned_transaction( |
|
|
|
self.get_coins(), outputs, self.config, |
|
|
|
fixed_fee=fee_estimator, is_sweep=is_sweep) |
|
|
|
fixed_fee=fee_est, is_sweep=is_sweep) |
|
|
|
try: |
|
|
|
tx = make_tx(fee_estimator) |
|
|
|
self.not_enough_funds = False |
|
|
|
except NotEnoughFunds: |
|
|
|
self.not_enough_funds = True |
|
|
|
if not freeze_fee: |
|
|
|
self.fee_e.setAmount(None) |
|
|
|
return |
|
|
|
except NoDynamicFeeEstimates: |
|
|
|
tx = make_tx(0) |
|
|
|
size = tx.estimated_size() |
|
|
|
self.size_e.setAmount(size) |
|
|
|
return |
|
|
|
except BaseException: |
|
|
|
traceback.print_exc(file=sys.stderr) |
|
|
|
return |
|
|
|