@@ -6367,11 +6367,23 @@ where
63676367 let _ = handle_error ! ( self , self . internal_open_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
63686368 }
63696369
6370+ fn handle_open_channel_v2 ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: OpenChannelV2 ) {
6371+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6372+ "Dual-funded channels not supported" . to_owned( ) ,
6373+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
6374+ }
6375+
63706376 fn handle_accept_channel ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: AcceptChannel ) {
63716377 let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
63726378 let _ = handle_error ! ( self , self . internal_accept_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
63736379 }
63746380
6381+ fn handle_accept_channel_v2 ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: AcceptChannelV2 ) {
6382+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6383+ "Dual-funded channels not supported" . to_owned( ) ,
6384+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
6385+ }
6386+
63756387 fn handle_funding_created ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: FundingCreated ) {
63766388 let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
63776389 let _ = handle_error ! ( self , self . internal_funding_created( counterparty_node_id, msg) , * counterparty_node_id) ;
@@ -6474,23 +6486,40 @@ where
64746486 } ) ;
64756487 pending_msg_events. retain ( |msg| {
64766488 match msg {
6489+ // V1 Channel Establishment
64776490 & events:: MessageSendEvent :: SendAcceptChannel { .. } => false ,
64786491 & events:: MessageSendEvent :: SendOpenChannel { .. } => false ,
64796492 & events:: MessageSendEvent :: SendFundingCreated { .. } => false ,
64806493 & events:: MessageSendEvent :: SendFundingSigned { .. } => false ,
6494+ // V2 Channel Establishment
6495+ & events:: MessageSendEvent :: SendAcceptChannelV2 { .. } => false ,
6496+ & events:: MessageSendEvent :: SendOpenChannelV2 { .. } => false ,
6497+ // Common Channel Establishment
64816498 & events:: MessageSendEvent :: SendChannelReady { .. } => false ,
64826499 & events:: MessageSendEvent :: SendAnnouncementSignatures { .. } => false ,
6500+ // Interactive Transaction Construction
6501+ & events:: MessageSendEvent :: SendTxAddInput { .. } => false ,
6502+ & events:: MessageSendEvent :: SendTxAddOutput { .. } => false ,
6503+ & events:: MessageSendEvent :: SendTxRemoveInput { .. } => false ,
6504+ & events:: MessageSendEvent :: SendTxRemoveOutput { .. } => false ,
6505+ & events:: MessageSendEvent :: SendTxComplete { .. } => false ,
6506+ & events:: MessageSendEvent :: SendTxSignatures { .. } => false ,
6507+ & events:: MessageSendEvent :: SendTxInitRbf { .. } => false ,
6508+ & events:: MessageSendEvent :: SendTxAckRbf { .. } => false ,
6509+ & events:: MessageSendEvent :: SendTxAbort { .. } => false ,
6510+ // Channel Operations
64836511 & events:: MessageSendEvent :: UpdateHTLCs { .. } => false ,
64846512 & events:: MessageSendEvent :: SendRevokeAndACK { .. } => false ,
64856513 & events:: MessageSendEvent :: SendClosingSigned { .. } => false ,
64866514 & events:: MessageSendEvent :: SendShutdown { .. } => false ,
64876515 & events:: MessageSendEvent :: SendChannelReestablish { .. } => false ,
6516+ & events:: MessageSendEvent :: HandleError { .. } => false ,
6517+ // Gossip
64886518 & events:: MessageSendEvent :: SendChannelAnnouncement { .. } => false ,
64896519 & events:: MessageSendEvent :: BroadcastChannelAnnouncement { .. } => true ,
64906520 & events:: MessageSendEvent :: BroadcastChannelUpdate { .. } => true ,
64916521 & events:: MessageSendEvent :: BroadcastNodeAnnouncement { .. } => true ,
64926522 & events:: MessageSendEvent :: SendChannelUpdate { .. } => false ,
6493- & events:: MessageSendEvent :: HandleError { .. } => false ,
64946523 & events:: MessageSendEvent :: SendChannelRangeQuery { .. } => false ,
64956524 & events:: MessageSendEvent :: SendShortIdsQuery { .. } => false ,
64966525 & events:: MessageSendEvent :: SendReplyChannelRange { .. } => false ,
@@ -6647,6 +6676,60 @@ where
66476676 fn provided_init_features ( & self , _their_init_features : & PublicKey ) -> InitFeatures {
66486677 provided_init_features ( & self . default_configuration )
66496678 }
6679+
6680+ fn handle_tx_add_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddInput ) {
6681+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6682+ "Dual-funded channels not supported" . to_owned( ) ,
6683+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6684+ }
6685+
6686+ fn handle_tx_add_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddOutput ) {
6687+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6688+ "Dual-funded channels not supported" . to_owned( ) ,
6689+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6690+ }
6691+
6692+ fn handle_tx_remove_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveInput ) {
6693+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6694+ "Dual-funded channels not supported" . to_owned( ) ,
6695+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6696+ }
6697+
6698+ fn handle_tx_remove_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveOutput ) {
6699+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6700+ "Dual-funded channels not supported" . to_owned( ) ,
6701+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6702+ }
6703+
6704+ fn handle_tx_complete ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxComplete ) {
6705+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6706+ "Dual-funded channels not supported" . to_owned( ) ,
6707+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6708+ }
6709+
6710+ fn handle_tx_signatures ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxSignatures ) {
6711+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6712+ "Dual-funded channels not supported" . to_owned( ) ,
6713+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6714+ }
6715+
6716+ fn handle_tx_init_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxInitRbf ) {
6717+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6718+ "Dual-funded channels not supported" . to_owned( ) ,
6719+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6720+ }
6721+
6722+ fn handle_tx_ack_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAckRbf ) {
6723+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6724+ "Dual-funded channels not supported" . to_owned( ) ,
6725+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6726+ }
6727+
6728+ fn handle_tx_abort ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAbort ) {
6729+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6730+ "Dual-funded channels not supported" . to_owned( ) ,
6731+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6732+ }
66506733}
66516734
66526735/// Fetches the set of [`NodeFeatures`] flags which are provided by or required by
0 commit comments