@@ -6367,11 +6367,23 @@ where
6367
6367
let _ = handle_error ! ( self , self . internal_open_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
6368
6368
}
6369
6369
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
+
6370
6376
fn handle_accept_channel ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: AcceptChannel ) {
6371
6377
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
6372
6378
let _ = handle_error ! ( self , self . internal_accept_channel( counterparty_node_id, msg) , * counterparty_node_id) ;
6373
6379
}
6374
6380
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
+
6375
6387
fn handle_funding_created ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: FundingCreated ) {
6376
6388
let _persistence_guard = PersistenceNotifierGuard :: notify_on_drop ( & self . total_consistency_lock , & self . persistence_notifier ) ;
6377
6389
let _ = handle_error ! ( self , self . internal_funding_created( counterparty_node_id, msg) , * counterparty_node_id) ;
@@ -6474,23 +6486,40 @@ where
6474
6486
} ) ;
6475
6487
pending_msg_events. retain ( |msg| {
6476
6488
match msg {
6489
+ // V1 Channel Establishment
6477
6490
& events:: MessageSendEvent :: SendAcceptChannel { .. } => false ,
6478
6491
& events:: MessageSendEvent :: SendOpenChannel { .. } => false ,
6479
6492
& events:: MessageSendEvent :: SendFundingCreated { .. } => false ,
6480
6493
& events:: MessageSendEvent :: SendFundingSigned { .. } => false ,
6494
+ // V2 Channel Establishment
6495
+ & events:: MessageSendEvent :: SendAcceptChannelV2 { .. } => false ,
6496
+ & events:: MessageSendEvent :: SendOpenChannelV2 { .. } => false ,
6497
+ // Common Channel Establishment
6481
6498
& events:: MessageSendEvent :: SendChannelReady { .. } => false ,
6482
6499
& 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
6483
6511
& events:: MessageSendEvent :: UpdateHTLCs { .. } => false ,
6484
6512
& events:: MessageSendEvent :: SendRevokeAndACK { .. } => false ,
6485
6513
& events:: MessageSendEvent :: SendClosingSigned { .. } => false ,
6486
6514
& events:: MessageSendEvent :: SendShutdown { .. } => false ,
6487
6515
& events:: MessageSendEvent :: SendChannelReestablish { .. } => false ,
6516
+ & events:: MessageSendEvent :: HandleError { .. } => false ,
6517
+ // Gossip
6488
6518
& events:: MessageSendEvent :: SendChannelAnnouncement { .. } => false ,
6489
6519
& events:: MessageSendEvent :: BroadcastChannelAnnouncement { .. } => true ,
6490
6520
& events:: MessageSendEvent :: BroadcastChannelUpdate { .. } => true ,
6491
6521
& events:: MessageSendEvent :: BroadcastNodeAnnouncement { .. } => true ,
6492
6522
& events:: MessageSendEvent :: SendChannelUpdate { .. } => false ,
6493
- & events:: MessageSendEvent :: HandleError { .. } => false ,
6494
6523
& events:: MessageSendEvent :: SendChannelRangeQuery { .. } => false ,
6495
6524
& events:: MessageSendEvent :: SendShortIdsQuery { .. } => false ,
6496
6525
& events:: MessageSendEvent :: SendReplyChannelRange { .. } => false ,
@@ -6647,6 +6676,60 @@ where
6647
6676
fn provided_init_features ( & self , _their_init_features : & PublicKey ) -> InitFeatures {
6648
6677
provided_init_features ( & self . default_configuration )
6649
6678
}
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
+ }
6650
6733
}
6651
6734
6652
6735
/// Fetches the set of [`NodeFeatures`] flags which are provided by or required by
0 commit comments