2020-10-30 12:36:20 -07:00
|
|
|
use std::fmt;
|
|
|
|
|
2020-09-23 18:52:52 -07:00
|
|
|
#[cfg(any(test, feature = "proptest-impl"))]
|
2020-08-15 15:45:37 -07:00
|
|
|
use proptest_derive::Arbitrary;
|
|
|
|
|
|
|
|
/// An enum describing the possible network choices.
|
|
|
|
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
|
2020-09-23 18:52:52 -07:00
|
|
|
#[cfg_attr(any(test, feature = "proptest-impl"), derive(Arbitrary))]
|
2020-08-15 15:45:37 -07:00
|
|
|
pub enum Network {
|
|
|
|
/// The production mainnet.
|
|
|
|
Mainnet,
|
|
|
|
/// The testnet.
|
|
|
|
Testnet,
|
|
|
|
}
|
|
|
|
|
2020-10-30 12:36:20 -07:00
|
|
|
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"),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-09-04 10:19:20 -07:00
|
|
|
impl Network {
|
|
|
|
/// Get the default port associated to this network.
|
|
|
|
pub fn default_port(&self) -> u16 {
|
|
|
|
match self {
|
|
|
|
Network::Mainnet => 8233,
|
|
|
|
Network::Testnet => 18233,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-15 15:45:37 -07:00
|
|
|
impl Default for Network {
|
|
|
|
fn default() -> Self {
|
|
|
|
Network::Mainnet
|
|
|
|
}
|
|
|
|
}
|