network: sanitize tx broadcast response
This commit is contained in:
@@ -12,7 +12,7 @@ from electrum.bitcoin import is_address, COIN, TYPE_ADDRESS
|
||||
from electrum.transaction import TxOutput
|
||||
from electrum.wallet import Wallet
|
||||
from electrum.storage import WalletStorage
|
||||
from electrum.network import NetworkParameters
|
||||
from electrum.network import NetworkParameters, TxBroadcastError, BestEffortRequestFailed
|
||||
from electrum.interface import deserialize_server
|
||||
|
||||
_ = lambda x:x # i18n
|
||||
@@ -369,10 +369,12 @@ class ElectrumGui:
|
||||
self.show_message(_("Please wait..."), getchar=False)
|
||||
try:
|
||||
self.network.run_from_another_thread(self.network.broadcast_transaction(tx))
|
||||
except Exception as e:
|
||||
display_msg = _('The server returned an error when broadcasting the transaction.')
|
||||
display_msg += '\n' + repr(e)
|
||||
self.show_message(display_msg)
|
||||
except TxBroadcastError as e:
|
||||
msg = e.get_message_for_gui()
|
||||
self.show_message(msg)
|
||||
except BestEffortRequestFailed as e:
|
||||
msg = repr(e)
|
||||
self.show_message(msg)
|
||||
else:
|
||||
self.show_message(_('Payment sent.'))
|
||||
self.do_clear()
|
||||
|
||||
Reference in New Issue
Block a user