@@ -26,6 +26,7 @@ use std::env::temp_dir;
2626use std:: future:: Future ;
2727#[ cfg( feature = "_cashu-tests" ) ]
2828use std:: net:: SocketAddr ;
29+ use std:: path:: PathBuf ;
2930#[ cfg( feature = "_cashu-tests" ) ]
3031use std:: str:: FromStr ;
3132use std:: sync:: Arc ;
@@ -91,9 +92,8 @@ async fn create_bitcoind(uuid: Uuid) -> (Arc<Bitcoind>, Arc<ElectrsD>) {
9192 let mut electrsd_conf = electrsd:: Conf :: default ( ) ;
9293 electrsd_conf. http_enabled = true ;
9394 electrsd_conf. network = "regtest" ;
94- let electrsd =
95- ElectrsD :: with_conf ( electrsd:: downloaded_exe_path ( ) . unwrap ( ) , & bitcoind, & electrsd_conf)
96- . unwrap_or_else ( |_| panic ! ( "Failed to start electrsd for test {uuid}" ) ) ;
95+ let electrsd = ElectrsD :: with_conf ( package_esplora_exe_path ( ) , & bitcoind, & electrsd_conf)
96+ . unwrap_or_else ( |_| panic ! ( "Failed to start electrsd for test {uuid}" ) ) ;
9797
9898 // mine 101 blocks to get some spendable funds
9999 let address = bitcoind. client . new_address ( ) . unwrap ( ) ;
@@ -104,6 +104,21 @@ async fn create_bitcoind(uuid: Uuid) -> (Arc<Bitcoind>, Arc<ElectrsD>) {
104104 ( Arc :: new ( bitcoind) , Arc :: new ( electrsd) )
105105}
106106
107+ fn package_esplora_exe_path ( ) -> String {
108+ let path = std:: env:: var_os ( "ELECTRS_EXE" ) . map ( PathBuf :: from) . unwrap_or_else ( || {
109+ PathBuf :: from ( env ! ( "CARGO_MANIFEST_DIR" ) ) . join ( "../target/package-esplora/electrs" )
110+ } ) ;
111+
112+ if !path. is_file ( ) {
113+ panic ! (
114+ "Package-enabled Esplora not found at {}. Run ./scripts/build_package_esplora.sh or set ELECTRS_EXE." ,
115+ path. display( )
116+ ) ;
117+ }
118+
119+ path. into_os_string ( ) . into_string ( ) . expect ( "Esplora executable path must be valid UTF-8" )
120+ }
121+
107122fn wait_for_bitcoind_ready ( bitcoind : & Bitcoind ) {
108123 let max_attempts = 30 ;
109124 let delay = Duration :: from_millis ( 500 ) ;
@@ -140,7 +155,9 @@ pub async fn generate_blocks(bitcoind: &Bitcoind, electrs: &ElectrsD, num: usize
140155}
141156
142157fn create_lsp ( uuid : Uuid , bitcoind : & Bitcoind ) -> Arc < Node > {
143- let mut builder = ldk_node:: Builder :: new ( ) ;
158+ let mut config = ldk_node:: config:: Config :: default ( ) ;
159+ config. anchor_channels_config . enable_zero_fee_commitments = true ;
160+ let mut builder = ldk_node:: Builder :: from_config ( config) ;
144161 builder. set_network ( Network :: Regtest ) ;
145162 let mut seed: [ u8 ; 64 ] = [ 0 ; 64 ] ;
146163 rand:: thread_rng ( ) . fill_bytes ( & mut seed) ;
@@ -199,7 +216,9 @@ fn create_lsp(uuid: Uuid, bitcoind: &Bitcoind) -> Arc<Node> {
199216}
200217
201218fn create_third_party ( uuid : Uuid , bitcoind : & Bitcoind ) -> Arc < Node > {
202- let mut builder = ldk_node:: Builder :: new ( ) ;
219+ let mut config = ldk_node:: config:: Config :: default ( ) ;
220+ config. anchor_channels_config . enable_zero_fee_commitments = true ;
221+ let mut builder = ldk_node:: Builder :: from_config ( config) ;
203222 builder. set_network ( Network :: Regtest ) ;
204223 let mut seed: [ u8 ; 64 ] = [ 0 ; 64 ] ;
205224 rand:: thread_rng ( ) . fill_bytes ( & mut seed) ;
0 commit comments