@@ -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