@@ -46,11 +46,12 @@ use crate::blinded_path::BlindedPath;
46
46
use crate :: blinded_path:: payment:: { Bolt12OfferContext , Bolt12RefundContext , PaymentContext } ;
47
47
use crate :: events:: { Event , MessageSendEventsProvider , PaymentPurpose } ;
48
48
use crate :: ln:: channelmanager:: { PaymentId , RecentPaymentDetails , Retry , self } ;
49
+ use crate :: ln:: features:: InvoiceRequestFeatures ;
49
50
use crate :: ln:: functional_test_utils:: * ;
50
51
use crate :: ln:: msgs:: { ChannelMessageHandler , Init , NodeAnnouncement , OnionMessage , OnionMessageHandler , RoutingMessageHandler , SocketAddress , UnsignedGossipMessage , UnsignedNodeAnnouncement } ;
51
52
use crate :: offers:: invoice:: Bolt12Invoice ;
52
53
use crate :: offers:: invoice_error:: InvoiceError ;
53
- use crate :: offers:: invoice_request:: InvoiceRequest ;
54
+ use crate :: offers:: invoice_request:: { InvoiceRequest , InvoiceRequestFields } ;
54
55
use crate :: offers:: parse:: Bolt12SemanticError ;
55
56
use crate :: onion_message:: messenger:: PeeledOnion ;
56
57
use crate :: onion_message:: offers:: OffersMessage ;
@@ -385,7 +386,6 @@ fn creates_and_pays_for_offer_using_two_hop_blinded_path() {
385
386
. unwrap ( )
386
387
. amount_msats ( 10_000_000 )
387
388
. build ( ) . unwrap ( ) ;
388
- let payment_context = PaymentContext :: Bolt12Offer ( Bolt12OfferContext { offer_id : offer. id ( ) } ) ;
389
389
assert_ne ! ( offer. signing_pubkey( ) , alice_id) ;
390
390
assert ! ( !offer. paths( ) . is_empty( ) ) ;
391
391
for path in offer. paths ( ) {
@@ -408,6 +408,17 @@ fn creates_and_pays_for_offer_using_two_hop_blinded_path() {
408
408
alice. onion_messenger . handle_onion_message ( & bob_id, & onion_message) ;
409
409
410
410
let ( invoice_request, reply_path) = extract_invoice_request ( alice, & onion_message) ;
411
+ let payment_context = PaymentContext :: Bolt12Offer ( Bolt12OfferContext {
412
+ offer_id : offer. id ( ) ,
413
+ invoice_request : InvoiceRequestFields {
414
+ payer_id : invoice_request. payer_id ( ) ,
415
+ chain : Some ( invoice_request. chain ( ) ) ,
416
+ amount_msats : None ,
417
+ features : InvoiceRequestFeatures :: empty ( ) ,
418
+ quantity : None ,
419
+ payer_note : None ,
420
+ } ,
421
+ } ) ;
411
422
assert_eq ! ( invoice_request. amount_msats( ) , None ) ;
412
423
assert_ne ! ( invoice_request. payer_id( ) , david_id) ;
413
424
assert_eq ! ( reply_path. unwrap( ) . introduction_node_id, charlie_id) ;
@@ -537,7 +548,6 @@ fn creates_and_pays_for_offer_using_one_hop_blinded_path() {
537
548
. create_offer_builder ( "coffee" . to_string ( ) ) . unwrap ( )
538
549
. amount_msats ( 10_000_000 )
539
550
. build ( ) . unwrap ( ) ;
540
- let payment_context = PaymentContext :: Bolt12Offer ( Bolt12OfferContext { offer_id : offer. id ( ) } ) ;
541
551
assert_ne ! ( offer. signing_pubkey( ) , alice_id) ;
542
552
assert ! ( !offer. paths( ) . is_empty( ) ) ;
543
553
for path in offer. paths ( ) {
@@ -552,6 +562,17 @@ fn creates_and_pays_for_offer_using_one_hop_blinded_path() {
552
562
alice. onion_messenger . handle_onion_message ( & bob_id, & onion_message) ;
553
563
554
564
let ( invoice_request, reply_path) = extract_invoice_request ( alice, & onion_message) ;
565
+ let payment_context = PaymentContext :: Bolt12Offer ( Bolt12OfferContext {
566
+ offer_id : offer. id ( ) ,
567
+ invoice_request : InvoiceRequestFields {
568
+ payer_id : invoice_request. payer_id ( ) ,
569
+ chain : Some ( invoice_request. chain ( ) ) ,
570
+ amount_msats : None ,
571
+ features : InvoiceRequestFeatures :: empty ( ) ,
572
+ quantity : None ,
573
+ payer_note : None ,
574
+ } ,
575
+ } ) ;
555
576
assert_eq ! ( invoice_request. amount_msats( ) , None ) ;
556
577
assert_ne ! ( invoice_request. payer_id( ) , bob_id) ;
557
578
assert_eq ! ( reply_path. unwrap( ) . introduction_node_id, bob_id) ;
@@ -653,7 +674,6 @@ fn pays_for_offer_without_blinded_paths() {
653
674
. clear_paths ( )
654
675
. amount_msats ( 10_000_000 )
655
676
. build ( ) . unwrap ( ) ;
656
- let payment_context = PaymentContext :: Bolt12Offer ( Bolt12OfferContext { offer_id : offer. id ( ) } ) ;
657
677
assert_eq ! ( offer. signing_pubkey( ) , alice_id) ;
658
678
assert ! ( offer. paths( ) . is_empty( ) ) ;
659
679
@@ -664,6 +684,19 @@ fn pays_for_offer_without_blinded_paths() {
664
684
let onion_message = bob. onion_messenger . next_onion_message_for_peer ( alice_id) . unwrap ( ) ;
665
685
alice. onion_messenger . handle_onion_message ( & bob_id, & onion_message) ;
666
686
687
+ let ( invoice_request, _) = extract_invoice_request ( alice, & onion_message) ;
688
+ let payment_context = PaymentContext :: Bolt12Offer ( Bolt12OfferContext {
689
+ offer_id : offer. id ( ) ,
690
+ invoice_request : InvoiceRequestFields {
691
+ payer_id : invoice_request. payer_id ( ) ,
692
+ chain : Some ( invoice_request. chain ( ) ) ,
693
+ amount_msats : None ,
694
+ features : InvoiceRequestFeatures :: empty ( ) ,
695
+ quantity : None ,
696
+ payer_note : None ,
697
+ } ,
698
+ } ) ;
699
+
667
700
let onion_message = alice. onion_messenger . next_onion_message_for_peer ( bob_id) . unwrap ( ) ;
668
701
bob. onion_messenger . handle_onion_message ( & alice_id, & onion_message) ;
669
702
0 commit comments