diff --git a/electrum/gui/qt/channels_list.py b/electrum/gui/qt/channels_list.py index cc1dc8c58..6cab8eecf 100644 --- a/electrum/gui/qt/channels_list.py +++ b/electrum/gui/qt/channels_list.py @@ -202,6 +202,12 @@ class ChannelsList(MyTreeView): remote_nodeid.setCursorPosition(0) if not d.exec_(): return - funding_sat = '!' if max_button.isChecked() else amount_e.get_amount() + if max_button.isChecked() and amount_e.get_amount() < LN_MAX_FUNDING_SAT: + # if 'max' enabled and amount is strictly less than max allowed, + # that means we have fewer coins than max allowed, and hence we can + # spend all coins + funding_sat = '!' + else: + funding_sat = amount_e.get_amount() connect_str = str(remote_nodeid.text()).strip() self.parent.open_channel(connect_str, funding_sat, 0) diff --git a/electrum/lnutil.py b/electrum/lnutil.py index 815936ada..507a697bc 100644 --- a/electrum/lnutil.py +++ b/electrum/lnutil.py @@ -27,7 +27,7 @@ if TYPE_CHECKING: HTLC_TIMEOUT_WEIGHT = 663 HTLC_SUCCESS_WEIGHT = 703 -LN_MAX_FUNDING_SAT = pow(2, 24) +LN_MAX_FUNDING_SAT = pow(2, 24) - 1 # dummy address for fee estimation of funding tx def ln_dummy_address():