@@ -14,9 +14,11 @@ use e2e_tests::{
1414 find_available_port, mine_and_sync, run_cli, run_cli_raw, setup_funded_channel,
1515 wait_for_onchain_balance, LdkServerHandle , RabbitMqEventConsumer , TestBitcoind ,
1616} ;
17- use hex_conservative:: DisplayHex ;
17+ use hex_conservative:: { DisplayHex , FromHex } ;
1818use ldk_node:: bitcoin:: hashes:: { sha256, Hash } ;
1919use ldk_node:: lightning:: ln:: msgs:: SocketAddress ;
20+ use ldk_node:: lightning:: offers:: offer:: Offer ;
21+ use ldk_node:: lightning_invoice:: Bolt11Invoice ;
2022use ldk_server_client:: ldk_server_protos:: api:: {
2123 Bolt11ReceiveRequest , Bolt12ReceiveRequest , OnchainReceiveRequest ,
2224} ;
@@ -136,8 +138,14 @@ async fn test_cli_bolt11_receive() {
136138 let server = LdkServerHandle :: start ( & bitcoind) . await ;
137139
138140 let output = run_cli ( & server, & [ "bolt11-receive" , "50000sat" , "-d" , "test" ] ) ;
139- let invoice = output[ "invoice" ] . as_str ( ) . unwrap ( ) ;
140- assert ! ( invoice. starts_with( "lnbcrt" ) , "Expected lnbcrt prefix, got: {}" , invoice) ;
141+ let invoice_str = output[ "invoice" ] . as_str ( ) . unwrap ( ) ;
142+ assert ! ( invoice_str. starts_with( "lnbcrt" ) , "Expected lnbcrt prefix, got: {}" , invoice_str) ;
143+
144+ let invoice: Bolt11Invoice = invoice_str. parse ( ) . unwrap ( ) ;
145+ let payment_hash = sha256:: Hash :: from_str ( output[ "payment_hash" ] . as_str ( ) . unwrap ( ) ) . unwrap ( ) ;
146+ assert_eq ! ( * invoice. payment_hash( ) , payment_hash) ;
147+ let payment_secret = <[ u8 ; 32 ] >:: from_hex ( output[ "payment_secret" ] . as_str ( ) . unwrap ( ) ) . unwrap ( ) ;
148+ assert_eq ! ( invoice. payment_secret( ) . 0 , payment_secret) ;
141149}
142150
143151#[ tokio:: test]
@@ -149,8 +157,12 @@ async fn test_cli_bolt12_receive() {
149157 setup_funded_channel ( & bitcoind, & server_a, & server_b, 100_000 ) . await ;
150158
151159 let output = run_cli ( & server_a, & [ "bolt12-receive" , "test offer" ] ) ;
152- let offer = output[ "offer" ] . as_str ( ) . unwrap ( ) ;
153- assert ! ( offer. starts_with( "lno" ) , "Expected lno prefix, got: {}" , offer) ;
160+ let offer_str = output[ "offer" ] . as_str ( ) . unwrap ( ) ;
161+ assert ! ( offer_str. starts_with( "lno" ) , "Expected lno prefix, got: {}" , offer_str) ;
162+
163+ let offer: Offer = offer_str. parse ( ) . unwrap ( ) ;
164+ let offer_id = <[ u8 ; 32 ] >:: from_hex ( output[ "offer_id" ] . as_str ( ) . unwrap ( ) ) . unwrap ( ) ;
165+ assert_eq ! ( offer. id( ) . 0 , offer_id) ;
154166}
155167
156168#[ tokio:: test]
0 commit comments