mirror of
https://github.com/basicswap/basicswap.git
synced 2025-11-05 10:28:10 +01:00
Merge pull request #168 from nahuhh/monero_speed
interface: xmr.py allow startup with a busy daemon
This commit is contained in:
@@ -999,6 +999,12 @@ class BasicSwap(BaseApp):
|
||||
except Exception as e:
|
||||
self.log.error("Sanity checks failed: %s", str(e))
|
||||
|
||||
elif c in (Coins.XMR, Coins.WOW):
|
||||
try:
|
||||
ci.ensureWalletExists()
|
||||
except Exception as e:
|
||||
self.log.warning("Can't open %s wallet, could be locked.", ci.coin_name())
|
||||
continue
|
||||
elif c == Coins.LTC:
|
||||
ci_mweb = self.ci(Coins.LTC_MWEB)
|
||||
is_encrypted, _ = self.getLockedState()
|
||||
|
||||
@@ -114,7 +114,7 @@ class XMRInterface(CoinInterface):
|
||||
log_str: str = ""
|
||||
have_cc_tor_opt = "use_tor" in chain_client_settings
|
||||
if have_cc_tor_opt and chain_client_settings["use_tor"] is False:
|
||||
log_str = " bypassing proxy (use_tor false for XMR)"
|
||||
log_str = f" bypassing proxy (use_tor false for {self.coin_name()})"
|
||||
elif have_cc_tor_opt is False and is_private_ip_address(rpchost):
|
||||
log_str = " bypassing proxy (private ip address)"
|
||||
else:
|
||||
@@ -186,16 +186,19 @@ class XMRInterface(CoinInterface):
|
||||
self.rpc_wallet("open_wallet", params)
|
||||
# TODO Remove `refresh` after upstream fix to refresh on open_wallet
|
||||
self.rpc_wallet("refresh")
|
||||
except Exception:
|
||||
self._log.debug(f"Failed to open {self.coin_name()} wallet")
|
||||
except Exception as e:
|
||||
if "no connection to daemon" in str(e):
|
||||
self._log.debug(f"{self.coin_name()} {e}")
|
||||
return # bypass refresh error to allow startup with a busy daemon
|
||||
|
||||
try:
|
||||
# TODO Remove `store` after upstream fix to autosave on close_wallet
|
||||
self.rpc_wallet("store")
|
||||
self.rpc_wallet("close_wallet")
|
||||
self._log.debug(f"Attempt to save and close {self.coin_name()} wallet")
|
||||
except Exception as e:
|
||||
self._log.debug(f"{self.coin_name()}: {e}")
|
||||
pass
|
||||
|
||||
self.rpc_wallet("open_wallet", params)
|
||||
# TODO Remove `refresh` after upstream fix to refresh on open_wallet
|
||||
self.rpc_wallet("refresh")
|
||||
|
||||
Reference in New Issue
Block a user