Skip to content

Commit e43873b

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 6ed0ab1 commit e43873b

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
@@ -406,6 +406,7 @@ type TestChannelManager<'node_cfg, 'chan_mon_cfg> = ChannelManager<
406406
&'chan_mon_cfg test_utils::TestLogger,
407407
>;
408408

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

@@ -3263,6 +3277,13 @@ pub fn create_network<'a, 'b: 'a, 'c: 'b>(node_count: usize, cfgs: &'b Vec<NodeC
32633277

32643278
for i in 0..node_count {
32653279
let dedicated_entropy = DedicatedEntropy(RandomBytes::new([i as u8; 32]));
3280+
#[cfg(feature = "dnssec")]
3281+
let onion_messenger = OnionMessenger::new(
3282+
dedicated_entropy, cfgs[i].keys_manager, cfgs[i].logger, &chan_mgrs[i],
3283+
&cfgs[i].message_router, &chan_mgrs[i], &chan_mgrs[i], &chan_mgrs[i],
3284+
IgnoringMessageHandler {},
3285+
);
3286+
#[cfg(not(feature = "dnssec"))]
32663287
let onion_messenger = OnionMessenger::new(
32673288
dedicated_entropy, cfgs[i].keys_manager, cfgs[i].logger, &chan_mgrs[i],
32683289
&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
@@ -1816,6 +1816,7 @@ where
18161816
/// [`SimpleArcChannelManager`]: crate::ln::channelmanager::SimpleArcChannelManager
18171817
/// [`SimpleArcPeerManager`]: crate::ln::peer_handler::SimpleArcPeerManager
18181818
#[cfg(not(c_bindings))]
1819+
#[cfg(feature = "dnssec")]
18191820
pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
18201821
Arc<KeysManager>,
18211822
Arc<KeysManager>,
@@ -1824,7 +1825,51 @@ pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
18241825
Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<L>>>, Arc<L>, Arc<KeysManager>>>,
18251826
Arc<SimpleArcChannelManager<M, T, F, L>>,
18261827
Arc<SimpleArcChannelManager<M, T, F, L>>,
1827-
IgnoringMessageHandler, // TODO: Swap for ChannelManager (when built with the "dnssec" feature)
1828+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1829+
IgnoringMessageHandler
1830+
>;
1831+
1832+
/// Useful for simplifying the parameters of [`SimpleArcChannelManager`] and
1833+
/// [`SimpleArcPeerManager`]. See their docs for more details.
1834+
///
1835+
/// This is not exported to bindings users as type aliases aren't supported in most languages.
1836+
///
1837+
/// [`SimpleArcChannelManager`]: crate::ln::channelmanager::SimpleArcChannelManager
1838+
/// [`SimpleArcPeerManager`]: crate::ln::peer_handler::SimpleArcPeerManager
1839+
#[cfg(not(c_bindings))]
1840+
#[cfg(not(feature = "dnssec"))]
1841+
pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
1842+
Arc<KeysManager>,
1843+
Arc<KeysManager>,
1844+
Arc<L>,
1845+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1846+
Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<L>>>, Arc<L>, Arc<KeysManager>>>,
1847+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1848+
Arc<SimpleArcChannelManager<M, T, F, L>>,
1849+
IgnoringMessageHandler,
1850+
IgnoringMessageHandler
1851+
>;
1852+
1853+
/// Useful for simplifying the parameters of [`SimpleRefChannelManager`] and
1854+
/// [`SimpleRefPeerManager`]. See their docs for more details.
1855+
///
1856+
/// This is not exported to bindings users as type aliases aren't supported in most languages.
1857+
///
1858+
/// [`SimpleRefChannelManager`]: crate::ln::channelmanager::SimpleRefChannelManager
1859+
/// [`SimpleRefPeerManager`]: crate::ln::peer_handler::SimpleRefPeerManager
1860+
#[cfg(not(c_bindings))]
1861+
#[cfg(feature = "dnssec")]
1862+
pub type SimpleRefOnionMessenger<
1863+
'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, M, T, F, L
1864+
> = OnionMessenger<
1865+
&'a KeysManager,
1866+
&'a KeysManager,
1867+
&'b L,
1868+
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
1869+
&'j DefaultMessageRouter<&'g NetworkGraph<&'b L>, &'b L, &'a KeysManager>,
1870+
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
1871+
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
1872+
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
18281873
IgnoringMessageHandler
18291874
>;
18301875

@@ -1836,6 +1881,7 @@ pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
18361881
/// [`SimpleRefChannelManager`]: crate::ln::channelmanager::SimpleRefChannelManager
18371882
/// [`SimpleRefPeerManager`]: crate::ln::peer_handler::SimpleRefPeerManager
18381883
#[cfg(not(c_bindings))]
1884+
#[cfg(not(feature = "dnssec"))]
18391885
pub type SimpleRefOnionMessenger<
18401886
'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, M, T, F, L
18411887
> = OnionMessenger<
@@ -1846,7 +1892,7 @@ pub type SimpleRefOnionMessenger<
18461892
&'j DefaultMessageRouter<&'g NetworkGraph<&'b L>, &'b L, &'a KeysManager>,
18471893
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
18481894
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
1849-
IgnoringMessageHandler, // TODO: Swap for ChannelManager (when built with the "dnssec" feature)
1895+
IgnoringMessageHandler,
18501896
IgnoringMessageHandler
18511897
>;
18521898

0 commit comments

Comments
 (0)