reth_network_peers/bootnodes/mod.rs
1//! Bootnodes for the network
2
3use crate::NodeRecord;
4use alloc::vec::Vec;
5
6mod ethereum;
7pub use ethereum::*;
8
9mod optimism;
10pub use optimism::*;
11
12/// Returns parsed mainnet nodes
13pub fn mainnet_nodes() -> Vec<NodeRecord> {
14 parse_nodes(&MAINNET_BOOTNODES[..])
15}
16
17/// Returns parsed sepolia nodes
18pub fn sepolia_nodes() -> Vec<NodeRecord> {
19 parse_nodes(&SEPOLIA_BOOTNODES[..])
20}
21
22/// Returns parsed holesky nodes
23pub fn holesky_nodes() -> Vec<NodeRecord> {
24 parse_nodes(&HOLESKY_BOOTNODES[..])
25}
26
27/// Returns parsed hoodi nodes
28pub fn hoodi_nodes() -> Vec<NodeRecord> {
29 parse_nodes(&HOODI_BOOTNODES[..])
30}
31
32/// Returns parsed op-stack mainnet nodes
33pub fn op_nodes() -> Vec<NodeRecord> {
34 parse_nodes(OP_BOOTNODES)
35}
36
37/// Returns parsed op-stack testnet nodes
38pub fn op_testnet_nodes() -> Vec<NodeRecord> {
39 parse_nodes(OP_TESTNET_BOOTNODES)
40}
41
42/// Returns parsed op-stack base mainnet nodes
43pub fn base_nodes() -> Vec<NodeRecord> {
44 parse_nodes(OP_BOOTNODES)
45}
46
47/// Returns parsed op-stack base testnet nodes
48pub fn base_testnet_nodes() -> Vec<NodeRecord> {
49 parse_nodes(OP_TESTNET_BOOTNODES)
50}
51
52/// Parses all the nodes
53pub fn parse_nodes(nodes: impl IntoIterator<Item = impl AsRef<str>>) -> Vec<NodeRecord> {
54 nodes.into_iter().map(|s| s.as_ref().parse().unwrap()).collect()
55}