Skip to content

Commit 9699624

Browse files
committed
f: Update trait bounds
1. Updated handle_message trait bound 2. Update handle_custom_message trait bound
1 parent 2806122 commit 9699624

File tree

7 files changed

+15
-20
lines changed

7 files changed

+15
-20
lines changed

fuzz/src/onion_message.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ impl MessageRouter for TestMessageRouter {
9696
struct TestOffersMessageHandler {}
9797

9898
impl OffersMessageHandler for TestOffersMessageHandler {
99-
fn handle_message<F: Fn(OffersMessage, BlindedPath)>(&self, _message: ReceivedOnionMessage<OMH, OffersMessage>) {}
99+
fn handle_message<R: RespondFunction<OffersMessage>>(&self, _message: ReceivedOnionMessage<R, OffersMessage>) {}
100100
}
101101

102102
#[derive(Debug)]
@@ -121,7 +121,7 @@ struct TestCustomMessageHandler {}
121121

122122
impl CustomOnionMessageHandler for TestCustomMessageHandler {
123123
type CustomMessage = TestCustomMessage;
124-
fn handle_custom_message<F: Fn(Self::CustomMessage, BlindedPath), T: OnionMessageContents>(&self, message: ReceivedOnionMessage<F, T>) {
124+
fn handle_custom_message<R: RespondFunction<Self::CustomMessage>>(&self, message: ReceivedOnionMessage<R, Self::CustomMessage>) {
125125
if let ReceivedOnionMessage::WithReplyPath({_, responder}) = message {
126126
responder.respond(TestCustomMessage {})
127127
}

lightning/src/ln/channelmanager.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ use crate::offers::merkle::SignError;
6464
use crate::offers::offer::{DerivedMetadata, Offer, OfferBuilder};
6565
use crate::offers::parse::Bolt12SemanticError;
6666
use crate::offers::refund::{Refund, RefundBuilder};
67-
use crate::onion_message::messenger::{new_pending_onion_message, Destination, MessageRouter, PendingOnionMessage, ReceivedOnionMessage};
67+
use crate::onion_message::messenger::{new_pending_onion_message, Destination, MessageRouter, PendingOnionMessage, ReceivedOnionMessage, RespondFunction};
6868
use crate::onion_message::offers::{OffersMessage, OffersMessageHandler};
6969
use crate::sign::{EntropySource, NodeSigner, Recipient, SignerProvider};
7070
use crate::sign::ecdsa::WriteableEcdsaChannelSigner;
@@ -9274,7 +9274,8 @@ where
92749274
R::Target: Router,
92759275
L::Target: Logger,
92769276
{
9277-
fn handle_message<F: Fn(OffersMessage, BlindedPath)>(&self, message: ReceivedOnionMessage<F, OffersMessage>) {
9277+
fn handle_message<RF: RespondFunction<OffersMessage>>(&self, message: ReceivedOnionMessage<RF, OffersMessage>)
9278+
{
92789279
let secp_ctx = &self.secp_ctx;
92799280
let expanded_key = &self.inbound_payment_key;
92809281

lightning/src/ln/msgs.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,10 @@ use bitcoin::blockdata::script::ScriptBuf;
3232
use bitcoin::hash_types::Txid;
3333

3434
use crate::blinded_path::payment::{BlindedPaymentTlvs, ForwardTlvs, ReceiveTlvs};
35-
use crate::blinded_path::BlindedPath;
3635
use crate::ln::{ChannelId, PaymentPreimage, PaymentHash, PaymentSecret};
3736
use crate::ln::features::{ChannelFeatures, ChannelTypeFeatures, InitFeatures, NodeFeatures};
3837
use crate::ln::onion_utils;
3938
use crate::onion_message;
40-
use crate::onion_message::packet::OnionMessageContents;
4139
use crate::sign::{NodeSigner, Recipient};
4240

4341
use crate::prelude::*;

lightning/src/ln/peer_handler.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
use bitcoin::blockdata::constants::ChainHash;
1919
use bitcoin::secp256k1::{self, Secp256k1, SecretKey, PublicKey};
2020

21-
use crate::blinded_path::BlindedPath;
2221
use crate::sign::{NodeSigner, Recipient};
2322
use crate::events::{EventHandler, EventsProvider, MessageSendEvent, MessageSendEventsProvider};
2423
use crate::ln::ChannelId;
@@ -29,7 +28,7 @@ use crate::util::ser::{VecWriter, Writeable, Writer};
2928
use crate::ln::peer_channel_encryptor::{PeerChannelEncryptor, NextNoiseStep, MessageBuf, MSG_BUF_ALLOC_SIZE};
3029
use crate::ln::wire;
3130
use crate::ln::wire::{Encode, Type};
32-
use crate::onion_message::messenger::{CustomOnionMessageHandler, PendingOnionMessage, ReceivedOnionMessage};
31+
use crate::onion_message::messenger::{CustomOnionMessageHandler, PendingOnionMessage, ReceivedOnionMessage, RespondFunction};
3332
use crate::onion_message::offers::{OffersMessage, OffersMessageHandler};
3433
use crate::onion_message::packet::OnionMessageContents;
3534
use crate::routing::gossip::{NodeId, NodeAlias};
@@ -135,11 +134,11 @@ impl OnionMessageHandler for IgnoringMessageHandler {
135134
}
136135

137136
impl OffersMessageHandler for IgnoringMessageHandler {
138-
fn handle_message<F: Fn(OffersMessage, BlindedPath)>(&self, _message: ReceivedOnionMessage<F, OffersMessage>) {}
137+
fn handle_message<R: RespondFunction<OffersMessage>>(&self, _message: ReceivedOnionMessage<R, OffersMessage>) {}
139138
}
140139
impl CustomOnionMessageHandler for IgnoringMessageHandler {
141140
type CustomMessage = Infallible;
142-
fn handle_custom_message<F: Fn(Self::CustomMessage, BlindedPath)>(&self, _message: ReceivedOnionMessage<F, Self::CustomMessage>) {
141+
fn handle_custom_message<R: RespondFunction<Self::CustomMessage>>(&self, _message: ReceivedOnionMessage<R, Self::CustomMessage>) {
143142
// Since we always return `None` in the read the handle method should never be called.
144143
unreachable!();
145144
}

lightning/src/onion_message/functional_tests.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use crate::ln::msgs::{self, DecodeError, OnionMessageHandler, SocketAddress};
1616
use crate::sign::{NodeSigner, Recipient};
1717
use crate::util::ser::{FixedLengthReader, LengthReadable, Writeable, Writer};
1818
use crate::util::test_utils;
19-
use super::messenger::{CustomOnionMessageHandler, Destination, MessageRouter, OnionMessagePath, OnionMessenger, PendingOnionMessage, ReceivedOnionMessage, SendError};
19+
use super::messenger::{CustomOnionMessageHandler, Destination, MessageRouter, OnionMessagePath, OnionMessenger, PendingOnionMessage, ReceivedOnionMessage, RespondFunction, SendError};
2020
use super::offers::{OffersMessage, OffersMessageHandler};
2121
use super::packet::{OnionMessageContents, Packet};
2222

@@ -70,7 +70,7 @@ impl MessageRouter for TestMessageRouter {
7070
struct TestOffersMessageHandler {}
7171

7272
impl OffersMessageHandler for TestOffersMessageHandler {
73-
fn handle_message<F: Fn(OffersMessage, BlindedPath)>(&self, _message: ReceivedOnionMessage<F, OffersMessage>) {}
73+
fn handle_message<R: RespondFunction<OffersMessage>>(&self, _message: ReceivedOnionMessage<R, OffersMessage>) {}
7474
}
7575

7676
#[derive(Clone, Debug, PartialEq)]
@@ -132,7 +132,7 @@ impl Drop for TestCustomMessageHandler {
132132

133133
impl CustomOnionMessageHandler for TestCustomMessageHandler {
134134
type CustomMessage = TestCustomMessage;
135-
fn handle_custom_message<F: Fn(Self::CustomMessage, BlindedPath)>(&self, message: ReceivedOnionMessage<F, Self::CustomMessage>) {
135+
fn handle_custom_message<R: RespondFunction<Self::CustomMessage>>(&self, message: ReceivedOnionMessage<R, Self::CustomMessage>) {
136136
if let ReceivedOnionMessage::WithReplyPath{responder, message, path_id: _} = message {
137137
match self.expected_messages.lock().unwrap().pop_front() {
138138
Some(expected_msg) => assert_eq!(expected_msg, message),

lightning/src/onion_message/messenger.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -581,7 +581,7 @@ pub trait CustomOnionMessageHandler {
581581
/// Called with the custom message that was received, returning a response to send, if any.
582582
///
583583
/// The returned [`Self::CustomMessage`], if any, is enqueued to be sent by [`OnionMessenger`].
584-
fn handle_custom_message<F: Fn(Self::CustomMessage, BlindedPath)>(&self, message: ReceivedOnionMessage<F, Self::CustomMessage>);
584+
fn handle_custom_message<R: RespondFunction<Self::CustomMessage>>(&self, message: ReceivedOnionMessage<R, Self::CustomMessage>);
585585

586586
/// Read a custom message of type `message_type` from `buffer`, returning `Ok(None)` if the
587587
/// message type is unknown.

lightning/src/onion_message/offers.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
1212
use core::convert::TryFrom;
1313
use core::fmt;
14-
use crate::blinded_path::BlindedPath;
1514
use crate::io::{self, Read};
16-
use crate::ln::msgs::{DecodeError, OnionMessageHandler};
15+
use crate::ln::msgs::DecodeError;
1716
use crate::offers::invoice_error::InvoiceError;
1817
use crate::offers::invoice_request::InvoiceRequest;
1918
use crate::offers::invoice::Bolt12Invoice;
@@ -22,7 +21,7 @@ use crate::onion_message::packet::OnionMessageContents;
2221
use crate::util::logger::Logger;
2322
use crate::util::ser::{Readable, ReadableArgs, Writeable, Writer};
2423
#[cfg(not(c_bindings))]
25-
use crate::onion_message::messenger::PendingOnionMessage;
24+
use crate::onion_message::messenger::{PendingOnionMessage, ReceivedOnionMessage, RespondFunction};
2625

2726
use crate::prelude::*;
2827

@@ -31,8 +30,6 @@ const INVOICE_REQUEST_TLV_TYPE: u64 = 64;
3130
const INVOICE_TLV_TYPE: u64 = 66;
3231
const INVOICE_ERROR_TLV_TYPE: u64 = 68;
3332

34-
use crate::onion_message::messenger::ReceivedOnionMessage;
35-
3633
/// A handler for an [`OnionMessage`] containing a BOLT 12 Offers message as its payload.
3734
///
3835
/// [`OnionMessage`]: crate::ln::msgs::OnionMessage
@@ -43,7 +40,7 @@ pub trait OffersMessageHandler {
4340
/// The returned [`OffersMessage`], if any, is enqueued to be sent by [`OnionMessenger`].
4441
///
4542
/// [`OnionMessenger`]: crate::onion_message::messenger::OnionMessenger
46-
fn handle_message<F: Fn(OffersMessage, BlindedPath)>(&self, message: ReceivedOnionMessage<F, OffersMessage>);
43+
fn handle_message<R: RespondFunction<OffersMessage>>(&self, message: ReceivedOnionMessage<R, OffersMessage>);
4744

4845
/// Releases any [`OffersMessage`]s that need to be sent.
4946
///

0 commit comments

Comments
 (0)