fix: preserve basic nodes from peers file by avoiding peer_config overwrite #19887
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The builder in NetworkArgs::network_config() previously called peer_config twice, where the second assignment rebuilt PeersConfig from a raw clone and overwrote the config that had already included basic nodes from the peers file via peers_config_with_basic_nodes_from_file, resulting in persisted peers being dropped on startup. This change composes peers_config from the file-enriched configuration first, then applies inbound/outbound and IP filter overrides, and sets peer_config only once so persisted peers are preserved as documented. The unit test ensures a NodeRecord present in a temporary peers file is included in the final NetworkConfig’s peers_config.basic_nodes. The test also uses reth_network::EthNetworkPrimitives to avoid an unresolved crate, and a redundant clone warning in network_config was addressed.