Merge pull request #2868 from orbitalturtle/export-send-onion-path
authorJeffrey Czyz <jkczyz@gmail.com>
Fri, 2 Feb 2024 17:18:24 +0000 (11:18 -0600)
committerGitHub <noreply@github.com>
Fri, 2 Feb 2024 17:18:24 +0000 (11:18 -0600)
export send_onion_message_using_path for testing

1  2 
lightning/src/onion_message/messenger.rs

index 3678dea84d6df869297eb8be87c355055501504b,14991a59cf4a6a9bf27dbc6d3c245e661946cdfb..1c37fc3d71e7c4e309e043b27e5fe0dd51138f27
@@@ -20,6 -20,8 +20,6 @@@ use crate::blinded_path::message::{adva
  use crate::blinded_path::utils;
  use crate::events::{Event, EventHandler, EventsProvider};
  use crate::sign::{EntropySource, NodeSigner, Recipient};
 -#[cfg(not(c_bindings))]
 -use crate::ln::channelmanager::{SimpleArcChannelManager, SimpleRefChannelManager};
  use crate::ln::features::{InitFeatures, NodeFeatures};
  use crate::ln::msgs::{self, OnionMessage, OnionMessageHandler, SocketAddress};
  use crate::ln::onion_utils;
@@@ -40,7 -42,6 +40,7 @@@ use crate::prelude::*
  #[cfg(not(c_bindings))]
  use {
        crate::sign::KeysManager,
 +      crate::ln::channelmanager::{SimpleArcChannelManager, SimpleRefChannelManager},
        crate::ln::peer_handler::IgnoringMessageHandler,
        crate::sync::Arc,
  };
@@@ -713,11 -714,6 +713,11 @@@ wher
                }
        }
  
 +      #[cfg(test)]
 +      pub(crate) fn set_offers_handler(&mut self, offers_handler: OMH) {
 +              self.offers_handler = offers_handler;
 +      }
 +
        /// Sends an [`OnionMessage`] with the given `contents` to `destination`.
        ///
        /// See [`OnionMessenger`] for example usage.
                }
        }
  
-       #[cfg(test)]
-       pub(super) fn send_onion_message_using_path<T: OnionMessageContents>(
+       #[cfg(any(test, feature = "_test_utils"))]
+       pub fn send_onion_message_using_path<T: OnionMessageContents>(
                &self, path: OnionMessagePath, contents: T, reply_path: Option<BlindedPath>
        ) -> Result<SendSuccess, SendError> {
                self.enqueue_onion_message(path, contents, reply_path, format_args!(""))
        }
  
 +      pub(crate) fn peel_onion_message(
 +              &self, msg: &OnionMessage
 +      ) -> Result<PeeledOnion<<<CMH>::Target as CustomOnionMessageHandler>::CustomMessage>, ()> {
 +              peel_onion_message(
 +                      msg, &self.secp_ctx, &*self.node_signer, &*self.logger, &*self.custom_handler
 +              )
 +      }
 +
        fn handle_onion_message_response<T: OnionMessageContents>(
                &self, response: Option<T>, reply_path: Option<BlindedPath>, log_suffix: fmt::Arguments
        ) {
@@@ -911,7 -899,9 +911,7 @@@ wher
        CMH::Target: CustomOnionMessageHandler,
  {
        fn handle_onion_message(&self, _peer_node_id: &PublicKey, msg: &OnionMessage) {
 -              match peel_onion_message(
 -                      msg, &self.secp_ctx, &*self.node_signer, &*self.logger, &*self.custom_handler
 -              ) {
 +              match self.peel_onion_message(msg) {
                        Ok(PeeledOnion::Receive(message, path_id, reply_path)) => {
                                log_trace!(
                                        self.logger,