10
10
//! Onion message testing and test utilities live here.
11
11
12
12
use crate :: blinded_path:: EmptyNodeIdLookUp ;
13
- use crate :: blinded_path:: message:: { AsyncPaymentsContext , BlindedMessagePath , MessageForwardNode , MessageContext , OffersContext } ;
13
+ use crate :: blinded_path:: message:: { AsyncPaymentsContext , BlindedMessagePath , DNSResolverContext , MessageForwardNode , MessageContext , OffersContext } ;
14
14
use crate :: events:: { Event , EventsProvider } ;
15
15
use crate :: ln:: features:: { ChannelFeatures , InitFeatures } ;
16
16
use crate :: ln:: msgs:: { self , DecodeError , OnionMessageHandler } ;
@@ -20,6 +20,7 @@ use crate::sign::{NodeSigner, Recipient};
20
20
use crate :: util:: ser:: { FixedLengthReader , LengthReadable , Writeable , Writer } ;
21
21
use crate :: util:: test_utils;
22
22
use super :: async_payments:: { AsyncPaymentsMessageHandler , HeldHtlcAvailable , ReleaseHeldHtlc } ;
23
+ use super :: dns_resolution:: { DNSResolverMessageHandler , DNSResolverMessage , DNSSECProof , DNSSECQuery } ;
23
24
use super :: messenger:: { CustomOnionMessageHandler , DefaultMessageRouter , Destination , OnionMessagePath , OnionMessenger , Responder , ResponseInstruction , MessageSendInstructions , SendError , SendSuccess } ;
24
25
use super :: offers:: { OffersMessage , OffersMessageHandler } ;
25
26
use super :: packet:: { OnionMessageContents , Packet } ;
@@ -52,6 +53,7 @@ struct MessengerNode {
52
53
> > ,
53
54
Arc < TestOffersMessageHandler > ,
54
55
Arc < TestAsyncPaymentsMessageHandler > ,
56
+ Arc < TestDNSResolverMessageHandler > ,
55
57
Arc < TestCustomMessageHandler >
56
58
> ,
57
59
custom_message_handler : Arc < TestCustomMessageHandler > ,
@@ -90,6 +92,17 @@ impl AsyncPaymentsMessageHandler for TestAsyncPaymentsMessageHandler {
90
92
fn release_held_htlc ( & self , _message : ReleaseHeldHtlc , _context : AsyncPaymentsContext ) { }
91
93
}
92
94
95
+ struct TestDNSResolverMessageHandler { }
96
+
97
+ impl DNSResolverMessageHandler for TestDNSResolverMessageHandler {
98
+ fn handle_dnssec_query (
99
+ & self , _message : DNSSECQuery , _responder : Option < Responder > ,
100
+ ) -> Option < ( DNSResolverMessage , ResponseInstruction ) > {
101
+ None
102
+ }
103
+ fn handle_dnssec_proof ( & self , _message : DNSSECProof , _context : DNSResolverContext ) { }
104
+ }
105
+
93
106
#[ derive( Clone , Debug , PartialEq ) ]
94
107
enum TestCustomMessage {
95
108
Ping ,
@@ -264,18 +277,21 @@ fn create_nodes_using_cfgs(cfgs: Vec<MessengerCfg>) -> Vec<MessengerNode> {
264
277
) ;
265
278
let offers_message_handler = Arc :: new ( TestOffersMessageHandler { } ) ;
266
279
let async_payments_message_handler = Arc :: new ( TestAsyncPaymentsMessageHandler { } ) ;
280
+ let dns_resolver_message_handler = Arc :: new ( TestDNSResolverMessageHandler { } ) ;
267
281
let custom_message_handler = Arc :: new ( TestCustomMessageHandler :: new ( ) ) ;
268
282
let messenger = if cfg. intercept_offline_peer_oms {
269
283
OnionMessenger :: new_with_offline_peer_interception (
270
284
entropy_source. clone ( ) , node_signer. clone ( ) , logger. clone ( ) ,
271
285
node_id_lookup, message_router, offers_message_handler,
272
- async_payments_message_handler, custom_message_handler. clone ( )
286
+ async_payments_message_handler, dns_resolver_message_handler,
287
+ custom_message_handler. clone ( ) ,
273
288
)
274
289
} else {
275
290
OnionMessenger :: new (
276
291
entropy_source. clone ( ) , node_signer. clone ( ) , logger. clone ( ) ,
277
292
node_id_lookup, message_router, offers_message_handler,
278
- async_payments_message_handler, custom_message_handler. clone ( )
293
+ async_payments_message_handler, dns_resolver_message_handler,
294
+ custom_message_handler. clone ( ) ,
279
295
)
280
296
} ;
281
297
nodes. push ( MessengerNode {
0 commit comments