rustywallet_hd/
network.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
5pub enum Network {
6 #[default]
8 Mainnet,
9 Testnet,
11}
12
13impl Network {
14 pub fn xprv_version(&self) -> [u8; 4] {
16 match self {
17 Network::Mainnet => [0x04, 0x88, 0xAD, 0xE4], Network::Testnet => [0x04, 0x35, 0x83, 0x94], }
20 }
21
22 pub fn xpub_version(&self) -> [u8; 4] {
24 match self {
25 Network::Mainnet => [0x04, 0x88, 0xB2, 0x1E], Network::Testnet => [0x04, 0x35, 0x87, 0xCF], }
28 }
29
30 pub fn from_version(version: &[u8; 4]) -> Option<(Self, bool)> {
32 match version {
33 [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,
38 }
39 }
40}