@@ -43,71 +43,71 @@ use log::LevelFilter;
4343fn channel_full_cycle ( ) {
4444 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
4545 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
46- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
46+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
4747 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
4848}
4949
5050#[ test]
5151fn channel_full_cycle_electrum ( ) {
5252 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
5353 let chain_source = TestChainSource :: Electrum ( & electrsd) ;
54- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
54+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
5555 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
5656}
5757
5858#[ test]
5959fn channel_full_cycle_bitcoind_rpc_sync ( ) {
6060 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
6161 let chain_source = TestChainSource :: BitcoindRpcSync ( & bitcoind) ;
62- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
62+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
6363 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
6464}
6565
6666#[ test]
6767fn channel_full_cycle_bitcoind_rest_sync ( ) {
6868 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
6969 let chain_source = TestChainSource :: BitcoindRestSync ( & bitcoind) ;
70- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
70+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
7171 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
7272}
7373
7474#[ test]
7575fn channel_full_cycle_force_close ( ) {
7676 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
7777 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
78- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
78+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
7979 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
8080}
8181
8282#[ test]
8383fn channel_full_cycle_force_close_trusted_no_reserve ( ) {
8484 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
8585 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
86- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , true ) ;
86+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , true , false ) ;
8787 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
8888}
8989
9090#[ test]
9191fn channel_full_cycle_0conf ( ) {
9292 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
9393 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
94- let ( node_a, node_b) = setup_two_nodes ( & chain_source, true , true , false ) ;
94+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, true , true , false , false ) ;
9595 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , true , true , false )
9696}
9797
9898#[ test]
9999fn channel_full_cycle_legacy_staticremotekey ( ) {
100100 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
101101 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
102- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
102+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false , false ) ;
103103 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , false , false ) ;
104104}
105105
106106#[ test]
107107fn channel_open_fails_when_funds_insufficient ( ) {
108108 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
109109 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
110- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
110+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
111111
112112 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
113113 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -308,7 +308,7 @@ fn start_stop_reinit() {
308308fn onchain_send_receive ( ) {
309309 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
310310 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
311- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
311+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
312312
313313 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
314314 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -508,7 +508,7 @@ fn onchain_send_receive() {
508508fn onchain_send_all_retains_reserve ( ) {
509509 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
510510 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
511- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
511+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
512512
513513 // Setup nodes
514514 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -840,7 +840,7 @@ fn connection_restart_behavior() {
840840fn do_connection_restart_behavior ( persist : bool ) {
841841 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
842842 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
843- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
843+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false , false ) ;
844844
845845 let node_id_a = node_a. node_id ( ) ;
846846 let node_id_b = node_b. node_id ( ) ;
@@ -887,7 +887,7 @@ fn do_connection_restart_behavior(persist: bool) {
887887fn concurrent_connections_succeed ( ) {
888888 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
889889 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
890- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
890+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
891891
892892 let node_a = Arc :: new ( node_a) ;
893893 let node_b = Arc :: new ( node_b) ;
@@ -914,7 +914,7 @@ fn concurrent_connections_succeed() {
914914fn simple_bolt12_send_receive ( ) {
915915 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
916916 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
917- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
917+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
918918
919919 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
920920 let premine_amount_sat = 5_000_000 ;
@@ -1364,7 +1364,7 @@ fn generate_bip21_uri() {
13641364 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
13651365 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
13661366
1367- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
1367+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
13681368
13691369 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
13701370 let premined_sats = 5_000_000 ;
@@ -1418,7 +1418,7 @@ async fn unified_send_receive_qr_uri() {
14181418 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
14191419 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
14201420
1421- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
1421+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
14221422
14231423 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
14241424 let premined_sats = 5_000_000 ;
@@ -1523,6 +1523,64 @@ async fn unified_send_receive_qr_uri() {
15231523 assert_eq ! ( node_b. list_balances( ) . total_lightning_balance_sats, 200_000 ) ;
15241524}
15251525
1526+ #[ tokio:: test( flavor = "multi_thread" ) ]
1527+ async fn unified_send_to_hrn ( ) {
1528+ let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
1529+ let chain_source = TestChainSource :: Esplora ( & electrsd) ;
1530+
1531+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , true ) ;
1532+
1533+ let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
1534+ let premined_sats = 5_000_000 ;
1535+
1536+ premine_and_distribute_funds (
1537+ & bitcoind. client ,
1538+ & electrsd. client ,
1539+ vec ! [ address_a] ,
1540+ Amount :: from_sat ( premined_sats) ,
1541+ ) ;
1542+
1543+ node_a. sync_wallets ( ) . unwrap ( ) ;
1544+ open_channel ( & node_a, & node_b, 4_000_000 , true , & electrsd) ;
1545+ generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 6 ) ;
1546+
1547+ node_a. sync_wallets ( ) . unwrap ( ) ;
1548+ node_b. sync_wallets ( ) . unwrap ( ) ;
1549+
1550+ expect_channel_ready_event ! ( node_a, node_b. node_id( ) ) ;
1551+ expect_channel_ready_event ! ( node_b, node_a. node_id( ) ) ;
1552+
1553+ // Sleep until we broadcast a node announcement.
1554+ while node_b. status ( ) . latest_node_announcement_broadcast_timestamp . is_none ( ) {
1555+ std:: thread:: sleep ( std:: time:: Duration :: from_millis ( 10 ) ) ;
1556+ }
1557+
1558+ //let offer = node_b.bolt12_payment().receive(1000000, "test offer", None, None).unwrap();
1559+ //println!("offer! {:?}", offer.to_string());
1560+
1561+ // Sleep one more sec to make sure the node announcement propagates.
1562+ std:: thread:: sleep ( std:: time:: Duration :: from_secs ( 1 ) ) ;
1563+
1564+ 1565+ let offer_payment_id: PaymentId = match node_a. unified_payment ( ) . send ( & hrn, None ) . await {
1566+ Ok ( UnifiedPaymentResult :: Bolt12 { payment_id } ) => {
1567+ println ! ( "\n Bolt12 payment sent successfully with PaymentID: {:?}" , payment_id) ;
1568+ payment_id
1569+ } ,
1570+ Ok ( UnifiedPaymentResult :: Bolt11 { payment_id : _ } ) => {
1571+ panic ! ( "Expected Bolt12 payment but got Bolt11" ) ;
1572+ } ,
1573+ Ok ( UnifiedPaymentResult :: Onchain { txid : _ } ) => {
1574+ panic ! ( "Expected Bolt12 payment but got On-chain transaction" ) ;
1575+ } ,
1576+ Err ( e) => {
1577+ panic ! ( "Expected Bolt12 payment but got error: {:?}" , e) ;
1578+ } ,
1579+ } ;
1580+
1581+ expect_payment_successful_event ! ( node_a, Some ( offer_payment_id) , None ) ;
1582+ }
1583+
15261584#[ test]
15271585fn lsps2_client_service_integration ( ) {
15281586 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
@@ -1766,7 +1824,7 @@ fn facade_logging() {
17661824fn spontaneous_send_with_custom_preimage ( ) {
17671825 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
17681826 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
1769- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
1827+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , false ) ;
17701828
17711829 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
17721830 let premine_sat = 1_000_000 ;
0 commit comments