Skip to content

Commit 70ff51d

Browse files
committed
Use ChannelManager as DNSResolverMessageHandler by default
Now that `ChannelManager` supports using bLIP 32 to resolve BIP 353 Human Readable Names we should encourage users to use that feature by making the "default" (in various type aliases) to use `ChannelManager` as the `DNSResolverMessageHandler`.
1 parent 9af5847 commit 70ff51d

File tree

2 files changed

+70
-3
lines changed

2 files changed

+70
-3
lines changed

lightning/src/ln/functional_test_utils.rs

+22-1
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ type TestChannelManager<'node_cfg, 'chan_mon_cfg> = ChannelManager<
407407
&'chan_mon_cfg test_utils::TestLogger,
408408
>;
409409

410+
#[cfg(not(feature = "dnssec"))]
410411
type TestOnionMessenger<'chan_man, 'node_cfg, 'chan_mon_cfg> = OnionMessenger<
411412
DedicatedEntropy,
412413
&'node_cfg test_utils::TestKeysInterface,
@@ -415,7 +416,20 @@ type TestOnionMessenger<'chan_man, 'node_cfg, 'chan_mon_cfg> = OnionMessenger<
415416
&'node_cfg test_utils::TestMessageRouter<'chan_mon_cfg>,
416417
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
417418
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
418-
IgnoringMessageHandler, // TODO: Swap for ChannelManager (when built with the "dnssec" feature)
419+
IgnoringMessageHandler,
420+
IgnoringMessageHandler,
421+
>;
422+
423+
#[cfg(feature = "dnssec")]
424+
type TestOnionMessenger<'chan_man, 'node_cfg, 'chan_mon_cfg> = OnionMessenger<
425+
DedicatedEntropy,
426+
&'node_cfg test_utils::TestKeysInterface,
427+
&'chan_mon_cfg test_utils::TestLogger,
428+
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
429+
&'node_cfg test_utils::TestMessageRouter<'chan_mon_cfg>,
430+
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
431+
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
432+
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
419433
IgnoringMessageHandler,
420434
>;
421435

@@ -3281,6 +3295,13 @@ pub fn create_network<'a, 'b: 'a, 'c: 'b>(node_count: usize, cfgs: &'b Vec<NodeC
32813295

32823296
for i in 0..node_count {
32833297
let dedicated_entropy = DedicatedEntropy(RandomBytes::new([i as u8; 32]));
3298+
#[cfg(feature = "dnssec")]
3299+
let onion_messenger = OnionMessenger::new(
3300+
dedicated_entropy, cfgs[i].keys_manager, cfgs[i].logger, &chan_mgrs[i],
3301+
&cfgs[i].message_router, &chan_mgrs[i], &chan_mgrs[i], &chan_mgrs[i],
3302+
IgnoringMessageHandler {},
3303+
);
3304+
#[cfg(not(feature = "dnssec"))]
32843305
let onion_messenger = OnionMessenger::new(
32853306
dedicated_entropy, cfgs[i].keys_manager, cfgs[i].logger, &chan_mgrs[i],
32863307
&cfgs[i].message_router, &chan_mgrs[i], &chan_mgrs[i], IgnoringMessageHandler {},

lightning/src/onion_message/messenger.rs

+48-2
Original file line numberDiff line numberDiff line change
@@ -1836,6 +1836,7 @@ where
18361836
/// [`SimpleArcChannelManager`]: crate::ln::channelmanager::SimpleArcChannelManager
18371837
/// [`SimpleArcPeerManager`]: crate::ln::peer_handler::SimpleArcPeerManager
18381838
#[cfg(not(c_bindings))]
1839+
#[cfg(feature = "dnssec")]
18391840
pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
18401841
Arc<KeysManager>,
18411842
Arc<KeysManager>,
@@ -1844,7 +1845,51 @@ pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
18441845
Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<L>>>, Arc<L>, Arc<KeysManager>>>,
18451846
Arc<SimpleArcChannelManager<M, T, F, L>>,
18461847
Arc<SimpleArcChannelManager<M, T, F, L>>,
1847-
IgnoringMessageHandler, // TODO: Swap for ChannelManager (when built with the "dnssec" feature)
1848+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1849+
IgnoringMessageHandler
1850+
>;
1851+
1852+
/// Useful for simplifying the parameters of [`SimpleArcChannelManager`] and
1853+
/// [`SimpleArcPeerManager`]. See their docs for more details.
1854+
///
1855+
/// This is not exported to bindings users as type aliases aren't supported in most languages.
1856+
///
1857+
/// [`SimpleArcChannelManager`]: crate::ln::channelmanager::SimpleArcChannelManager
1858+
/// [`SimpleArcPeerManager`]: crate::ln::peer_handler::SimpleArcPeerManager
1859+
#[cfg(not(c_bindings))]
1860+
#[cfg(not(feature = "dnssec"))]
1861+
pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
1862+
Arc<KeysManager>,
1863+
Arc<KeysManager>,
1864+
Arc<L>,
1865+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1866+
Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<L>>>, Arc<L>, Arc<KeysManager>>>,
1867+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1868+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1869+
IgnoringMessageHandler,
1870+
IgnoringMessageHandler
1871+
>;
1872+
1873+
/// Useful for simplifying the parameters of [`SimpleRefChannelManager`] and
1874+
/// [`SimpleRefPeerManager`]. See their docs for more details.
1875+
///
1876+
/// This is not exported to bindings users as type aliases aren't supported in most languages.
1877+
///
1878+
/// [`SimpleRefChannelManager`]: crate::ln::channelmanager::SimpleRefChannelManager
1879+
/// [`SimpleRefPeerManager`]: crate::ln::peer_handler::SimpleRefPeerManager
1880+
#[cfg(not(c_bindings))]
1881+
#[cfg(feature = "dnssec")]
1882+
pub type SimpleRefOnionMessenger<
1883+
'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, M, T, F, L
1884+
> = OnionMessenger<
1885+
&'a KeysManager,
1886+
&'a KeysManager,
1887+
&'b L,
1888+
&'j SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, M, T, F, L>,
1889+
&'i DefaultMessageRouter<&'g NetworkGraph<&'b L>, &'b L, &'a KeysManager>,
1890+
&'j SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, M, T, F, L>,
1891+
&'j SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, M, T, F, L>,
1892+
&'j SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, M, T, F, L>,
18481893
IgnoringMessageHandler
18491894
>;
18501895

@@ -1856,6 +1901,7 @@ pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
18561901
/// [`SimpleRefChannelManager`]: crate::ln::channelmanager::SimpleRefChannelManager
18571902
/// [`SimpleRefPeerManager`]: crate::ln::peer_handler::SimpleRefPeerManager
18581903
#[cfg(not(c_bindings))]
1904+
#[cfg(not(feature = "dnssec"))]
18591905
pub type SimpleRefOnionMessenger<
18601906
'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, M, T, F, L
18611907
> = OnionMessenger<
@@ -1866,7 +1912,7 @@ pub type SimpleRefOnionMessenger<
18661912
&'i DefaultMessageRouter<&'g NetworkGraph<&'b L>, &'b L, &'a KeysManager>,
18671913
&'j SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, M, T, F, L>,
18681914
&'j SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, M, T, F, L>,
1869-
IgnoringMessageHandler, // TODO: Swap for ChannelManager (when built with the "dnssec" feature)
1915+
IgnoringMessageHandler,
18701916
IgnoringMessageHandler
18711917
>;
18721918

0 commit comments

Comments
 (0)