From c56c27966a38260b42e2baaf11697a638c89f18e Mon Sep 17 00:00:00 2001 From: f321x Date: Fri, 19 Dec 2025 11:48:56 +0100 Subject: [PATCH] interface: remove prefix from donation addresses Some servers seem to serve their donation address with `bitcoin:` prefix, preventing them from getting donations. This removes the prefix. E.g.: ``` 262.63 | I | interface.[2ex.digitaleveryware.com:50002] | invalid donation address from server: 'bitcoin:bc1q0q6lcajak7r8h8c8luzp0zj35v0usqd4pdzqjg' ``` --- electrum/interface.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/electrum/interface.py b/electrum/interface.py index b9827cf78..196d13c34 100644 --- a/electrum/interface.py +++ b/electrum/interface.py @@ -1560,12 +1560,15 @@ class Interface(Logger): # check response if not res: # ignore empty string return '' - if not bitcoin.is_address(res): + if not isinstance(res, str): + raise RequestCorrupted(f'{res!r} should be a str') + address = res.removeprefix('bitcoin:') + if not bitcoin.is_address(address): # note: do not hard-fail -- allow server to use future-type # bitcoin address we do not recognize self.logger.info(f"invalid donation address from server: {repr(res)}") - res = '' - return res + return '' + return address async def get_relay_fee(self) -> int: """Returns the min relay feerate in sat/kbyte."""