@@ -60,7 +60,7 @@ use crate::offers::invoice_error::InvoiceError;
60
60
use crate :: offers:: invoice_request:: { InvoiceRequest , InvoiceRequestFields } ;
61
61
use crate :: offers:: nonce:: Nonce ;
62
62
use crate :: offers:: parse:: Bolt12SemanticError ;
63
- use crate :: onion_message:: messenger:: { Destination , PeeledOnion , MessageSendInstructions } ;
63
+ use crate :: onion_message:: messenger:: { Destination , MessageSendInstructions , NodeIdMessageRouter , PeeledOnion } ;
64
64
use crate :: onion_message:: offers:: OffersMessage ;
65
65
use crate :: routing:: gossip:: { NodeAlias , NodeId } ;
66
66
use crate :: routing:: router:: { PaymentParameters , RouteParameters , RouteParametersConfig } ;
@@ -307,7 +307,7 @@ fn prefers_non_tor_nodes_in_blinded_paths() {
307
307
announce_node_address ( charlie, & [ alice, bob, david, & nodes[ 4 ] , & nodes[ 5 ] ] , tor. clone ( ) ) ;
308
308
309
309
let offer = bob. node
310
- . create_offer_builder ( None ) . unwrap ( )
310
+ . create_offer_builder ( ) . unwrap ( )
311
311
. amount_msats ( 10_000_000 )
312
312
. build ( ) . unwrap ( ) ;
313
313
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( bob_id) ) ;
@@ -323,7 +323,7 @@ fn prefers_non_tor_nodes_in_blinded_paths() {
323
323
announce_node_address ( & nodes[ 5 ] , & [ alice, bob, charlie, david, & nodes[ 4 ] ] , tor. clone ( ) ) ;
324
324
325
325
let offer = bob. node
326
- . create_offer_builder ( None ) . unwrap ( )
326
+ . create_offer_builder ( ) . unwrap ( )
327
327
. amount_msats ( 10_000_000 )
328
328
. build ( ) . unwrap ( ) ;
329
329
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( bob_id) ) ;
@@ -374,7 +374,7 @@ fn prefers_more_connected_nodes_in_blinded_paths() {
374
374
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
375
375
376
376
let offer = bob. node
377
- . create_offer_builder ( None ) . unwrap ( )
377
+ . create_offer_builder ( ) . unwrap ( )
378
378
. amount_msats ( 10_000_000 )
379
379
. build ( ) . unwrap ( ) ;
380
380
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( bob_id) ) ;
@@ -399,11 +399,9 @@ fn creates_short_lived_offer() {
399
399
let alice_id = alice. node . get_our_node_id ( ) ;
400
400
let bob = & nodes[ 1 ] ;
401
401
402
- let absolute_expiry = alice. node . duration_since_epoch ( ) + MAX_SHORT_LIVED_RELATIVE_EXPIRY ;
403
402
let offer = alice. node
404
- . create_offer_builder ( Some ( absolute_expiry ) ) . unwrap ( )
403
+ . create_offer_builder ( ) . unwrap ( )
405
404
. build ( ) . unwrap ( ) ;
406
- assert_eq ! ( offer. absolute_expiry( ) , Some ( absolute_expiry) ) ;
407
405
assert ! ( !offer. paths( ) . is_empty( ) ) ;
408
406
for path in offer. paths ( ) {
409
407
let introduction_node_id = resolve_introduction_node ( bob, & path) ;
@@ -416,7 +414,7 @@ fn creates_short_lived_offer() {
416
414
#[ test]
417
415
fn creates_long_lived_offer ( ) {
418
416
let chanmon_cfgs = create_chanmon_cfgs ( 2 ) ;
419
- let node_cfgs = create_node_cfgs_with_node_id_message_router ( 2 , & chanmon_cfgs) ;
417
+ let node_cfgs = create_node_cfgs ( 2 , & chanmon_cfgs) ;
420
418
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
421
419
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
422
420
@@ -425,22 +423,11 @@ fn creates_long_lived_offer() {
425
423
let alice = & nodes[ 0 ] ;
426
424
let alice_id = alice. node . get_our_node_id ( ) ;
427
425
428
- let absolute_expiry = alice. node . duration_since_epoch ( ) + MAX_SHORT_LIVED_RELATIVE_EXPIRY
429
- + Duration :: from_secs ( 1 ) ;
426
+ let router = NodeIdMessageRouter :: new ( alice. network_graph , alice. keys_manager ) ;
430
427
let offer = alice. node
431
- . create_offer_builder ( Some ( absolute_expiry ) )
428
+ . create_offer_builder_using_router ( & router )
432
429
. unwrap ( )
433
430
. build ( ) . unwrap ( ) ;
434
- assert_eq ! ( offer. absolute_expiry( ) , Some ( absolute_expiry) ) ;
435
- assert ! ( !offer. paths( ) . is_empty( ) ) ;
436
- for path in offer. paths ( ) {
437
- assert_eq ! ( path. introduction_node( ) , & IntroductionNode :: NodeId ( alice_id) ) ;
438
- }
439
-
440
- let offer = alice. node
441
- . create_offer_builder ( None ) . unwrap ( )
442
- . build ( ) . unwrap ( ) ;
443
- assert_eq ! ( offer. absolute_expiry( ) , None ) ;
444
431
assert ! ( !offer. paths( ) . is_empty( ) ) ;
445
432
for path in offer. paths ( ) {
446
433
assert_eq ! ( path. introduction_node( ) , & IntroductionNode :: NodeId ( alice_id) ) ;
@@ -542,7 +529,7 @@ fn creates_and_pays_for_offer_using_two_hop_blinded_path() {
542
529
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
543
530
544
531
let offer = alice. node
545
- . create_offer_builder ( None )
532
+ . create_offer_builder ( )
546
533
. unwrap ( )
547
534
. amount_msats ( 10_000_000 )
548
535
. build ( ) . unwrap ( ) ;
@@ -709,7 +696,7 @@ fn creates_and_pays_for_offer_using_one_hop_blinded_path() {
709
696
let bob_id = bob. node . get_our_node_id ( ) ;
710
697
711
698
let offer = alice. node
712
- . create_offer_builder ( None ) . unwrap ( )
699
+ . create_offer_builder ( ) . unwrap ( )
713
700
. amount_msats ( 10_000_000 )
714
701
. build ( ) . unwrap ( ) ;
715
702
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( alice_id) ) ;
@@ -832,7 +819,7 @@ fn pays_for_offer_without_blinded_paths() {
832
819
let bob_id = bob. node . get_our_node_id ( ) ;
833
820
834
821
let offer = alice. node
835
- . create_offer_builder ( None ) . unwrap ( )
822
+ . create_offer_builder ( ) . unwrap ( )
836
823
. clear_paths ( )
837
824
. amount_msats ( 10_000_000 )
838
825
. build ( ) . unwrap ( ) ;
@@ -956,7 +943,7 @@ fn send_invoice_requests_with_distinct_reply_path() {
956
943
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
957
944
958
945
let offer = alice. node
959
- . create_offer_builder ( None )
946
+ . create_offer_builder ( )
960
947
. unwrap ( )
961
948
. amount_msats ( 10_000_000 )
962
949
. build ( ) . unwrap ( ) ;
@@ -1092,7 +1079,7 @@ fn creates_and_pays_for_offer_with_retry() {
1092
1079
let bob_id = bob. node . get_our_node_id ( ) ;
1093
1080
1094
1081
let offer = alice. node
1095
- . create_offer_builder ( None ) . unwrap ( )
1082
+ . create_offer_builder ( ) . unwrap ( )
1096
1083
. amount_msats ( 10_000_000 )
1097
1084
. build ( ) . unwrap ( ) ;
1098
1085
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( alice_id) ) ;
@@ -1168,7 +1155,7 @@ fn pays_bolt12_invoice_asynchronously() {
1168
1155
let bob_id = bob. node . get_our_node_id ( ) ;
1169
1156
1170
1157
let offer = alice. node
1171
- . create_offer_builder ( None ) . unwrap ( )
1158
+ . create_offer_builder ( ) . unwrap ( )
1172
1159
. amount_msats ( 10_000_000 )
1173
1160
. build ( ) . unwrap ( ) ;
1174
1161
@@ -1260,7 +1247,7 @@ fn creates_offer_with_blinded_path_using_unannounced_introduction_node() {
1260
1247
let bob_id = bob. node . get_our_node_id ( ) ;
1261
1248
1262
1249
let offer = alice. node
1263
- . create_offer_builder ( None ) . unwrap ( )
1250
+ . create_offer_builder ( ) . unwrap ( )
1264
1251
. amount_msats ( 10_000_000 )
1265
1252
. build ( ) . unwrap ( ) ;
1266
1253
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( alice_id) ) ;
@@ -1390,7 +1377,7 @@ fn fails_authentication_when_handling_invoice_request() {
1390
1377
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1391
1378
1392
1379
let offer = alice. node
1393
- . create_offer_builder ( None )
1380
+ . create_offer_builder ( )
1394
1381
. unwrap ( )
1395
1382
. amount_msats ( 10_000_000 )
1396
1383
. build ( ) . unwrap ( ) ;
@@ -1402,7 +1389,7 @@ fn fails_authentication_when_handling_invoice_request() {
1402
1389
}
1403
1390
1404
1391
let invalid_path = alice. node
1405
- . create_offer_builder ( None )
1392
+ . create_offer_builder ( )
1406
1393
. unwrap ( )
1407
1394
. build ( ) . unwrap ( )
1408
1395
. paths ( ) . first ( ) . unwrap ( )
@@ -1502,7 +1489,7 @@ fn fails_authentication_when_handling_invoice_for_offer() {
1502
1489
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1503
1490
1504
1491
let offer = alice. node
1505
- . create_offer_builder ( None )
1492
+ . create_offer_builder ( )
1506
1493
. unwrap ( )
1507
1494
. amount_msats ( 10_000_000 )
1508
1495
. build ( ) . unwrap ( ) ;
@@ -1698,8 +1685,7 @@ fn fails_creating_or_paying_for_offer_without_connected_peers() {
1698
1685
disconnect_peers ( alice, & [ bob, charlie, david, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1699
1686
disconnect_peers ( david, & [ bob, charlie, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1700
1687
1701
- let absolute_expiry = alice. node . duration_since_epoch ( ) + MAX_SHORT_LIVED_RELATIVE_EXPIRY ;
1702
- match alice. node . create_offer_builder ( Some ( absolute_expiry) ) {
1688
+ match alice. node . create_offer_builder ( ) {
1703
1689
Ok ( _) => panic ! ( "Expected error" ) ,
1704
1690
Err ( e) => assert_eq ! ( e, Bolt12SemanticError :: MissingPaths ) ,
1705
1691
}
@@ -1708,9 +1694,11 @@ fn fails_creating_or_paying_for_offer_without_connected_peers() {
1708
1694
args. send_channel_ready = ( true , true ) ;
1709
1695
reconnect_nodes ( args) ;
1710
1696
1697
+ let absolute_expiry = alice. node . duration_since_epoch ( ) + MAX_SHORT_LIVED_RELATIVE_EXPIRY ;
1711
1698
let offer = alice. node
1712
- . create_offer_builder ( Some ( absolute_expiry ) ) . unwrap ( )
1699
+ . create_offer_builder ( ) . unwrap ( )
1713
1700
. amount_msats ( 10_000_000 )
1701
+ . absolute_expiry ( absolute_expiry)
1714
1702
. build ( ) . unwrap ( ) ;
1715
1703
1716
1704
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
@@ -1813,7 +1801,7 @@ fn fails_creating_invoice_request_for_unsupported_chain() {
1813
1801
let bob = & nodes[ 1 ] ;
1814
1802
1815
1803
let offer = alice. node
1816
- . create_offer_builder ( None ) . unwrap ( )
1804
+ . create_offer_builder ( ) . unwrap ( )
1817
1805
. clear_chains ( )
1818
1806
. chain ( Network :: Signet )
1819
1807
. build ( ) . unwrap ( ) ;
@@ -1872,7 +1860,7 @@ fn fails_creating_invoice_request_without_blinded_reply_path() {
1872
1860
disconnect_peers ( david, & [ bob, charlie, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1873
1861
1874
1862
let offer = alice. node
1875
- . create_offer_builder ( None ) . unwrap ( )
1863
+ . create_offer_builder ( ) . unwrap ( )
1876
1864
. amount_msats ( 10_000_000 )
1877
1865
. build ( ) . unwrap ( ) ;
1878
1866
@@ -1906,7 +1894,7 @@ fn fails_creating_invoice_request_with_duplicate_payment_id() {
1906
1894
disconnect_peers ( alice, & [ charlie, david, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1907
1895
1908
1896
let offer = alice. node
1909
- . create_offer_builder ( None ) . unwrap ( )
1897
+ . create_offer_builder ( ) . unwrap ( )
1910
1898
. amount_msats ( 10_000_000 )
1911
1899
. build ( ) . unwrap ( ) ;
1912
1900
@@ -1992,7 +1980,7 @@ fn fails_sending_invoice_without_blinded_payment_paths_for_offer() {
1992
1980
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1993
1981
1994
1982
let offer = alice. node
1995
- . create_offer_builder ( None ) . unwrap ( )
1983
+ . create_offer_builder ( ) . unwrap ( )
1996
1984
. amount_msats ( 10_000_000 )
1997
1985
. build ( ) . unwrap ( ) ;
1998
1986
@@ -2201,7 +2189,7 @@ fn fails_paying_invoice_with_unknown_required_features() {
2201
2189
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
2202
2190
2203
2191
let offer = alice. node
2204
- . create_offer_builder ( None ) . unwrap ( )
2192
+ . create_offer_builder ( ) . unwrap ( )
2205
2193
. amount_msats ( 10_000_000 )
2206
2194
. build ( ) . unwrap ( ) ;
2207
2195
@@ -2280,7 +2268,7 @@ fn rejects_keysend_to_non_static_invoice_path() {
2280
2268
create_announced_chan_between_nodes_with_value ( & nodes, 0 , 1 , 1_000_000 , 0 ) ;
2281
2269
2282
2270
// First pay the offer and save the payment preimage and invoice.
2283
- let offer = nodes[ 1 ] . node . create_offer_builder ( None ) . unwrap ( ) . build ( ) . unwrap ( ) ;
2271
+ let offer = nodes[ 1 ] . node . create_offer_builder ( ) . unwrap ( ) . build ( ) . unwrap ( ) ;
2284
2272
let amt_msat = 5000 ;
2285
2273
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
2286
2274
nodes[ 0 ] . node . pay_for_offer ( & offer, None , Some ( amt_msat) , None , payment_id, Retry :: Attempts ( 1 ) , RouteParametersConfig :: default ( ) ) . unwrap ( ) ;
@@ -2360,7 +2348,7 @@ fn no_double_pay_with_stale_channelmanager() {
2360
2348
2361
2349
let amt_msat = nodes[ 0 ] . node . list_usable_channels ( ) [ 0 ] . next_outbound_htlc_limit_msat + 1 ; // Force MPP
2362
2350
let offer = nodes[ 1 ] . node
2363
- . create_offer_builder ( None ) . unwrap ( )
2351
+ . create_offer_builder ( ) . unwrap ( )
2364
2352
. clear_paths ( )
2365
2353
. amount_msats ( amt_msat)
2366
2354
. build ( ) . unwrap ( ) ;
0 commit comments