File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -489,6 +489,34 @@ impl InteractiveTxConstructor {
489
489
self . handle_negotiating_send ( |state_machine| state_machine. send_tx_remove_output ( serial_id) )
490
490
}
491
491
492
+ fn send_tx_complete ( & mut self ) {
493
+ let mut mode = core:: mem:: take ( & mut self . mode ) ;
494
+ self . mode = match mode {
495
+ ChannelMode :: Negotiating ( c) => { ChannelMode :: OurTxComplete ( c. send_tx_complete ( ) ) }
496
+ ChannelMode :: TheirTxComplete ( c) => { ChannelMode :: NegotiationComplete ( c. send_tx_complete ( ) ) }
497
+ _ => mode
498
+ }
499
+ }
500
+
501
+ fn receive_tx_complete ( & mut self ) {
502
+ let mut mode = core:: mem:: take ( & mut self . mode ) ;
503
+ self . mode = match mode {
504
+ ChannelMode :: Negotiating ( c) => {
505
+ match c. receive_tx_complete ( ) {
506
+ Ok ( c) => ChannelMode :: TheirTxComplete ( c) ,
507
+ Err ( c) => ChannelMode :: NegotiationAborted ( c)
508
+ }
509
+ }
510
+ ChannelMode :: OurTxComplete ( c) => {
511
+ match c. receive_tx_complete ( ) {
512
+ Ok ( c) => ChannelMode :: NegotiationComplete ( c) ,
513
+ Err ( c) => ChannelMode :: NegotiationAborted ( c)
514
+ }
515
+ }
516
+ _ => mode
517
+ }
518
+ }
519
+
492
520
fn handle_negotiating_receive < F > ( & mut self , f : F )
493
521
where F : FnOnce ( InteractiveTxStateMachine < Negotiating > ) -> Result < InteractiveTxStateMachine < Negotiating > , InteractiveTxStateMachine < NegotiationAborted > > {
494
522
// We use mem::take here because we want to update `self.mode` based on its value and
You can’t perform that action at this time.
0 commit comments