@@ -47,71 +47,71 @@ use std::sync::Arc;
4747fn channel_full_cycle ( ) {
4848 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
4949 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
50- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
50+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
5151 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
5252}
5353
5454#[ test]
5555fn channel_full_cycle_electrum ( ) {
5656 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
5757 let chain_source = TestChainSource :: Electrum ( & electrsd) ;
58- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
58+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
5959 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
6060}
6161
6262#[ test]
6363fn channel_full_cycle_bitcoind_rpc_sync ( ) {
6464 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
6565 let chain_source = TestChainSource :: BitcoindRpcSync ( & bitcoind) ;
66- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
66+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
6767 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
6868}
6969
7070#[ test]
7171fn channel_full_cycle_bitcoind_rest_sync ( ) {
7272 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
7373 let chain_source = TestChainSource :: BitcoindRestSync ( & bitcoind) ;
74- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
74+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
7575 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
7676}
7777
7878#[ test]
7979fn channel_full_cycle_force_close ( ) {
8080 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
8181 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
82- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
82+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
8383 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
8484}
8585
8686#[ test]
8787fn channel_full_cycle_force_close_trusted_no_reserve ( ) {
8888 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
8989 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
90- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , true ) ;
90+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , true , false ) ;
9191 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
9292}
9393
9494#[ test]
9595fn channel_full_cycle_0conf ( ) {
9696 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
9797 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
98- let ( node_a, node_b) = setup_two_nodes ( & chain_source, true , true , false ) ;
98+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, true , true , false , false ) ;
9999 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , true , true , false )
100100}
101101
102102#[ test]
103103fn channel_full_cycle_legacy_staticremotekey ( ) {
104104 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
105105 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
106- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
106+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false , false ) ;
107107 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , false , false ) ;
108108}
109109
110110#[ test]
111111fn channel_open_fails_when_funds_insufficient ( ) {
112112 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
113113 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
114- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
114+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
115115
116116 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
117117 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -312,7 +312,7 @@ fn start_stop_reinit() {
312312fn onchain_send_receive ( ) {
313313 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
314314 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
315- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
315+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
316316
317317 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
318318 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -512,7 +512,7 @@ fn onchain_send_receive() {
512512fn onchain_send_all_retains_reserve ( ) {
513513 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
514514 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
515- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
515+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
516516
517517 // Setup nodes
518518 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -829,7 +829,7 @@ fn connection_restart_behavior() {
829829fn do_connection_restart_behavior ( persist : bool ) {
830830 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
831831 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
832- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
832+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false , false ) ;
833833
834834 let node_id_a = node_a. node_id ( ) ;
835835 let node_id_b = node_b. node_id ( ) ;
@@ -881,7 +881,7 @@ fn do_connection_restart_behavior(persist: bool) {
881881fn concurrent_connections_succeed ( ) {
882882 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
883883 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
884- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
884+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
885885
886886 let node_a = Arc :: new ( node_a) ;
887887 let node_b = Arc :: new ( node_b) ;
@@ -912,7 +912,7 @@ fn concurrent_connections_succeed() {
912912fn simple_bolt12_send_receive ( ) {
913913 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
914914 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
915- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
915+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
916916
917917 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
918918 let premine_amount_sat = 5_000_000 ;
@@ -1225,7 +1225,7 @@ fn generate_bip21_uri() {
12251225 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
12261226 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
12271227
1228- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
1228+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
12291229
12301230 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
12311231 let premined_sats = 5_000_000 ;
@@ -1279,7 +1279,7 @@ async fn unified_send_receive_qr_uri() {
12791279 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
12801280 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
12811281
1282- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
1282+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
12831283
12841284 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
12851285 let premined_sats = 5_000_000 ;
@@ -1384,6 +1384,66 @@ async fn unified_send_receive_qr_uri() {
13841384 assert_eq ! ( node_b. list_balances( ) . total_lightning_balance_sats, 200_000 ) ;
13851385}
13861386
1387+ #[ tokio:: test( flavor = "multi_thread" ) ]
1388+ async fn unified_send_to_hrn ( ) {
1389+ let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
1390+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
1391+
1392+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , true ) ;
1393+
1394+ let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
1395+ let premined_sats = 5_000_000 ;
1396+
1397+ premine_and_distribute_funds (
1398+ & bitcoind. client ,
1399+ & electrsd. client ,
1400+ vec ! [ address_a] ,
1401+ Amount :: from_sat ( premined_sats) ,
1402+ ) ;
1403+
1404+ node_a. sync_wallets ( ) . unwrap ( ) ;
1405+ open_channel ( & node_a, & node_b, 4_000_000 , true , & electrsd) ;
1406+ generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 6 ) ;
1407+
1408+ node_a. sync_wallets ( ) . unwrap ( ) ;
1409+ node_b. sync_wallets ( ) . unwrap ( ) ;
1410+
1411+ expect_channel_ready_event ! ( node_a, node_b. node_id( ) ) ;
1412+ expect_channel_ready_event ! ( node_b, node_a. node_id( ) ) ;
1413+
1414+ // Sleep until we broadcast a node announcement.
1415+ while node_b. status ( ) . latest_node_announcement_broadcast_timestamp . is_none ( ) {
1416+ std:: thread:: sleep ( std:: time:: Duration :: from_millis ( 10 ) ) ;
1417+ }
1418+
1419+ println ! ( "node_b has broadcasted node announcement!" ) ;
1420+
1421+ //let offer = node_b.bolt12_payment().receive(1000000, "test offer", None, None).unwrap();
1422+ //println!("offer! {:?}", offer.to_string());
1423+
1424+ // Sleep one more sec to make sure the node announcement propagates.
1425+ std:: thread:: sleep ( std:: time:: Duration :: from_secs ( 1 ) ) ;
1426+
1427+ let hrn = "chuks@peepswire.com" ;
1428+ let offer_payment_id: PaymentId = match node_a. unified_payment ( ) . send ( & hrn, None ) . await {
1429+ Ok ( UnifiedPaymentResult :: Bolt12 { payment_id } ) => {
1430+ println ! ( "\n Bolt12 payment sent successfully with PaymentID: {:?}" , payment_id) ;
1431+ payment_id
1432+ } ,
1433+ Ok ( UnifiedPaymentResult :: Bolt11 { payment_id : _ } ) => {
1434+ panic ! ( "Expected Bolt12 payment but got Bolt11" ) ;
1435+ } ,
1436+ Ok ( UnifiedPaymentResult :: Onchain { txid : _ } ) => {
1437+ panic ! ( "Expected Bolt12 payment but got On-chain transaction" ) ;
1438+ } ,
1439+ Err ( e) => {
1440+ panic ! ( "Expected Bolt12 payment but got error: {:?}" , e) ;
1441+ } ,
1442+ } ;
1443+
1444+ expect_payment_successful_event ! ( node_a, Some ( offer_payment_id) , None ) ;
1445+ }
1446+
13871447#[ test]
13881448fn lsps2_client_service_integration ( ) {
13891449 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
@@ -1627,7 +1687,7 @@ fn facade_logging() {
16271687fn spontaneous_send_with_custom_preimage ( ) {
16281688 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
16291689 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
1630- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
1690+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
16311691
16321692 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
16331693 let premine_sat = 1_000_000 ;
0 commit comments