#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum Network {
#[default]
Mainnet,
Testnet,
}
impl Network {
pub fn xprv_version(&self) -> [u8; 4] {
match self {
Network::Mainnet => [0x04, 0x88, 0xAD, 0xE4], Network::Testnet => [0x04, 0x35, 0x83, 0x94], }
}
pub fn xpub_version(&self) -> [u8; 4] {
match self {
Network::Mainnet => [0x04, 0x88, 0xB2, 0x1E], Network::Testnet => [0x04, 0x35, 0x87, 0xCF], }
}
pub fn from_version(version: &[u8; 4]) -> Option<(Self, bool)> {
match version {
[0x04, 0x88, 0xAD, 0xE4] => Some((Network::Mainnet, true)), [0x04, 0x88, 0xB2, 0x1E] => Some((Network::Mainnet, false)), [0x04, 0x35, 0x83, 0x94] => Some((Network::Testnet, true)), [0x04, 0x35, 0x87, 0xCF] => Some((Network::Testnet, false)), _ => None,
}
}
}