Skip to content

Fix seedlist revalidation#2

Open
ffox77 wants to merge 2 commits into
mainfrom
fix-seedlist-revalidation
Open

Fix seedlist revalidation#2
ffox77 wants to merge 2 commits into
mainfrom
fix-seedlist-revalidation

Conversation

@ffox77
Copy link
Copy Markdown
Collaborator

@ffox77 ffox77 commented May 29, 2026

No description provided.

Frank Fox and others added 2 commits May 29, 2026 15:14
checkSeedList() short-circuited on a sticky seedListChecked project flag,
so once a node passed the check it was never re-validated. Seed list
membership is dynamic (the upstream testnet/integrationnet lists rotate and
drop nodes), so a node removed upstream kept launching and was only rejected
later by the protocol with "not on the seedlist".

- Remove the seedListChecked short-circuit; re-validate against the
  authoritative remote S3 list every run, falling back to the local seedlist
  file the node mounts when the remote is unreachable.
- Refresh the local seedlist on a confirmed match so the node stays current.
- selectNetwork() now resets duplicateNodeIdChecked/javaMemoryChecked for
  single-supported-network projects too (the early-return previously skipped
  the resets, leaving those checks stale for single-network metagraphs).
- Drop the now-dead seedListChecked flag resets.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cover the seed-list re-validation fix with unit tests: remote hit refreshes
the local list, remote miss errors out (the reported bug), re-validation
happens regardless of any cached flag, remote-unreachable falls back to the
local seedlist, and mainnet validates the local release list without fetching.

Adds sinon + @types/sinon for stubbing the configStore/clm singletons and
global fetch; the test uses a real temp dir so the seedlist file I/O is
exercised for real.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant