mina_node_testing/
hosts.rs

1use crate::scenario::ListenerNode;
2use node::p2p::connection::outgoing::P2pConnectionOutgoingInitOpts;
3/// This should be the only place where environment variables are converted to addresses.
4///
5use std::{env, str::FromStr};
6
7pub fn replayer() -> P2pConnectionOutgoingInitOpts {
8    let multiaddr = env::var("REPLAYER_MULTIADDR")
9        .expect("must set variable `REPLAYER_MULTIADDR`")
10        .parse::<libp2p::Multiaddr>()
11        .expect("`REPLAYER_MULTIADDR` must be a valid multiaddress");
12    (&multiaddr).try_into().expect("must be valid init opts")
13}
14
15pub fn devnet() -> Vec<ListenerNode> {
16    let seeds =
17        std::env::var("MINA_SCENARIO_SEEDS").unwrap_or_else(|_| node::p2p::DEVNET_SEEDS.join(" "));
18    seeds
19        .split_whitespace()
20        .map(P2pConnectionOutgoingInitOpts::from_str)
21        .filter_map(Result::ok)
22        .filter_map(|p| p.with_host_resolved())
23        .map(Into::into)
24        .collect()
25}