@@ -6381,11 +6381,23 @@ where
6381
6381
let _ = handle_error ! ( self , self . internal_open_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
6382
6382
}
6383
6383
6384
+ fn handle_open_channel_v2 ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: OpenChannelV2 ) {
6385
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6386
+ "Dual-funded channels not supported" . to_owned( ) ,
6387
+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
6388
+ }
6389
+
6384
6390
fn handle_accept_channel ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: AcceptChannel ) {
6385
6391
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
6386
6392
let _ = handle_error ! ( self , self . internal_accept_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
6387
6393
}
6388
6394
6395
+ fn handle_accept_channel_v2 ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: AcceptChannelV2 ) {
6396
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6397
+ "Dual-funded channels not supported" . to_owned( ) ,
6398
+ msg. temporary_channel_id. clone( ) ) ) , * counterparty_node_id) ;
6399
+ }
6400
+
6389
6401
fn handle_funding_created ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: FundingCreated ) {
6390
6402
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
6391
6403
let _ = handle_error ! ( self , self . internal_funding_created( counterparty_node_id, msg) , * counterparty_node_id) ;
@@ -6488,23 +6500,40 @@ where
6488
6500
} ) ;
6489
6501
pending_msg_events. retain ( |msg| {
6490
6502
match msg {
6503
+ // V1 Channel Establishment
6491
6504
& events:: MessageSendEvent :: SendAcceptChannel { .. } => false ,
6492
6505
& events:: MessageSendEvent :: SendOpenChannel { .. } => false ,
6493
6506
& events:: MessageSendEvent :: SendFundingCreated { .. } => false ,
6494
6507
& events:: MessageSendEvent :: SendFundingSigned { .. } => false ,
6508
+ // V2 Channel Establishment
6509
+ & events:: MessageSendEvent :: SendAcceptChannelV2 { .. } => false ,
6510
+ & events:: MessageSendEvent :: SendOpenChannelV2 { .. } => false ,
6511
+ // Common Channel Establishment
6495
6512
& events:: MessageSendEvent :: SendChannelReady { .. } => false ,
6496
6513
& events:: MessageSendEvent :: SendAnnouncementSignatures { .. } => false ,
6514
+ // Interactive Transaction Construction
6515
+ & events:: MessageSendEvent :: SendTxAddInput { .. } => false ,
6516
+ & events:: MessageSendEvent :: SendTxAddOutput { .. } => false ,
6517
+ & events:: MessageSendEvent :: SendTxRemoveInput { .. } => false ,
6518
+ & events:: MessageSendEvent :: SendTxRemoveOutput { .. } => false ,
6519
+ & events:: MessageSendEvent :: SendTxComplete { .. } => false ,
6520
+ & events:: MessageSendEvent :: SendTxSignatures { .. } => false ,
6521
+ & events:: MessageSendEvent :: SendTxInitRbf { .. } => false ,
6522
+ & events:: MessageSendEvent :: SendTxAckRbf { .. } => false ,
6523
+ & events:: MessageSendEvent :: SendTxAbort { .. } => false ,
6524
+ // Channel Operations
6497
6525
& events:: MessageSendEvent :: UpdateHTLCs { .. } => false ,
6498
6526
& events:: MessageSendEvent :: SendRevokeAndACK { .. } => false ,
6499
6527
& events:: MessageSendEvent :: SendClosingSigned { .. } => false ,
6500
6528
& events:: MessageSendEvent :: SendShutdown { .. } => false ,
6501
6529
& events:: MessageSendEvent :: SendChannelReestablish { .. } => false ,
6530
+ & events:: MessageSendEvent :: HandleError { .. } => false ,
6531
+ // Gossip
6502
6532
& events:: MessageSendEvent :: SendChannelAnnouncement { .. } => false ,
6503
6533
& events:: MessageSendEvent :: BroadcastChannelAnnouncement { .. } => true ,
6504
6534
& events:: MessageSendEvent :: BroadcastChannelUpdate { .. } => true ,
6505
6535
& events:: MessageSendEvent :: BroadcastNodeAnnouncement { .. } => true ,
6506
6536
& events:: MessageSendEvent :: SendChannelUpdate { .. } => false ,
6507
- & events:: MessageSendEvent :: HandleError { .. } => false ,
6508
6537
& events:: MessageSendEvent :: SendChannelRangeQuery { .. } => false ,
6509
6538
& events:: MessageSendEvent :: SendShortIdsQuery { .. } => false ,
6510
6539
& events:: MessageSendEvent :: SendReplyChannelRange { .. } => false ,
@@ -6661,6 +6690,60 @@ where
6661
6690
fn provided_init_features ( & self , _their_init_features : & PublicKey ) -> InitFeatures {
6662
6691
provided_init_features ( & self . default_configuration )
6663
6692
}
6693
+
6694
+ fn handle_tx_add_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddInput ) {
6695
+ let _: Result < ( ) , _ > = handle_error ! ( self , Err ( MsgHandleErrInternal :: send_err_msg_no_close(
6696
+ "Dual-funded channels not supported" . to_owned( ) ,
6697
+ msg. channel_id. clone( ) ) ) , * counterparty_node_id) ;
6698
+ }
6699
+
6700
+ fn handle_tx_add_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAddOutput ) {
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_remove_input ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveInput ) {
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_output ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxRemoveOutput ) {
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_complete ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxComplete ) {
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_signatures ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxSignatures ) {
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_init_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxInitRbf ) {
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_ack_rbf ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAckRbf ) {
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_abort ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: TxAbort ) {
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
+ }
6664
6747
}
6665
6748
6666
6749
/// Fetches the set of [`NodeFeatures`] flags which are provided by or required by
0 commit comments