@@ -19,6 +19,9 @@ use crate::types::{ChannelManager, PaymentStore};
19
19
use lightning:: ln:: channelmanager:: { PaymentId , Retry } ;
20
20
use lightning:: offers:: offer:: { Amount , Offer as LdkOffer , Quantity } ;
21
21
use lightning:: offers:: parse:: Bolt12SemanticError ;
22
+ use lightning:: offers:: refund:: Refund ;
23
+ use lightning:: onion_message:: dns_resolution:: HumanReadableName ;
24
+ use lightning:: onion_message:: messenger:: Destination ;
22
25
use lightning:: util:: string:: UntrustedString ;
23
26
24
27
use rand:: RngCore ;
@@ -296,28 +299,35 @@ impl Bolt12Payment {
296
299
let retry_strategy = Retry :: Timeout ( LDK_PAYMENT_RETRY_TIMEOUT ) ;
297
300
let max_total_routing_fee_msat = None ;
298
301
299
- let dns_resolvers = match & self . config . dns_resolvers {
302
+ let dns_resolvers = match & self . config . dns_resolvers_node_ids {
300
303
Some ( dns_resolvers) => Ok ( dns_resolvers. clone ( ) ) ,
301
304
None => Err ( Error :: DnsResolversNotConfigured ) ,
302
305
} ?;
303
306
307
+ let destinations: Vec < Destination > = dns_resolvers
308
+ . into_iter ( )
309
+ . map ( |public_key| {
310
+ Destination :: Node ( public_key)
311
+ } )
312
+ . collect ( ) ;
313
+
304
314
match self . channel_manager . pay_for_offer_from_human_readable_name (
305
315
hrn. clone ( ) ,
306
316
amount_msat,
307
317
payment_id,
308
318
retry_strategy,
309
319
max_total_routing_fee_msat,
310
- dns_resolvers ,
320
+ destinations ,
311
321
) {
312
322
Ok ( ( ) ) => {
313
323
log_info ! ( self . logger, "Initiated sending {} msats to {}" , amount_msat, name) ;
314
- let kind = PaymentKind :: Bolt12Offer {
315
- hash : None ,
316
- preimage : None ,
317
- secret : None ,
324
+ let kind = PaymentKind :: Bolt12Offer {
325
+ hash : None ,
326
+ preimage : None ,
327
+ secret : None ,
318
328
offer_id : None ,
319
- payer_note : None ,
320
- quantity : None
329
+ payer_note : None ,
330
+ quantity : None ,
321
331
} ;
322
332
let payment = PaymentDetails :: new (
323
333
payment_id,
@@ -332,13 +342,13 @@ impl Bolt12Payment {
332
342
} ,
333
343
Err ( ( ) ) => {
334
344
log_error ! ( self . logger, "Failed to send payment to {}" , name) ;
335
- let kind = PaymentKind :: Bolt12Offer {
336
- hash : None ,
337
- preimage : None ,
338
- secret : None ,
345
+ let kind = PaymentKind :: Bolt12Offer {
346
+ hash : None ,
347
+ preimage : None ,
348
+ secret : None ,
339
349
offer_id : None ,
340
- payer_note : None ,
341
- quantity : None
350
+ payer_note : None ,
351
+ quantity : None ,
342
352
} ;
343
353
let payment = PaymentDetails :: new (
344
354
payment_id,
0 commit comments