feat: add configurable welist server URL (advanced mode only)

- Add NoServersForChainError(chain, url, reason) with error details
- Expose WELIST_SERVER setting in plugin dialog, hidden in basic mode
- Basic mode uses factory default; advanced mode uses configured URL only
- Show descriptive error with URL and reason when advanced-mode fetch fails
This commit is contained in:
2026-06-29 00:18:42 -04:00
parent 7004953ce2
commit 7a58c69533
3 changed files with 72 additions and 22 deletions

View File

@@ -77,6 +77,14 @@ class Willexecutors:
"""Raised when the welist server responds but returns no data for the
requested chain, indicating no active servers for that network."""
def __init__(self, chain, url=None, reason=None):
self.chain = chain
self.url = url
self.reason = reason
super().__init__(
f"NoServersForChainError: chain={chain} url={url} reason={reason}"
)
# Expose the networking constants as class attributes so the GUI layer can
# reference them (e.g. to show the "Xs / DEADLINEs" countdown) without
# importing module-level names. Single source of truth: the module