File tree 1 file changed +28
-0
lines changed
1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -493,6 +493,34 @@ impl InteractiveTxConstructor {
493
493
self . handle_negotiating_send ( |state_machine| state_machine. send_tx_remove_output ( serial_id) )
494
494
}
495
495
496
+ fn send_tx_complete ( & mut self ) {
497
+ let mut mode = core:: mem:: take ( & mut self . mode ) ;
498
+ self . mode = match mode {
499
+ ChannelMode :: Negotiating ( c) => { ChannelMode :: OurTxComplete ( c. send_tx_complete ( ) ) }
500
+ ChannelMode :: TheirTxComplete ( c) => { ChannelMode :: NegotiationComplete ( c. send_tx_complete ( ) ) }
501
+ _ => mode
502
+ }
503
+ }
504
+
505
+ fn receive_tx_complete ( & mut self ) {
506
+ let mut mode = core:: mem:: take ( & mut self . mode ) ;
507
+ self . mode = match mode {
508
+ ChannelMode :: Negotiating ( c) => {
509
+ match c. receive_tx_complete ( ) {
510
+ Ok ( c) => ChannelMode :: TheirTxComplete ( c) ,
511
+ Err ( c) => ChannelMode :: NegotiationAborted ( c)
512
+ }
513
+ }
514
+ ChannelMode :: OurTxComplete ( c) => {
515
+ match c. receive_tx_complete ( ) {
516
+ Ok ( c) => ChannelMode :: NegotiationComplete ( c) ,
517
+ Err ( c) => ChannelMode :: NegotiationAborted ( c)
518
+ }
519
+ }
520
+ _ => mode
521
+ }
522
+ }
523
+
496
524
fn handle_negotiating_receive < F > ( & mut self , f : F )
497
525
where F : FnOnce ( InteractiveTxStateMachine < Negotiating > ) -> Result < InteractiveTxStateMachine < Negotiating > , InteractiveTxStateMachine < NegotiationAborted > > {
498
526
// 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