@@ -26,6 +26,7 @@ use lightning::util::persist::KVStore;
2626
2727use bitcoincore_rpc:: RpcApi ;
2828
29+ use bitcoin:: hashes:: Hash ;
2930use bitcoin:: Amount ;
3031use lightning_invoice:: { Bolt11InvoiceDescription , Description } ;
3132
@@ -281,7 +282,7 @@ fn start_stop_reinit() {
281282}
282283
283284#[ test]
284- fn onchain_spend_receive ( ) {
285+ fn onchain_send_receive ( ) {
285286 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
286287 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
287288 let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
@@ -352,7 +353,7 @@ fn onchain_spend_receive() {
352353 node_a. onchain_payment( ) . send_to_address( & addr_b, expected_node_a_balance + 1 , None )
353354 ) ;
354355
355- let amount_to_send_sats = 1000 ;
356+ let amount_to_send_sats = 54321 ;
356357 let txid =
357358 node_b. onchain_payment ( ) . send_to_address ( & addr_a, amount_to_send_sats, None ) . unwrap ( ) ;
358359 generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 6 ) ;
@@ -371,9 +372,29 @@ fn onchain_spend_receive() {
371372 let node_a_payments =
372373 node_a. list_payments_with_filter ( |p| matches ! ( p. kind, PaymentKind :: Onchain { .. } ) ) ;
373374 assert_eq ! ( node_a_payments. len( ) , 2 ) ;
374- let node_b_payments =
375- node_b. list_payments_with_filter ( |p| matches ! ( p. kind, PaymentKind :: Onchain { .. } ) ) ;
376- assert_eq ! ( node_b_payments. len( ) , 3 ) ;
375+
376+ let payment_id = PaymentId ( txid. to_byte_array ( ) ) ;
377+ let payment_a = node_a. payment ( & payment_id) . unwrap ( ) ;
378+ assert_eq ! ( payment_a. amount_msat, Some ( amount_to_send_sats * 1000 ) ) ;
379+ match payment_a. kind {
380+ PaymentKind :: Onchain { txid : _txid, status, fee_msat } => {
381+ assert_eq ! ( _txid, txid) ;
382+ assert ! ( matches!( status, ConfirmationStatus :: Confirmed { .. } ) ) ;
383+ assert ! ( fee_msat != 0 ) ;
384+ } ,
385+ _ => panic ! ( "Unexpected payment kind" ) ,
386+ }
387+
388+ let payment_b = node_a. payment ( & payment_id) . unwrap ( ) ;
389+ assert_eq ! ( payment_b. amount_msat, Some ( amount_to_send_sats * 1000 ) ) ;
390+ match payment_b. kind {
391+ PaymentKind :: Onchain { txid : _txid, status, fee_msat } => {
392+ assert_eq ! ( _txid, txid) ;
393+ assert ! ( matches!( status, ConfirmationStatus :: Confirmed { .. } ) ) ;
394+ assert ! ( fee_msat != 0 ) ;
395+ } ,
396+ _ => panic ! ( "Unexpected payment kind" ) ,
397+ }
377398
378399 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
379400 let txid = node_a. onchain_payment ( ) . send_all_to_address ( & addr_b, true , None ) . unwrap ( ) ;
0 commit comments