X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fonion_message%2Fmessenger.rs;h=b884c2ffebd9f90abdbb6051e83e5c802aad4f8a;hb=d6aa1bc85a537e2f1e61da3edb50bc24fcd80f7e;hp=a09c942be61fbfcb75da606e6b440bfffa37bdbc;hpb=6ca49948c169a297144d5d1474a2cef3827237e1;p=rust-lightning diff --git a/lightning/src/onion_message/messenger.rs b/lightning/src/onion_message/messenger.rs index a09c942b..b884c2ff 100644 --- a/lightning/src/onion_message/messenger.rs +++ b/lightning/src/onion_message/messenger.rs @@ -15,7 +15,7 @@ use bitcoin::hashes::hmac::{Hmac, HmacEngine}; use bitcoin::hashes::sha256::Hash as Sha256; use bitcoin::secp256k1::{self, PublicKey, Scalar, Secp256k1, SecretKey}; -use crate::chain::keysinterface::{InMemorySigner, KeysInterface, KeysManager, Recipient, Sign}; +use crate::chain::keysinterface::{KeysInterface, KeysManager, Recipient}; use crate::ln::features::{InitFeatures, NodeFeatures}; use crate::ln::msgs::{self, OnionMessageHandler}; use crate::ln::onion_utils; @@ -104,8 +104,8 @@ use crate::prelude::*; /// /// [offers]: /// [`OnionMessenger`]: crate::onion_message::OnionMessenger -pub struct OnionMessenger - where K::Target: KeysInterface, +pub struct OnionMessenger + where K::Target: KeysInterface, L::Target: Logger, CMH:: Target: CustomOnionMessageHandler, { @@ -186,8 +186,8 @@ pub trait CustomOnionMessageHandler { fn read_custom_message(&self, message_type: u64, buffer: &mut R) -> Result, msgs::DecodeError>; } -impl OnionMessenger - where K::Target: KeysInterface, +impl OnionMessenger + where K::Target: KeysInterface, L::Target: Logger, CMH::Target: CustomOnionMessageHandler, { @@ -295,8 +295,8 @@ fn outbound_buffer_full(peer_node_id: &PublicKey, buffer: &HashMap OnionMessageHandler for OnionMessenger - where K::Target: KeysInterface, +impl OnionMessageHandler for OnionMessenger + where K::Target: KeysInterface, L::Target: Logger, CMH::Target: CustomOnionMessageHandler + Sized, { @@ -439,8 +439,8 @@ impl OnionMessageHandler for Onion } } -impl OnionMessageProvider for OnionMessenger - where K::Target: KeysInterface, +impl OnionMessageProvider for OnionMessenger + where K::Target: KeysInterface, L::Target: Logger, CMH::Target: CustomOnionMessageHandler, { @@ -462,7 +462,7 @@ impl OnionMessageProvider for Onio /// /// [`SimpleArcChannelManager`]: crate::ln::channelmanager::SimpleArcChannelManager /// [`SimpleArcPeerManager`]: crate::ln::peer_handler::SimpleArcPeerManager -pub type SimpleArcOnionMessenger = OnionMessenger, Arc, IgnoringMessageHandler>; +pub type SimpleArcOnionMessenger = OnionMessenger, Arc, IgnoringMessageHandler>; /// Useful for simplifying the parameters of [`SimpleRefChannelManager`] and /// [`SimpleRefPeerManager`]. See their docs for more details. /// @@ -470,7 +470,7 @@ pub type SimpleArcOnionMessenger = OnionMessenger = OnionMessenger; +pub type SimpleRefOnionMessenger<'a, 'b, L> = OnionMessenger<&'a KeysManager, &'b L, IgnoringMessageHandler>; /// Construct onion packet payloads and keys for sending an onion message along the given /// `unblinded_path` to the given `destination`.