diff --git a/electrum/gui/messages.py b/electrum/gui/messages.py index 8df3d0669..e10cae158 100644 --- a/electrum/gui/messages.py +++ b/electrum/gui/messages.py @@ -70,7 +70,6 @@ MSG_FORWARD_SWAP_FUNDING_MEMPOOL = ( MSG_REVERSE_SWAP_FUNDING_MEMPOOL = ( _('The funding transaction has been detected.') + " " + _('Your claiming transaction will be broadcast when the funding transaction is confirmed.') + " " + - _('You may choose to broadcast it earlier, although that would not be trustless.') + " " + _("If you go offline before broadcasting the claiming transaction and let the swap time out, " "you will not get back the already pre-paid mining fees.") ) diff --git a/electrum/gui/qt/swap_dialog.py b/electrum/gui/qt/swap_dialog.py index 506f48483..49d564e55 100644 --- a/electrum/gui/qt/swap_dialog.py +++ b/electrum/gui/qt/swap_dialog.py @@ -46,11 +46,10 @@ class SwapDialog(WindowModalDialog, QtEventListener): self.is_reverse = is_reverse if is_reverse is not None else True vbox = QVBoxLayout(self) toolbar, menu = create_toolbar_with_menu(self.config, '') - menu.addToggle( - _('Zeroconf swap'), self.toggle_zeroconf - ).setEnabled(self.lnworker.can_have_recoverable_channels()) - if not self.config.SWAPSERVER_URL: - menu.addAction(_('Choose swap server'), lambda: self.window.choose_swapserver_dialog(transport)) + menu.addAction( + _('Choose swap server'), + lambda: self.window.choose_swapserver_dialog(transport), + ).setEnabled(not self.config.SWAPSERVER_URL) vbox.addLayout(toolbar) self.description_label = WWLabel(self.get_description()) self.send_amount_e = BTCAmountEdit(self.window.get_decimal_point) @@ -64,7 +63,6 @@ class SwapDialog(WindowModalDialog, QtEventListener): # send_follows is used to know whether the send amount field / receive # amount field should be adjusted after the fee slider was moved self.send_follows = False - self.zeroconf = False self.send_amount_e.follows = False self.recv_amount_e.follows = False self.toggle_button.clicked.connect(self.toggle_direction) @@ -112,15 +110,6 @@ class SwapDialog(WindowModalDialog, QtEventListener): fee_slider.update() self.register_callbacks() - def toggle_zeroconf(self): - self.zeroconf = not self.zeroconf - if self.zeroconf: - msg = "\n\n".join([ - "Zero-confirmation swap: Your wallet will not wait until the funding transaction is confirmed.", - "Note that this option is risky: the server can steal your funds if they double-spend the funding transaction." - ]) - self.window.show_warning(msg) - def closeEvent(self, event): self.unregister_callbacks() event.accept() @@ -266,7 +255,6 @@ class SwapDialog(WindowModalDialog, QtEventListener): transport, lightning_amount_sat=lightning_amount, expected_onchain_amount_sat=onchain_amount + self.swap_manager.get_swap_tx_fee(), - zeroconf=self.zeroconf, ) try: # we must not leave the context, so we use run_couroutine_dialog diff --git a/electrum/plugins/swapserver/server.py b/electrum/plugins/swapserver/server.py index 42551617e..e9186ecc6 100644 --- a/electrum/plugins/swapserver/server.py +++ b/electrum/plugins/swapserver/server.py @@ -68,10 +68,6 @@ class HttpSwapServer(Logger, EventListener): "limits": { "maximal": sm._max_amount, "minimal": sm._min_amount, - "maximalZeroConf": { - "baseAsset": 0, - "quoteAsset": 0 - } }, "fees": { "percentage": sm.percentage, diff --git a/electrum/submarine_swaps.py b/electrum/submarine_swaps.py index 548825053..563b50964 100644 --- a/electrum/submarine_swaps.py +++ b/electrum/submarine_swaps.py @@ -155,7 +155,6 @@ class SwapData(StoredObject): _funding_prevout = None # type: Optional[TxOutpoint] # for RBF _payment_hash = None - _zeroconf = False _payment_pending = False # for forward swaps @property @@ -411,7 +410,7 @@ class SwapManager(Logger): return txin, locktime = self.create_claim_txin(txin=txin, swap=swap) # note: there is no csv in the script, we just set this so that txbatcher waits for one confirmation - csv = 1 if (swap.is_reverse and not swap._zeroconf) else 0 + csv = 1 if swap.is_reverse else 0 name = 'swap claim' if swap.is_reverse else 'swap refund' can_be_batched = bool(csv) if swap.is_reverse else True sweep_info = SweepInfo( @@ -685,8 +684,6 @@ class SwapManager(Logger): } data = await transport.send_request_to_server('createnormalswap', request_data) payment_hash = bytes.fromhex(data["preimageHash"]) - - zeroconf = data["acceptZeroConf"] onchain_amount = data["expectedAmount"] locktime = data["timeoutBlockHeight"] lockup_address = data["address"] @@ -804,7 +801,6 @@ class SwapManager(Logger): *, lightning_amount_sat: int, expected_onchain_amount_sat: int, - zeroconf: bool=False, channels: Optional[Sequence['Channel']] = None, ) -> Optional[str]: """send on Lightning, receive on-chain @@ -887,7 +883,6 @@ class SwapManager(Logger): prepay_hash=prepay_hash, onchain_amount_sat=onchain_amount, lightning_amount_sat=lightning_amount_sat) - swap._zeroconf = zeroconf # initiate fee payment. if fee_invoice: fee_invoice_obj = Invoice.from_bech32(fee_invoice) @@ -1105,7 +1100,6 @@ class SwapManager(Logger): response = { "id": swap.payment_hash.hex(), 'preimageHash': swap.payment_hash.hex(), - "acceptZeroConf": False, "expectedAmount": swap.onchain_amount, "timeoutBlockHeight": swap.locktime, "address": swap.lockup_address,