Skip to content

Commit 4b81eb2

Browse files
authored
Merge pull request #2644 from TheBlueMatt/2023-09-0.0.117-java-bindings
0.0.117 Bindings Changes
2 parents dba48f6 + 29b1710 commit 4b81eb2

File tree

31 files changed

+181
-94
lines changed

31 files changed

+181
-94
lines changed

fuzz/src/chanmon_consistency.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ use lightning::sign::{KeyMaterial, InMemorySigner, Recipient, EntropySource, Nod
3939
use lightning::events;
4040
use lightning::events::MessageSendEventsProvider;
4141
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
42-
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, PaymentSendFailure, ChannelManagerReadArgs, PaymentId, RecipientOnionFields};
42+
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, ChannelManagerReadArgs, PaymentId};
43+
use lightning::ln::outbound_payment::{RecipientOnionFields, PaymentSendFailure};
4344
use lightning::ln::channel::FEE_SPIKE_BUFFER_FEE_INCREASE_MULTIPLE;
4445
use lightning::ln::msgs::{self, CommitmentUpdate, ChannelMessageHandler, DecodeError, UpdateAddHTLC, Init};
4546
use lightning::ln::script::ShutdownScript;

fuzz/src/full_stack.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ use lightning::chain::transaction::OutPoint;
3535
use lightning::sign::{InMemorySigner, Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
3636
use lightning::events::Event;
3737
use lightning::ln::{ChannelId, PaymentHash, PaymentPreimage, PaymentSecret};
38-
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, PaymentId, RecipientOnionFields, Retry};
38+
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, PaymentId};
39+
use lightning::ln::outbound_payment::{RecipientOnionFields, Retry};
3940
use lightning::ln::peer_handler::{MessageHandler,PeerManager,SocketDescriptor,IgnoringMessageHandler};
4041
use lightning::ln::msgs::{self, DecodeError};
4142
use lightning::ln::script::ShutdownScript;

fuzz/src/onion_message.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ use lightning::offers::invoice_request::UnsignedInvoiceRequest;
1414
use lightning::util::test_channel_signer::TestChannelSigner;
1515
use lightning::util::logger::Logger;
1616
use lightning::util::ser::{Readable, Writeable, Writer};
17-
use lightning::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, MessageRouter, OffersMessage, OffersMessageHandler, OnionMessagePath, OnionMessenger};
17+
use lightning::onion_message::messenger::{CustomOnionMessageHandler, MessageRouter, OnionMessenger, Destination, OnionMessagePath};
18+
use lightning::onion_message::offers::{OffersMessage, OffersMessageHandler};
19+
use lightning::onion_message::packet::CustomOnionMessageContents;
1820

1921
use crate::utils::test_logger;
2022

lightning-background-processor/src/lib.rs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,7 @@ mod tests {
894894
fn disconnect_socket(&mut self) {}
895895
}
896896

