use std::fmt; #[cfg(any(test, feature = "proptest-impl"))] use proptest_derive::Arbitrary; /// An enum describing the possible network choices. #[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)] #[cfg_attr(any(test, feature = "proptest-impl"), derive(Arbitrary))] pub enum Network { /// The production mainnet. Mainnet, /// The testnet. Testnet, } impl fmt::Display for Network { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Network::Mainnet => f.write_str("Mainnet"), Network::Testnet => f.write_str("Testnet"), } } } impl Network { /// Get the default port associated to this network. pub fn default_port(&self) -> u16 { match self { Network::Mainnet => 8233, Network::Testnet => 18233, } } } impl Default for Network { fn default() -> Self { Network::Mainnet } }