Skip to content

Commit 45d8d8d

Browse files
committed
Add counterparty_node_id to ChannelClosed and ChannelReady events
1 parent 4270eef commit 45d8d8d

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

bindings/ldk_node.udl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ interface Event {
142142
PaymentFailed( PaymentHash payment_hash );
143143
PaymentReceived( PaymentHash payment_hash, u64 amount_msat);
144144
ChannelPending ( ChannelId channel_id, UserChannelId user_channel_id, ChannelId former_temporary_channel_id, PublicKey counterparty_node_id, OutPoint funding_txo );
145-
ChannelReady ( ChannelId channel_id, UserChannelId user_channel_id );
146-
ChannelClosed ( ChannelId channel_id, UserChannelId user_channel_id );
145+
ChannelReady ( ChannelId channel_id, UserChannelId user_channel_id, PublicKey? counterparty_node_id );
146+
ChannelClosed ( ChannelId channel_id, UserChannelId user_channel_id, PublicKey? counterparty_node_id );
147147
};
148148

149149
enum PaymentDirection {

src/event.rs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,21 @@ pub enum Event {
6868
channel_id: ChannelId,
6969
/// The `user_channel_id` of the channel.
7070
user_channel_id: UserChannelId,
71+
/// The `node_id` of the channel counterparty.
72+
///
73+
/// This will be `None` for events serialized by LDK Node XXX TODO and prior.
74+
counterparty_node_id: Option<PublicKey>,
7175
},
7276
/// A channel has been closed.
7377
ChannelClosed {
7478
/// The `channel_id` of the channel.
7579
channel_id: ChannelId,
7680
/// The `user_channel_id` of the channel.
7781
user_channel_id: UserChannelId,
82+
/// The `node_id` of the channel counterparty.
83+
///
84+
/// This will be `None` for events serialized by LDK Node XXX TODO and prior.
85+
counterparty_node_id: Option<PublicKey>,
7886
},
7987
}
8088

@@ -91,6 +99,7 @@ impl_writeable_tlv_based_enum!(Event,
9199
},
92100
(3, ChannelReady) => {
93101
(0, channel_id, required),
102+
(1, counterparty_node_id, option),
94103
(2, user_channel_id, required),
95104
},
96105
(4, ChannelPending) => {
@@ -102,6 +111,7 @@ impl_writeable_tlv_based_enum!(Event,
102111
},
103112
(5, ChannelClosed) => {
104113
(0, channel_id, required),
114+
(1, counterparty_node_id, option),
105115
(2, user_channel_id, required),
106116
};
107117
);
@@ -735,13 +745,20 @@ where
735745
.add_event(Event::ChannelReady {
736746
channel_id: ChannelId(channel_id),
737747
user_channel_id: UserChannelId(user_channel_id),
748+
counterparty_node_id: Some(counterparty_node_id),
738749
})
739750
.unwrap_or_else(|e| {
740751
log_error!(self.logger, "Failed to push to event queue: {}", e);
741752
panic!("Failed to push to event queue");
742753
});
743754
}
744-
LdkEvent::ChannelClosed { channel_id, reason, user_channel_id } => {
755+
LdkEvent::ChannelClosed {
756+
channel_id,
757+
reason,
758+
user_channel_id,
759+
counterparty_node_id,
760+
..
761+
} => {
745762
log_info!(
746763
self.logger,
747764
"Channel {} closed due to: {:?}",
@@ -752,6 +769,7 @@ where
752769
.add_event(Event::ChannelClosed {
753770
channel_id: ChannelId(channel_id),
754771
user_channel_id: UserChannelId(user_channel_id),
772+
counterparty_node_id,
755773
})
756774
.unwrap_or_else(|e| {
757775
log_error!(self.logger, "Failed to push to event queue: {}", e);
@@ -780,6 +798,7 @@ mod tests {
780798
let expected_event = Event::ChannelReady {
781799
channel_id: ChannelId([23u8; 32]),
782800
user_channel_id: UserChannelId(2323),
801+
counterparty_node_id: None,
783802
};
784803
event_queue.add_event(expected_event.clone()).unwrap();
785804
assert!(store.get_and_clear_did_persist());

0 commit comments

Comments
 (0)