@@ -6387,11 +6387,23 @@ where
6387
6387
let _ = handle_error ! ( self , self . internal_open_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
6388
6388
}
6389
6389
6390
+ fn handle_open_channel_v2 ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: OpenChannelV2 ) {
6391
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6392
+ "Dual-funded channels not supported" . to_owned( ) ,
6393
+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
6394
+ }
6395
+
6390
6396
fn handle_accept_channel ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: AcceptChannel ) {
6391
6397
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
6392
6398
let _ = handle_error ! ( self , self . internal_accept_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
6393
6399
}
6394
6400
6401
+ fn handle_accept_channel_v2 ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: AcceptChannelV2 ) {
6402
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6403
+ "Dual-funded channels not supported" . to_owned( ) ,
6404
+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
6405
+ }
6406
+
6395
6407
fn handle_funding_created ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: FundingCreated ) {
6396
6408
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
6397
6409
let _ = handle_error ! ( self , self . internal_funding_created( counterparty_node_id, msg) , * counterparty_node_id) ;
@@ -6494,23 +6506,40 @@ where
6494
6506
} ) ;
6495
6507
pending_msg_events. retain ( |msg| {
6496
6508
match msg {
6509
+ // V1 Channel Establishment
6497
6510
& events:: MessageSendEvent :: SendAcceptChannel { .. } => false ,
6498
6511
& events:: MessageSendEvent :: SendOpenChannel { .. } => false ,
6499
6512
& events:: MessageSendEvent :: SendFundingCreated { .. } => false ,
6500
6513
& events:: MessageSendEvent :: SendFundingSigned { .. } => false ,
6514
+ // V2 Channel Establishment
6515
+ & events:: MessageSendEvent :: SendAcceptChannelV2 { .. } => false ,
6516
+ & events:: MessageSendEvent :: SendOpenChannelV2 { .. } => false ,
6517
+ // Common Channel Establishment
6501
6518
& events:: MessageSendEvent :: SendChannelReady { .. } => false ,
6502
6519
& events:: MessageSendEvent :: SendAnnouncementSignatures { .. } => false ,
6520
+ // Interactive Transaction Construction
6521
+ & events:: MessageSendEvent :: SendTxAddInput { .. } => false ,
6522
+ & events:: MessageSendEvent :: SendTxAddOutput { .. } => false ,
6523
+ & events:: MessageSendEvent :: SendTxRemoveInput { .. } => false ,
6524
+ & events:: MessageSendEvent :: SendTxRemoveOutput { .. } => false ,
6525
+ & events:: MessageSendEvent :: SendTxComplete { .. } => false ,
6526
+ & events:: MessageSendEvent :: SendTxSignatures { .. } => false ,
6527
+ & events:: MessageSendEvent :: SendTxInitRbf { .. } => false ,
6528
+ & events:: MessageSendEvent :: SendTxAckRbf { .. } => false ,
6529
+ & events:: MessageSendEvent :: SendTxAbort { .. } => false ,
6530
+ // Channel Operations
6503
6531
& events:: MessageSendEvent :: UpdateHTLCs { .. } => false ,
6504
6532
& events:: MessageSendEvent :: SendRevokeAndACK { .. } => false ,
6505
6533
& events:: MessageSendEvent :: SendClosingSigned { .. } => false ,
6506
6534
& events:: MessageSendEvent :: SendShutdown { .. } => false ,
6507
6535
& events:: MessageSendEvent :: SendChannelReestablish { .. } => false ,
6536
+ & events:: MessageSendEvent :: HandleError { .. } => false ,
6537
+ // Gossip
6508
6538
& events:: MessageSendEvent :: SendChannelAnnouncement { .. } => false ,
6509
6539
& events:: MessageSendEvent :: BroadcastChannelAnnouncement { .. } => true ,
6510
6540
& events:: MessageSendEvent :: BroadcastChannelUpdate { .. } => true ,
6511
6541
& events:: MessageSendEvent :: BroadcastNodeAnnouncement { .. } => true ,
6512
6542
& events:: MessageSendEvent :: SendChannelUpdate { .. } => false ,
6513
- & events:: MessageSendEvent :: HandleError { .. } => false ,
6514
6543
& events:: MessageSendEvent :: SendChannelRangeQuery { .. } => false ,
6515
6544
& events:: MessageSendEvent :: SendShortIdsQuery { .. } => false ,
6516
6545
& events:: MessageSendEvent :: SendReplyChannelRange { .. } => false ,
@@ -6667,6 +6696,60 @@ where
6667
6696
fn provided_init_features ( & self , _their_init_features : & PublicKey ) -> InitFeatures {
6668
6697
provided_init_features ( & self . default_configuration )
6669
6698
}
6699
+
6700
+ fn handle_tx_add_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddInput ) {
6701
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6702
+ "Dual-funded channels not supported" . to_owned( ) ,
6703
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6704
+ }
6705
+
6706
+ fn handle_tx_add_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddOutput ) {
6707
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6708
+ "Dual-funded channels not supported" . to_owned( ) ,
6709
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6710
+ }
6711
+
6712
+ fn handle_tx_remove_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveInput ) {
6713
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6714
+ "Dual-funded channels not supported" . to_owned( ) ,
6715
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6716
+ }
6717
+
6718
+ fn handle_tx_remove_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveOutput ) {
6719
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6720
+ "Dual-funded channels not supported" . to_owned( ) ,
6721
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6722
+ }
6723
+
6724
+ fn handle_tx_complete ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxComplete ) {
6725
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6726
+ "Dual-funded channels not supported" . to_owned( ) ,
6727
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6728
+ }
6729
+
6730
+ fn handle_tx_signatures ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxSignatures ) {
6731
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6732
+ "Dual-funded channels not supported" . to_owned( ) ,
6733
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6734
+ }
6735
+
6736
+ fn handle_tx_init_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxInitRbf ) {
6737
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6738
+ "Dual-funded channels not supported" . to_owned( ) ,
6739
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6740
+ }
6741
+
6742
+ fn handle_tx_ack_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAckRbf ) {
6743
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6744
+ "Dual-funded channels not supported" . to_owned( ) ,
6745
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6746
+ }
6747
+
6748
+ fn handle_tx_abort ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAbort ) {
6749
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6750
+ "Dual-funded channels not supported" . to_owned( ) ,
6751
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6752
+ }
6670
6753
}
6671
6754
6672
6755
/// Fetches the set of [`NodeFeatures`] flags which are provided by or required by
0 commit comments