@@ -5923,11 +5923,23 @@ where
5923
5923
let _ = handle_error ! ( self , self . internal_open_channel( counterparty_node_id, their_features, msg) , * counterparty_node_id) ;
5924
5924
}
5925
5925
5926
+ fn handle_open_channel_v2 ( & self , counterparty_node_id : & PublicKey , _their_features : InitFeatures , msg : & msgs:: OpenChannelV2 ) {
5927
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
5928
+ "Dual-funded channels not supported" . to_owned( ) ,
5929
+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
5930
+ }
5931
+
5926
5932
fn handle_accept_channel ( & self , counterparty_node_id : & PublicKey , their_features : InitFeatures , msg : & msgs:: AcceptChannel ) {
5927
5933
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
5928
5934
let _ = handle_error ! ( self , self . internal_accept_channel( counterparty_node_id, their_features, msg) , * counterparty_node_id) ;
5929
5935
}
5930
5936
5937
+ fn handle_accept_channel_v2 ( & self , counterparty_node_id : & PublicKey , _their_features : InitFeatures , msg : & msgs:: AcceptChannelV2 ) {
5938
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
5939
+ "Dual-funded channels not supported" . to_owned( ) ,
5940
+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
5941
+ }
5942
+
5931
5943
fn handle_funding_created ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: FundingCreated ) {
5932
5944
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
5933
5945
let _ = handle_error ! ( self , self . internal_funding_created( counterparty_node_id, msg) , * counterparty_node_id) ;
@@ -6033,22 +6045,39 @@ where
6033
6045
} ) ;
6034
6046
pending_msg_events. retain ( |msg| {
6035
6047
match msg {
6048
+ // V1 Channel Establishment
6036
6049
& events:: MessageSendEvent :: SendAcceptChannel { .. } => false ,
6037
6050
& events:: MessageSendEvent :: SendOpenChannel { .. } => false ,
6038
6051
& events:: MessageSendEvent :: SendFundingCreated { .. } => false ,
6039
6052
& events:: MessageSendEvent :: SendFundingSigned { .. } => false ,
6053
+ // V2 Channel Establishment
6054
+ & events:: MessageSendEvent :: SendAcceptChannelV2 { .. } => false ,
6055
+ & events:: MessageSendEvent :: SendOpenChannelV2 { .. } => false ,
6056
+ // Common Channel Establishment
6040
6057
& events:: MessageSendEvent :: SendChannelReady { .. } => false ,
6041
6058
& events:: MessageSendEvent :: SendAnnouncementSignatures { .. } => false ,
6059
+ // Interactive Transaction Construction
6060
+ & events:: MessageSendEvent :: SendTxAddInput { .. } => false ,
6061
+ & events:: MessageSendEvent :: SendTxAddOutput { .. } => false ,
6062
+ & events:: MessageSendEvent :: SendTxRemoveInput { .. } => false ,
6063
+ & events:: MessageSendEvent :: SendTxRemoveOutput { .. } => false ,
6064
+ & events:: MessageSendEvent :: SendTxComplete { .. } => false ,
6065
+ & events:: MessageSendEvent :: SendTxSignatures { .. } => false ,
6066
+ & events:: MessageSendEvent :: SendTxInitRbf { .. } => false ,
6067
+ & events:: MessageSendEvent :: SendTxAckRbf { .. } => false ,
6068
+ & events:: MessageSendEvent :: SendTxAbort { .. } => false ,
6069
+ // Channel Operations
6042
6070
& events:: MessageSendEvent :: UpdateHTLCs { .. } => false ,
6043
6071
& events:: MessageSendEvent :: SendRevokeAndACK { .. } => false ,
6044
6072
& events:: MessageSendEvent :: SendClosingSigned { .. } => false ,
6045
6073
& events:: MessageSendEvent :: SendShutdown { .. } => false ,
6046
6074
& events:: MessageSendEvent :: SendChannelReestablish { .. } => false ,
6075
+ & events:: MessageSendEvent :: HandleError { .. } => false ,
6076
+ // Gossip
6047
6077
& events:: MessageSendEvent :: SendChannelAnnouncement { .. } => false ,
6048
6078
& events:: MessageSendEvent :: BroadcastChannelAnnouncement { .. } => true ,
6049
6079
& events:: MessageSendEvent :: BroadcastChannelUpdate { .. } => true ,
6050
6080
& events:: MessageSendEvent :: SendChannelUpdate { .. } => false ,
6051
- & events:: MessageSendEvent :: HandleError { .. } => false ,
6052
6081
& events:: MessageSendEvent :: SendChannelRangeQuery { .. } => false ,
6053
6082
& events:: MessageSendEvent :: SendShortIdsQuery { .. } => false ,
6054
6083
& events:: MessageSendEvent :: SendReplyChannelRange { .. } => false ,
@@ -6179,6 +6208,60 @@ where
6179
6208
fn provided_init_features ( & self , _their_init_features : & PublicKey ) -> InitFeatures {
6180
6209
provided_init_features ( )
6181
6210
}
6211
+
6212
+ fn handle_tx_add_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddInput ) {
6213
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6214
+ "Dual-funded channels not supported" . to_owned( ) ,
6215
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6216
+ }
6217
+
6218
+ fn handle_tx_add_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddOutput ) {
6219
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6220
+ "Dual-funded channels not supported" . to_owned( ) ,
6221
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6222
+ }
6223
+
6224
+ fn handle_tx_remove_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveInput ) {
6225
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6226
+ "Dual-funded channels not supported" . to_owned( ) ,
6227
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6228
+ }
6229
+
6230
+ fn handle_tx_remove_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveOutput ) {
6231
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6232
+ "Dual-funded channels not supported" . to_owned( ) ,
6233
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6234
+ }
6235
+
6236
+ fn handle_tx_complete ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxComplete ) {
6237
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6238
+ "Dual-funded channels not supported" . to_owned( ) ,
6239
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6240
+ }
6241
+
6242
+ fn handle_tx_signatures ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxSignatures ) {
6243
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6244
+ "Dual-funded channels not supported" . to_owned( ) ,
6245
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6246
+ }
6247
+
6248
+ fn handle_tx_init_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxInitRbf ) {
6249
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6250
+ "Dual-funded channels not supported" . to_owned( ) ,
6251
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6252
+ }
6253
+
6254
+ fn handle_tx_ack_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAckRbf ) {
6255
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6256
+ "Dual-funded channels not supported" . to_owned( ) ,
6257
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6258
+ }
6259
+
6260
+ fn handle_tx_abort ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAbort ) {
6261
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6262
+ "Dual-funded channels not supported" . to_owned( ) ,
6263
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6264
+ }
6182
6265
}
6183
6266
6184
6267
/// Fetches the set of [`NodeFeatures`] flags which are provided by or required by
0 commit comments