diff --git a/electrum/lnchannel.py b/electrum/lnchannel.py index 06f2a943c..bf9b80717 100644 --- a/electrum/lnchannel.py +++ b/electrum/lnchannel.py @@ -1101,8 +1101,6 @@ class Channel(AbstractChannel): util.trigger_callback('channel', self.lnworker.wallet, self) def is_frozen_for_receiving(self) -> bool: - if self.lnworker.uses_trampoline() and not self.lnworker.is_trampoline_peer(self.node_id): - return True return self.storage.get('frozen_for_receiving', False) def set_frozen_for_receiving(self, b: bool) -> None: diff --git a/electrum/lnworker.py b/electrum/lnworker.py index c647cf0b6..b532e5a19 100644 --- a/electrum/lnworker.py +++ b/electrum/lnworker.py @@ -2545,7 +2545,8 @@ class LNWallet(Logger): def _get_invoice_features(self, amount_msat: Optional[int]) -> LnFeatures: invoice_features = self.features.for_invoice() - if not self.uses_trampoline(): + if not all((not c.is_open() or c.is_frozen_for_receiving()) or self.is_trampoline_peer(c.node_id) \ + for c in self.channels.values()): invoice_features &= ~ LnFeatures.OPTION_TRAMPOLINE_ROUTING_OPT_ELECTRUM needs_jit: bool = self.receive_requires_jit_channel(amount_msat) if needs_jit: