@@ -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,20 +423,18 @@ 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
431
assert ! ( !offer. paths( ) . is_empty( ) ) ;
436
432
for path in offer. paths ( ) {
437
433
assert_eq ! ( path. introduction_node( ) , & IntroductionNode :: NodeId ( alice_id) ) ;
438
434
}
439
435
440
436
let offer = alice. node
441
- . create_offer_builder ( None ) . unwrap ( )
437
+ . create_offer_builder_using_router ( & router ) . unwrap ( )
442
438
. build ( ) . unwrap ( ) ;
443
439
assert_eq ! ( offer. absolute_expiry( ) , None ) ;
444
440
assert ! ( !offer. paths( ) . is_empty( ) ) ;
@@ -542,7 +538,7 @@ fn creates_and_pays_for_offer_using_two_hop_blinded_path() {
542
538
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
543
539
544
540
let offer = alice. node
545
- . create_offer_builder ( None )
541
+ . create_offer_builder ( )
546
542
. unwrap ( )
547
543
. amount_msats ( 10_000_000 )
548
544
. build ( ) . unwrap ( ) ;
@@ -709,7 +705,7 @@ fn creates_and_pays_for_offer_using_one_hop_blinded_path() {
709
705
let bob_id = bob. node . get_our_node_id ( ) ;
710
706
711
707
let offer = alice. node
712
- . create_offer_builder ( None ) . unwrap ( )
708
+ . create_offer_builder ( ) . unwrap ( )
713
709
. amount_msats ( 10_000_000 )
714
710
. build ( ) . unwrap ( ) ;
715
711
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( alice_id) ) ;
@@ -832,7 +828,7 @@ fn pays_for_offer_without_blinded_paths() {
832
828
let bob_id = bob. node . get_our_node_id ( ) ;
833
829
834
830
let offer = alice. node
835
- . create_offer_builder ( None ) . unwrap ( )
831
+ . create_offer_builder ( ) . unwrap ( )
836
832
. clear_paths ( )
837
833
. amount_msats ( 10_000_000 )
838
834
. build ( ) . unwrap ( ) ;
@@ -956,7 +952,7 @@ fn send_invoice_requests_with_distinct_reply_path() {
956
952
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
957
953
958
954
let offer = alice. node
959
- . create_offer_builder ( None )
955
+ . create_offer_builder ( )
960
956
. unwrap ( )
961
957
. amount_msats ( 10_000_000 )
962
958
. build ( ) . unwrap ( ) ;
@@ -1092,7 +1088,7 @@ fn creates_and_pays_for_offer_with_retry() {
1092
1088
let bob_id = bob. node . get_our_node_id ( ) ;
1093
1089
1094
1090
let offer = alice. node
1095
- . create_offer_builder ( None ) . unwrap ( )
1091
+ . create_offer_builder ( ) . unwrap ( )
1096
1092
. amount_msats ( 10_000_000 )
1097
1093
. build ( ) . unwrap ( ) ;
1098
1094
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( alice_id) ) ;
@@ -1168,7 +1164,7 @@ fn pays_bolt12_invoice_asynchronously() {
1168
1164
let bob_id = bob. node . get_our_node_id ( ) ;
1169
1165
1170
1166
let offer = alice. node
1171
- . create_offer_builder ( None ) . unwrap ( )
1167
+ . create_offer_builder ( ) . unwrap ( )
1172
1168
. amount_msats ( 10_000_000 )
1173
1169
. build ( ) . unwrap ( ) ;
1174
1170
@@ -1260,7 +1256,7 @@ fn creates_offer_with_blinded_path_using_unannounced_introduction_node() {
1260
1256
let bob_id = bob. node . get_our_node_id ( ) ;
1261
1257
1262
1258
let offer = alice. node
1263
- . create_offer_builder ( None ) . unwrap ( )
1259
+ . create_offer_builder ( ) . unwrap ( )
1264
1260
. amount_msats ( 10_000_000 )
1265
1261
. build ( ) . unwrap ( ) ;
1266
1262
assert_ne ! ( offer. issuer_signing_pubkey( ) , Some ( alice_id) ) ;
@@ -1390,7 +1386,7 @@ fn fails_authentication_when_handling_invoice_request() {
1390
1386
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1391
1387
1392
1388
let offer = alice. node
1393
- . create_offer_builder ( None )
1389
+ . create_offer_builder ( )
1394
1390
. unwrap ( )
1395
1391
. amount_msats ( 10_000_000 )
1396
1392
. build ( ) . unwrap ( ) ;
@@ -1402,7 +1398,7 @@ fn fails_authentication_when_handling_invoice_request() {
1402
1398
}
1403
1399
1404
1400
let invalid_path = alice. node
1405
- . create_offer_builder ( None )
1401
+ . create_offer_builder ( )
1406
1402
. unwrap ( )
1407
1403
. build ( ) . unwrap ( )
1408
1404
. paths ( ) . first ( ) . unwrap ( )
@@ -1502,7 +1498,7 @@ fn fails_authentication_when_handling_invoice_for_offer() {
1502
1498
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1503
1499
1504
1500
let offer = alice. node
1505
- . create_offer_builder ( None )
1501
+ . create_offer_builder ( )
1506
1502
. unwrap ( )
1507
1503
. amount_msats ( 10_000_000 )
1508
1504
. build ( ) . unwrap ( ) ;
@@ -1698,8 +1694,7 @@ fn fails_creating_or_paying_for_offer_without_connected_peers() {
1698
1694
disconnect_peers ( alice, & [ bob, charlie, david, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1699
1695
disconnect_peers ( david, & [ bob, charlie, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1700
1696
1701
- let absolute_expiry = alice. node . duration_since_epoch ( ) + MAX_SHORT_LIVED_RELATIVE_EXPIRY ;
1702
- match alice. node . create_offer_builder ( Some ( absolute_expiry) ) {
1697
+ match alice. node . create_offer_builder ( ) {
1703
1698
Ok ( _) => panic ! ( "Expected error" ) ,
1704
1699
Err ( e) => assert_eq ! ( e, Bolt12SemanticError :: MissingPaths ) ,
1705
1700
}
@@ -1708,9 +1703,11 @@ fn fails_creating_or_paying_for_offer_without_connected_peers() {
1708
1703
args. send_channel_ready = ( true , true ) ;
1709
1704
reconnect_nodes ( args) ;
1710
1705
1706
+ let absolute_expiry = alice. node . duration_since_epoch ( ) + MAX_SHORT_LIVED_RELATIVE_EXPIRY ;
1711
1707
let offer = alice. node
1712
- . create_offer_builder ( Some ( absolute_expiry ) ) . unwrap ( )
1708
+ . create_offer_builder ( ) . unwrap ( )
1713
1709
. amount_msats ( 10_000_000 )
1710
+ . absolute_expiry ( absolute_expiry)
1714
1711
. build ( ) . unwrap ( ) ;
1715
1712
1716
1713
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
@@ -1813,7 +1810,7 @@ fn fails_creating_invoice_request_for_unsupported_chain() {
1813
1810
let bob = & nodes[ 1 ] ;
1814
1811
1815
1812
let offer = alice. node
1816
- . create_offer_builder ( None ) . unwrap ( )
1813
+ . create_offer_builder ( ) . unwrap ( )
1817
1814
. clear_chains ( )
1818
1815
. chain ( Network :: Signet )
1819
1816
. build ( ) . unwrap ( ) ;
@@ -1872,7 +1869,7 @@ fn fails_creating_invoice_request_without_blinded_reply_path() {
1872
1869
disconnect_peers ( david, & [ bob, charlie, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1873
1870
1874
1871
let offer = alice. node
1875
- . create_offer_builder ( None ) . unwrap ( )
1872
+ . create_offer_builder ( ) . unwrap ( )
1876
1873
. amount_msats ( 10_000_000 )
1877
1874
. build ( ) . unwrap ( ) ;
1878
1875
@@ -1906,7 +1903,7 @@ fn fails_creating_invoice_request_with_duplicate_payment_id() {
1906
1903
disconnect_peers ( alice, & [ charlie, david, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1907
1904
1908
1905
let offer = alice. node
1909
- . create_offer_builder ( None ) . unwrap ( )
1906
+ . create_offer_builder ( ) . unwrap ( )
1910
1907
. amount_msats ( 10_000_000 )
1911
1908
. build ( ) . unwrap ( ) ;
1912
1909
@@ -1992,7 +1989,7 @@ fn fails_sending_invoice_without_blinded_payment_paths_for_offer() {
1992
1989
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
1993
1990
1994
1991
let offer = alice. node
1995
- . create_offer_builder ( None ) . unwrap ( )
1992
+ . create_offer_builder ( ) . unwrap ( )
1996
1993
. amount_msats ( 10_000_000 )
1997
1994
. build ( ) . unwrap ( ) ;
1998
1995
@@ -2201,7 +2198,7 @@ fn fails_paying_invoice_with_unknown_required_features() {
2201
2198
disconnect_peers ( david, & [ bob, & nodes[ 4 ] , & nodes[ 5 ] ] ) ;
2202
2199
2203
2200
let offer = alice. node
2204
- . create_offer_builder ( None ) . unwrap ( )
2201
+ . create_offer_builder ( ) . unwrap ( )
2205
2202
. amount_msats ( 10_000_000 )
2206
2203
. build ( ) . unwrap ( ) ;
2207
2204
@@ -2280,7 +2277,7 @@ fn rejects_keysend_to_non_static_invoice_path() {
2280
2277
create_announced_chan_between_nodes_with_value ( & nodes, 0 , 1 , 1_000_000 , 0 ) ;
2281
2278
2282
2279
// First pay the offer and save the payment preimage and invoice.
2283
- let offer = nodes[ 1 ] . node . create_offer_builder ( None ) . unwrap ( ) . build ( ) . unwrap ( ) ;
2280
+ let offer = nodes[ 1 ] . node . create_offer_builder ( ) . unwrap ( ) . build ( ) . unwrap ( ) ;
2284
2281
let amt_msat = 5000 ;
2285
2282
let payment_id = PaymentId ( [ 1 ; 32 ] ) ;
2286
2283
nodes[ 0 ] . node . pay_for_offer ( & offer, None , Some ( amt_msat) , None , payment_id, Retry :: Attempts ( 1 ) , RouteParametersConfig :: default ( ) ) . unwrap ( ) ;
@@ -2360,7 +2357,7 @@ fn no_double_pay_with_stale_channelmanager() {
2360
2357
2361
2358
let amt_msat = nodes[ 0 ] . node . list_usable_channels ( ) [ 0 ] . next_outbound_htlc_limit_msat + 1 ; // Force MPP
2362
2359
let offer = nodes[ 1 ] . node
2363
- . create_offer_builder ( None ) . unwrap ( )
2360
+ . create_offer_builder ( ) . unwrap ( )
2364
2361
. clear_paths ( )
2365
2362
. amount_msats ( amt_msat)
2366
2363
. build ( ) . unwrap ( ) ;
0 commit comments