poseidon_client/
clusters.rs

1use borsh::{BorshDeserialize, BorshSerialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, BorshSerialize, BorshDeserialize)]
4pub enum Cluster {
5    LocalNet,
6    DevNet,
7    TestNet,
8    MainNetBeta,
9}
10
11impl Cluster {
12    pub fn url(&self) -> &'static str {
13        match self {
14            Cluster::LocalNet => "https://127.0.0.1:8899",
15            Cluster::DevNet => "https://api.devnet.solana.com",
16            Cluster::TestNet => "https://api.testnet.solana.com",
17            Cluster::MainNetBeta => "https://api.mainnet-beta.solana.com",
18        }
19    }
20}
21
22impl Default for Cluster {
23    fn default() -> Self {
24        Cluster::DevNet
25    }
26}