@@ -40,7 +40,7 @@ pub use event::Event;
4040use event:: { EventHandler , EventQueue } ;
4141use peer_store:: { PeerInfo , PeerInfoStorage } ;
4242use types:: {
43- ChainMonitor , ChannelManager , GossipSync , InvoicePayer , KeysManager , NetworkGraph ,
43+ ChainMonitor , ChannelManager , GossipSync , InvoicePayer , KeysManager , Network , NetworkGraph ,
4444 OnionMessenger , PaymentInfoStorage , PeerManager , Router , Scorer ,
4545} ;
4646pub use types:: { ChannelId , PaymentInfo , PaymentStatus , UserChannelId } ;
@@ -85,6 +85,7 @@ use std::convert::{TryFrom, TryInto};
8585use std:: default:: Default ;
8686use std:: fs;
8787use std:: net:: SocketAddr ;
88+ use std:: str:: FromStr ;
8889use std:: sync:: atomic:: { AtomicBool , Ordering } ;
8990use std:: sync:: { Arc , Mutex , RwLock } ;
9091use std:: time:: { Duration , Instant , SystemTime } ;
@@ -109,7 +110,7 @@ pub struct Config {
109110 /// The URL of the utilized Esplora server.
110111 pub esplora_server_url : String ,
111112 /// The used Bitcoin network.
112- pub network : bitcoin :: Network ,
113+ pub network : Network ,
113114 /// The IP address and TCP port the node will listen on.
114115 pub listening_address : Option < String > ,
115116 /// The default CLTV expiry delta to be used for payments.
@@ -121,7 +122,7 @@ impl Default for Config {
121122 // Set the config defaults
122123 let storage_dir_path = "/tmp/ldk_node/" . to_string ( ) ;
123124 let esplora_server_url = "https://blockstream.info/api" . to_string ( ) ;
124- let network = bitcoin :: Network :: Regtest ;
125+ let network = Network :: default ( ) ;
125126 let listening_address = Some ( "0.0.0.0:9735" . to_string ( ) ) ;
126127 let default_cltv_expiry_delta = 144 ;
127128
@@ -175,16 +176,9 @@ impl Builder {
175176 ///
176177 /// Options: `mainnet`/`bitcoin`, `testnet`, `regtest`, `signet`
177178 ///
178- /// Default: `testnet `
179+ /// Default: `regtest `
179180 pub fn set_network ( & mut self , network : & str ) -> & mut Self {
180- self . config . network = match network {
181- "mainnet" => bitcoin:: Network :: Bitcoin ,
182- "bitcoin" => bitcoin:: Network :: Bitcoin ,
183- "testnet" => bitcoin:: Network :: Testnet ,
184- "regtest" => bitcoin:: Network :: Regtest ,
185- "signet" => bitcoin:: Network :: Signet ,
186- _ => bitcoin:: Network :: Regtest ,
187- } ;
181+ self . config . network = Network :: from_str ( network) . unwrap_or ( Network :: default ( ) ) ;
188182 self
189183 }
190184
@@ -213,13 +207,13 @@ impl Builder {
213207
214208 // Step 1: Initialize the on-chain wallet and chain access
215209 let seed = io_utils:: read_or_generate_seed_file ( Arc :: clone ( & config) ) ;
216- let xprv = bitcoin:: util:: bip32:: ExtendedPrivKey :: new_master ( config. network , & seed)
210+ let xprv = bitcoin:: util:: bip32:: ExtendedPrivKey :: new_master ( config. network . 0 , & seed)
217211 . expect ( "Failed to read wallet master key" ) ;
218212
219213 let wallet_name = bdk:: wallet:: wallet_name_from_descriptor (
220214 Bip84 ( xprv, bdk:: KeychainKind :: External ) ,
221215 Some ( Bip84 ( xprv, bdk:: KeychainKind :: Internal ) ) ,
222- config. network ,
216+ config. network . 0 ,
223217 & Secp256k1 :: new ( ) ,
224218 )
225219 . expect ( "Failed to derive on-chain wallet name" ) ;
@@ -229,7 +223,7 @@ impl Builder {
229223 let bdk_wallet = bdk:: Wallet :: new (
230224 Bip84 ( xprv, bdk:: KeychainKind :: External ) ,
231225 Some ( Bip84 ( xprv, bdk:: KeychainKind :: Internal ) ) ,
232- config. network ,
226+ config. network . 0 ,
233227 database,
234228 )
235229 . expect ( "Failed to setup on-chain wallet" ) ;
@@ -318,12 +312,13 @@ impl Builder {
318312 channel_manager
319313 } else {
320314 // We're starting a fresh node.
321- let dummy_block_hash = bitcoin:: blockdata:: constants:: genesis_block ( config. network )
322- . header
323- . block_hash ( ) ;
315+ let dummy_block_hash =
316+ bitcoin:: blockdata:: constants:: genesis_block ( config. network . 0 )
317+ . header
318+ . block_hash ( ) ;
324319
325320 let chain_params = ChainParameters {
326- network : config. network ,
321+ network : config. network . 0 ,
327322 best_block : BestBlock :: new ( dummy_block_hash, 0 ) ,
328323 } ;
329324 channelmanager:: ChannelManager :: new (
@@ -937,7 +932,7 @@ impl Node {
937932 ) -> Result < Invoice , Error > {
938933 let mut inbound_payments_lock = self . inbound_payments . lock ( ) . unwrap ( ) ;
939934
940- let currency = match self . config . network {
935+ let currency = match self . config . network . 0 {
941936 bitcoin:: Network :: Bitcoin => Currency :: Bitcoin ,
942937 bitcoin:: Network :: Testnet => Currency :: BitcoinTestnet ,
943938 bitcoin:: Network :: Regtest => Currency :: Regtest ,
0 commit comments