babylon_bitcoin/
chain_params.rs1pub use bitcoin::consensus::Params;
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
8#[serde(rename_all = "snake_case")]
9pub enum Network {
10 Mainnet,
11 Testnet,
12 Signet,
13 Regtest,
14}
15
16impl Network {
17 pub fn chain_params(&self) -> Params {
18 match self {
19 Self::Mainnet => Params::new(bitcoin::Network::Bitcoin),
20 Self::Testnet => Params::new(bitcoin::Network::Testnet),
21 Self::Signet => Params::new(bitcoin::Network::Signet),
22 Self::Regtest => Params::new(bitcoin::Network::Regtest),
23 }
24 }
25
26 pub fn bitcoin_network(&self) -> bitcoin::Network {
27 match self {
28 Self::Mainnet => bitcoin::Network::Bitcoin,
29 Self::Testnet => bitcoin::Network::Testnet,
30 Self::Signet => bitcoin::Network::Signet,
31 Self::Regtest => bitcoin::Network::Regtest,
32 }
33 }
34}