@@ -6,12 +6,15 @@ use smplx_regtest::Regtest;
66use smplx_regtest:: client:: RegtestClient ;
77
88use smplx_sdk:: global:: set_global_config;
9- use smplx_sdk:: provider:: { EsploraProvider , ProviderInfo , ProviderTrait , SimplexProvider , SimplicityNetwork } ;
9+ use smplx_sdk:: provider:: {
10+ ElementsRpc , EsploraProvider , ProviderInfo , ProviderTrait , SimplexProvider , SimplicityNetwork ,
11+ } ;
1012use smplx_sdk:: signer:: Signer ;
1113use smplx_sdk:: utils:: random_mnemonic;
1214
1315use crate :: config:: TestConfig ;
1416use crate :: error:: TestError ;
17+ use crate :: network_utils:: NetworkUtils ;
1518
1619#[ allow( dead_code) ]
1720pub struct TestContext {
@@ -85,6 +88,22 @@ impl TestContext {
8588 self . signer . get_provider ( ) . get_network ( )
8689 }
8790
91+ pub fn get_network_utils ( & self ) -> NetworkUtils {
92+ let network = self . get_network ( ) ;
93+ assert ! (
94+ matches!( network, SimplicityNetwork :: ElementsRegtest { policy_asset: _ } ) ,
95+ "Network utils only available in Regtest network"
96+ ) ;
97+
98+ let regtest_rpc = ElementsRpc :: new (
99+ self . _provider_info . elements_url . clone ( ) . unwrap ( ) ,
100+ self . _provider_info . auth . clone ( ) . unwrap ( ) ,
101+ )
102+ . expect ( "Failed to create rpc client for network utils" ) ;
103+ let esplora = EsploraProvider :: new ( self . _provider_info . esplora_url . clone ( ) , * network) ;
104+ NetworkUtils :: from_context ( regtest_rpc, esplora)
105+ }
106+
88107 fn setup ( config : & TestConfig ) -> Result < ( Signer , ProviderInfo , Option < RegtestClient > ) , TestError > {
89108 let client: Option < RegtestClient > ;
90109 let provider_info: ProviderInfo ;
0 commit comments