@@ -275,17 +275,17 @@ impl Bolt12Payment {
275
275
pub ( crate ) fn receive_inner (
276
276
& self , amount_msat : u64 , description : & str , expiry_secs : Option < u32 > , quantity : Option < u64 > ,
277
277
) -> Result < LdkOffer , Error > {
278
- let absolute_expiry = expiry_secs. map ( |secs| {
279
- ( SystemTime :: now ( ) + Duration :: from_secs ( secs as u64 ) )
280
- . duration_since ( UNIX_EPOCH )
281
- . unwrap ( )
282
- } ) ;
278
+ let mut offer_builder = self . channel_manager . create_offer_builder ( ) . map_err ( |e| {
279
+ log_error ! ( self . logger, "Failed to create offer builder: {:?}" , e) ;
280
+ Error :: OfferCreationFailed
281
+ } ) ?;
283
282
284
- let offer_builder =
285
- self . channel_manager . create_offer_builder ( absolute_expiry) . map_err ( |e| {
286
- log_error ! ( self . logger, "Failed to create offer builder: {:?}" , e) ;
287
- Error :: OfferCreationFailed
288
- } ) ?;
283
+ if let Some ( expiry_secs) = expiry_secs {
284
+ let absolute_expiry = ( SystemTime :: now ( ) + Duration :: from_secs ( expiry_secs as u64 ) )
285
+ . duration_since ( UNIX_EPOCH )
286
+ . unwrap ( ) ;
287
+ offer_builder = offer_builder. absolute_expiry ( absolute_expiry) ;
288
+ }
289
289
290
290
let mut offer =
291
291
offer_builder. amount_msats ( amount_msat) . description ( description. to_string ( ) ) ;
@@ -321,17 +321,18 @@ impl Bolt12Payment {
321
321
pub fn receive_variable_amount (
322
322
& self , description : & str , expiry_secs : Option < u32 > ,
323
323
) -> Result < Offer , Error > {
324
- let absolute_expiry = expiry_secs. map ( |secs| {
325
- ( SystemTime :: now ( ) + Duration :: from_secs ( secs as u64 ) )
324
+ let mut offer_builder = self . channel_manager . create_offer_builder ( ) . map_err ( |e| {
325
+ log_error ! ( self . logger, "Failed to create offer builder: {:?}" , e) ;
326
+ Error :: OfferCreationFailed
327
+ } ) ?;
328
+
329
+ if let Some ( expiry_secs) = expiry_secs {
330
+ let absolute_expiry = ( SystemTime :: now ( ) + Duration :: from_secs ( expiry_secs as u64 ) )
326
331
. duration_since ( UNIX_EPOCH )
327
- . unwrap ( )
328
- } ) ;
332
+ . unwrap ( ) ;
333
+ offer_builder = offer_builder. absolute_expiry ( absolute_expiry) ;
334
+ }
329
335
330
- let offer_builder =
331
- self . channel_manager . create_offer_builder ( absolute_expiry) . map_err ( |e| {
332
- log_error ! ( self . logger, "Failed to create offer builder: {:?}" , e) ;
333
- Error :: OfferCreationFailed
334
- } ) ?;
335
336
let offer = offer_builder. description ( description. to_string ( ) ) . build ( ) . map_err ( |e| {
336
337
log_error ! ( self . logger, "Failed to create offer: {:?}" , e) ;
337
338
Error :: OfferCreationFailed
0 commit comments