897+
#[cfg(not(c_bindings))]
897898
type ChannelManager =
898899
channelmanager::ChannelManager<
899900
Arc<ChainMonitor>,
@@ -905,9 +906,22 @@ mod tests {
905906
Arc<DefaultRouter<
906907
Arc<NetworkGraph<Arc<test_utils::TestLogger>>>,
907908
Arc<test_utils::TestLogger>,
908-
Arc<Mutex<TestScorer>>,
909-
(),
910-
TestScorer>
909+
Arc<Mutex<TestScorer>>>
910+
>,
911+
Arc<test_utils::TestLogger>>;
912+
#[cfg(c_bindings)]
913+
type ChannelManager =
914+
channelmanager::ChannelManager<
915+
Arc<ChainMonitor>,
916+
Arc<test_utils::TestBroadcaster>,
917+
Arc<KeysManager>,
918+
Arc<KeysManager>,
919+
Arc<KeysManager>,
920+
Arc<test_utils::TestFeeEstimator>,
921+
Arc<DefaultRouter<
922+
Arc<NetworkGraph<Arc<test_utils::TestLogger>>>,
923+
Arc<test_utils::TestLogger>,
924+
Arc<Mutex<TestScorer>>>
911925
>,
912926
Arc<test_utils::TestLogger>>;
913927

@@ -1064,9 +1078,10 @@ mod tests {
10641078
}
10651079

10661080
impl ScoreLookUp for TestScorer {
1081+
#[cfg(not(c_bindings))]
10671082
type ScoreParams = ();
10681083
fn channel_penalty_msat(
1069-
&self, _short_channel_id: u64, _source: &NodeId, _target: &NodeId, _usage: ChannelUsage, _score_params: &Self::ScoreParams
1084+
&self, _short_channel_id: u64, _source: &NodeId, _target: &NodeId, _usage: ChannelUsage, _score_params: &lightning::routing::scoring::ProbabilisticScoringFeeParameters
10701085
) -> u64 { unimplemented!(); }
10711086
}
10721087

lightning-invoice/src/payment.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ use lightning::chain;
1818
use lightning::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
1919
use lightning::sign::{NodeSigner, SignerProvider, EntropySource};
2020
use lightning::ln::PaymentHash;
21-
use lightning::ln::channelmanager::{AChannelManager, ChannelManager, PaymentId, Retry, RetryableSendFailure, RecipientOnionFields, ProbeSendFailure};
21+
use lightning::ln::channelmanager::{AChannelManager, ChannelManager, PaymentId};
22+
use lightning::ln::outbound_payment::{ProbeSendFailure, RecipientOnionFields, RetryableSendFailure, Retry};
2223
use lightning::routing::router::{PaymentParameters, RouteParameters, Router};
2324
use lightning::util::logger::Logger;
2425

lightning-invoice/src/utils.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,8 @@ mod test {
800800
use lightning::sign::PhantomKeysManager;
801801
use lightning::events::{MessageSendEvent, MessageSendEventsProvider, Event, EventsProvider};
802802
use lightning::ln::{PaymentPreimage, PaymentHash};
803-
use lightning::ln::channelmanager::{PhantomRouteHints, MIN_FINAL_CLTV_EXPIRY_DELTA, PaymentId, RecipientOnionFields, Retry};
803+
use lightning::ln::channelmanager::{PhantomRouteHints, MIN_FINAL_CLTV_EXPIRY_DELTA, PaymentId};
804+
use lightning::ln::outbound_payment::{RecipientOnionFields, Retry};
804805
use lightning::ln::functional_test_utils::*;
805806
use lightning::ln::msgs::ChannelMessageHandler;
806807
use lightning::routing::router::{PaymentParameters, RouteParameters};

lightning-rapid-gossip-sync/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ use lightning::io;
7878
use lightning::routing::gossip::NetworkGraph;
7979
use lightning::util::logger::Logger;
8080

81-
pub use crate::error::GraphSyncError;
81+
use crate::error::GraphSyncError;
8282

8383
/// Error types that these functions can return
84-
mod error;
84+
pub mod error;
8585

8686
/// Core functionality of this crate
8787
mod processing;

lightning/src/chain/channelmonitor.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -737,7 +737,7 @@ pub struct ChannelMonitor<Signer: WriteableEcdsaChannelSigner> {
737737
pub(super) inner: Mutex<ChannelMonitorImpl<Signer>>,
738738
}
739739

740-
impl<Signer: WriteableEcdsaChannelSigner> Clone for ChannelMonitor<Signer> where Signer: Clone {
740+
impl<Signer: WriteableEcdsaChannelSigner> Clone for ChannelMonitor<Signer> {
741741
fn clone(&self) -> Self {
742742
let inner = self.inner.lock().unwrap().clone();
743743
ChannelMonitor::from_impl(inner)
@@ -4174,8 +4174,8 @@ where
41744174

41754175
const MAX_ALLOC_SIZE: usize = 64*1024;
41764176

4177-
impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP)>
4178-
for (BlockHash, ChannelMonitor<SP::Signer>) {
4177+
impl<'a, 'b, ES: EntropySource, SP: SignerProvider<Signer=Signer>, Signer: WriteableEcdsaChannelSigner> ReadableArgs<(&'a ES, &'b SP)>
4178+
for (BlockHash, ChannelMonitor<Signer>) {
41794179
fn read<R: io::Read>(reader: &mut R, args: (&'a ES, &'b SP)) -> Result<Self, DecodeError> {
41804180
macro_rules! unwrap_obj {
41814181
($key: expr) => {

lightning/src/events/bump_transaction.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@ impl Utxo {
402402
}
403403

404404
/// Returns a `Utxo` with the `satisfaction_weight` estimate for a P2WPKH nested in P2SH output.
405+
///
406+
/// This is not exported to bindings users as WPubkeyHash is not yet exported
405407
pub fn new_nested_p2wpkh(outpoint: OutPoint, value: u64, pubkey_hash: &WPubkeyHash) -> Self {
406408
let script_sig_size = 1 /* script_sig length */ +
407409
1 /* OP_0 */ +
@@ -418,6 +420,8 @@ impl Utxo {
418420
}
419421

420422
/// Returns a `Utxo` with the `satisfaction_weight` estimate for a SegWit v0 P2WPKH output.
423+
///
424+
/// This is not exported to bindings users as WPubkeyHash is not yet exported
421425
pub fn new_v0_p2wpkh(outpoint: OutPoint, value: u64, pubkey_hash: &WPubkeyHash) -> Self {
422426
Self {
423427
outpoint,

lightning/src/ln/channel.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5091,7 +5091,7 @@ impl<SP: Deref> Channel<SP> where
50915091
return None;
50925092
}
50935093
};
5094-
let our_node_sig = match node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(&announcement)) {
5094+
let our_node_sig = match node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(announcement.clone())) {
50955095
Err(_) => {
50965096
log_error!(logger, "Failed to generate node signature for channel_announcement. Channel will not be announced!");
50975097
return None;
@@ -5134,7 +5134,7 @@ impl<SP: Deref> Channel<SP> where
51345134
.map_err(|_| ChannelError::Ignore("Signer failed to retrieve own public key".to_owned()))?);
51355135
let were_node_one = announcement.node_id_1 == our_node_key;
51365136

5137-
let our_node_sig = node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(&announcement))
5137+
let our_node_sig = node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelAnnouncement(announcement.clone()))
51385138
.map_err(|_| ChannelError::Ignore("Failed to generate node signature for channel_announcement".to_owned()))?;
51395139
match &self.context.holder_signer {
51405140
ChannelSignerType::Ecdsa(ecdsa) => {

lightning/src/ln/channelmanager.rs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ use core::time::Duration;
7777
use core::ops::Deref;
7878

7979
// Re-export this for use in the public API.
80-
pub use crate::ln::outbound_payment::{PaymentSendFailure, ProbeSendFailure, Retry, RetryableSendFailure, RecipientOnionFields};
80+
pub(crate) use crate::ln::outbound_payment::{PaymentSendFailure, ProbeSendFailure, Retry, RetryableSendFailure, RecipientOnionFields};
8181
use crate::ln::script::ShutdownScript;
8282

8383
// We hold various information about HTLC relay in the HTLC objects in Channel itself:
@@ -792,7 +792,8 @@ struct PendingInboundPayment {
792792
/// or, respectively, [`Router`] for its router, but this type alias chooses the concrete types
793793
/// of [`KeysManager`] and [`DefaultRouter`].
794794
///
795-
/// This is not exported to bindings users as Arcs don't make sense in bindings
795+
/// This is not exported to bindings users as type aliases aren't supported in most languages
796+
#[cfg(not(c_bindings))]
796797
pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
797798
Arc<M>,
798799
Arc<T>,
@@ -804,8 +805,6 @@ pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
804805
Arc<NetworkGraph<Arc<L>>>,
805806
Arc<L>,
806807
Arc<RwLock<ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>>>,
807-
ProbabilisticScoringFeeParameters,
808-
ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>,
809808
>>,
810809
Arc<L>
811810
>;
@@ -820,7 +819,8 @@ pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
820819
/// or, respectively, [`Router`] for its router, but this type alias chooses the concrete types
821820
/// of [`KeysManager`] and [`DefaultRouter`].
822821
///
823-
/// This is not exported to bindings users as Arcs don't make sense in bindings
822+
/// This is not exported to bindings users as type aliases aren't supported in most languages
823+
#[cfg(not(c_bindings))]
824824
pub type SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L> =
825825
ChannelManager<
826826
&'a M,
@@ -833,8 +833,6 @@ pub type SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L> =
833833
&'f NetworkGraph<&'g L>,
834834
&'g L,
835835
&'h RwLock<ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>>,
836-
ProbabilisticScoringFeeParameters,
837-
ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>
838836
>,
839837
&'g L
840838
>;
@@ -3345,7 +3343,7 @@ where
33453343
// If we returned an error and the `node_signer` cannot provide a signature for whatever
33463344
// reason`, we wouldn't be able to receive inbound payments through the corresponding
33473345
// channel.
3348-
let sig = self.node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelUpdate(&unsigned)).unwrap();
3346+
let sig = self.node_signer.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelUpdate(unsigned.clone())).unwrap();
33493347

33503348
Ok(msgs::ChannelUpdate {
33513349
signature: sig,
@@ -3984,7 +3982,7 @@ where
39843982
/// [`ChannelUnavailable`]: APIError::ChannelUnavailable
39853983
/// [`APIMisuseError`]: APIError::APIMisuseError
39863984
pub fn update_partial_channel_config(
3987-
&self, counterparty_node_id: &PublicKey, channel_ids: &[ChannelId], config_update: &ChannelConfigUpdate,
3985+
&self, counterparty_node_id: &PublicKey, channel_ids: Vec<ChannelId>, config_update: &ChannelConfigUpdate,
39883986
) -> Result<(), APIError> {
39893987
if config_update.cltv_expiry_delta.map(|delta| delta < MIN_CLTV_EXPIRY_DELTA).unwrap_or(false) {
39903988
return Err(APIError::APIMisuseError {
@@ -3998,14 +3996,14 @@ where
39983996
.ok_or_else(|| APIError::ChannelUnavailable { err: format!("Can't find a peer matching the passed counterparty node_id {}", counterparty_node_id) })?;
39993997
let mut peer_state_lock = peer_state_mutex.lock().unwrap();
40003998
let peer_state = &mut *peer_state_lock;
4001-
for channel_id in channel_ids {
3999+
for channel_id in channel_ids.iter() {
40024000
if !peer_state.has_channel(channel_id) {
40034001
return Err(APIError::ChannelUnavailable {
40044002
err: format!("Channel with ID {} was not found for the passed counterparty_node_id {}", channel_id, counterparty_node_id),
40054003
});
40064004
};
40074005
}
4008-
for channel_id in channel_ids {
4006+
for channel_id in channel_ids.iter() {
40094007
if let Some(channel_phase) = peer_state.channel_by_id.get_mut(channel_id) {
40104008
let mut config = channel_phase.context().config();
40114009
config.apply(config_update);
@@ -4059,7 +4057,7 @@ where
40594057
/// [`ChannelUnavailable`]: APIError::ChannelUnavailable
40604058
/// [`APIMisuseError`]: APIError::APIMisuseError
40614059
pub fn update_channel_config(
4062-
&self, counterparty_node_id: &PublicKey, channel_ids: &[ChannelId], config: &ChannelConfig,
4060+
&self, counterparty_node_id: &PublicKey, channel_ids: Vec<ChannelId>, config: &ChannelConfig,
40634061
) -> Result<(), APIError> {
40644062
return self.update_partial_channel_config(counterparty_node_id, channel_ids, &(*config).into());
40654063
}

lightning/src/ln/features.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@ pub struct Features<T: sealed::Context> {
435435
mark: PhantomData<T>,
436436
}
437437

438+
/// This is not exported to bindings users but probably should be.
438439
impl<T: sealed::Context, Rhs: Borrow<Self>> core::ops::BitOrAssign<Rhs> for Features<T> {
439440
fn bitor_assign(&mut self, rhs: Rhs) {
440441
let total_feature_len = cmp::max(self.flags.len(), rhs.borrow().flags.len());
@@ -445,6 +446,7 @@ impl<T: sealed::Context, Rhs: Borrow<Self>> core::ops::BitOrAssign<Rhs> for Feat
445446
}
446447
}
447448

449+
/// This is not exported to bindings users but probably should be.
448450
impl<T: sealed::Context> core::ops::BitOr for Features<T> {
449451
type Output = Self;
450452

lightning/src/ln/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub(crate) mod channel;
3636
pub use channel_id::ChannelId;
3737

3838
pub(crate) mod onion_utils;
39-
mod outbound_payment;
39+
pub mod outbound_payment;
4040
pub mod wire;
4141

4242
// Older rustc (which we support) refuses to let us call the get_payment_preimage_hash!() macro

lightning/src/ln/msgs.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,16 +1011,17 @@ impl FromStr for SocketAddress {
10111011
}
10121012

10131013
/// Represents the set of gossip messages that require a signature from a node's identity key.
1014-
pub enum UnsignedGossipMessage<'a> {
1014+
#[derive(Clone)]
1015+
pub enum UnsignedGossipMessage {
10151016
/// An unsigned channel announcement.
1016-
ChannelAnnouncement(&'a UnsignedChannelAnnouncement),
1017+
ChannelAnnouncement(UnsignedChannelAnnouncement),
10171018
/// An unsigned channel update.
1018-
ChannelUpdate(&'a UnsignedChannelUpdate),
1019+
ChannelUpdate(UnsignedChannelUpdate),
10191020
/// An unsigned node announcement.
1020-
NodeAnnouncement(&'a UnsignedNodeAnnouncement)
1021+
NodeAnnouncement(UnsignedNodeAnnouncement)
10211022
}
10221023

1023-
impl<'a> Writeable for UnsignedGossipMessage<'a> {
1024+
impl Writeable for UnsignedGossipMessage {
10241025
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), io::Error> {
10251026
match self {
10261027
UnsignedGossipMessage::ChannelAnnouncement(ref msg) => msg.write(writer),

lightning/src/ln/peer_handler.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@ use crate::ln::ChannelId;
2424
use crate::ln::features::{InitFeatures, NodeFeatures};
2525
use crate::ln::msgs;
2626
use crate::ln::msgs::{ChannelMessageHandler, LightningError, SocketAddress, OnionMessageHandler, RoutingMessageHandler};
27+
#[cfg(not(c_bindings))]
2728
use crate::ln::channelmanager::{SimpleArcChannelManager, SimpleRefChannelManager};
2829
use crate::util::ser::{VecWriter, Writeable, Writer};
2930
use crate::ln::peer_channel_encryptor::{PeerChannelEncryptor,NextNoiseStep};
3031
use crate::ln::wire;
3132
use crate::ln::wire::{Encode, Type};
32-
use crate::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, OffersMessage, OffersMessageHandler, SimpleArcOnionMessenger, SimpleRefOnionMessenger};
33+
use crate::onion_message::packet::CustomOnionMessageContents;
34+
use crate::onion_message::{CustomOnionMessageHandler, OffersMessage, OffersMessageHandler, SimpleArcOnionMessenger, SimpleRefOnionMessenger};
3335
use crate::routing::gossip::{NetworkGraph, P2PGossipSync, NodeId, NodeAlias};
3436
use crate::util::atomic_counter::AtomicCounter;
3537
use crate::util::logger::Logger;
@@ -607,7 +609,8 @@ impl Peer {
607609
/// SimpleRefPeerManager is the more appropriate type. Defining these type aliases prevents
608610
/// issues such as overly long function definitions.
609611
///
610-
/// This is not exported to bindings users as `Arc`s don't make sense in bindings.
612+
/// This is not exported to bindings users as type aliases aren't supported in most languages.
613+
#[cfg(not(c_bindings))]
611614
pub type SimpleArcPeerManager<SD, M, T, F, C, L> = PeerManager<
612615
SD,
613616
Arc<SimpleArcChannelManager<M, T, F, L>>,
@@ -625,7 +628,8 @@ pub type SimpleArcPeerManager<SD, M, T, F, C, L> = PeerManager<
625628
/// But if this is not necessary, using a reference is more efficient. Defining these type aliases
626629
/// helps with issues such as long function definitions.
627630
///
628-
/// This is not exported to bindings users as general type aliases don't make sense in bindings.
631+
/// This is not exported to bindings users as type aliases aren't supported in most languages.
632+
#[cfg(not(c_bindings))]
629633
pub type SimpleRefPeerManager<
630634
'a, 'b, 'c, 'd, 'e, 'f, 'logger, 'h, 'i, 'j, 'graph, SD, M, T, F, C, L
631635
> = PeerManager<
@@ -2445,7 +2449,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
24452449
excess_data: Vec::new(),
24462450
};
24472451
let node_announce_sig = match self.node_signer.sign_gossip_message(
2448-
msgs::UnsignedGossipMessage::NodeAnnouncement(&announcement)
2452+
msgs::UnsignedGossipMessage::NodeAnnouncement(announcement.clone())
24492453
) {
24502454
Ok(sig) => sig,
24512455
Err(_) => {

lightning/src/ln/priv_short_conf_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ fn test_scid_alias_returned() {
516516
fee_proportional_millionths: last_hop[0].counterparty.forwarding_info.as_ref().unwrap().fee_proportional_millionths,
517517
excess_data: Vec::new(),
518518
};
519-
let signature = nodes[1].keys_manager.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelUpdate(&contents)).unwrap();
519+
let signature = nodes[1].keys_manager.sign_gossip_message(msgs::UnsignedGossipMessage::ChannelUpdate(contents.clone())).unwrap();
520520
let msg = msgs::ChannelUpdate { signature, contents };
521521

522522
let mut err_data = Vec::new();

0 commit comments

Comments
 (0)