@@ -3376,6 +3376,21 @@ mod tests {
3376
3376
} }
3377
3377
}
3378
3378
3379
+ // A B
3380
+ // (1) update_fee/commitment_signed ->
3381
+ // <- (2) revoke_and_ack
3382
+ // .- send (3) commitment_signed
3383
+ // (4) update_fee/commitment_signed ->
3384
+ // .- send (5) revoke_and_ack (no CS as we're awaiting a revoke)
3385
+ // <- (3) commitment_signed delivered
3386
+ // send (6) revoke_and_ack -.
3387
+ // <- (5) deliver revoke_and_ack
3388
+ // (6) deliver revoke_and_ack ->
3389
+ // .- send (7) commitment_signed in response to (4)
3390
+ // <- (7) deliver commitment_signed
3391
+ // revoke_and_ack ->
3392
+
3393
+ // Create and deliver (1)...
3379
3394
let feerate = get_feerate ! ( nodes[ 0 ] ) ;
3380
3395
nodes[ 0 ] . node . update_fee ( channel_id, feerate+20 ) . unwrap ( ) ;
3381
3396
@@ -3389,15 +3404,18 @@ mod tests {
3389
3404
} ;
3390
3405
nodes[ 1 ] . node . handle_update_fee ( & nodes[ 0 ] . node . get_our_node_id ( ) , update_msg. unwrap ( ) ) . unwrap ( ) ;
3391
3406
3407
+ // Generate (2) and (3):
3392
3408
let ( revoke_msg, commitment_signed) = nodes[ 1 ] . node . handle_commitment_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , commitment_signed) . unwrap ( ) ;
3393
3409
let commitment_signed_0 = commitment_signed. unwrap ( ) ;
3394
3410
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
3395
3411
check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
3396
3412
3413
+ // Deliver (2):
3397
3414
let resp_option = nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & revoke_msg) . unwrap ( ) ;
3398
3415
assert ! ( resp_option. is_none( ) ) ;
3399
3416
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
3400
3417
3418
+ // Create and deliver (4)...
3401
3419
nodes[ 0 ] . node . update_fee ( channel_id, feerate+30 ) . unwrap ( ) ;
3402
3420
let events_0 = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
3403
3421
assert_eq ! ( events_0. len( ) , 1 ) ;
@@ -3410,21 +3428,27 @@ mod tests {
3410
3428
nodes[ 1 ] . node . handle_update_fee ( & nodes[ 0 ] . node . get_our_node_id ( ) , update_msg. unwrap ( ) ) . unwrap ( ) ;
3411
3429
3412
3430
let ( revoke_msg, commitment_signed) = nodes[ 1 ] . node . handle_commitment_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , commitment_signed) . unwrap ( ) ;
3431
+ // ... creating (5)
3413
3432
assert ! ( commitment_signed. is_none( ) ) ;
3414
3433
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
3415
3434
check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
3435
+
3436
+ // Handle (3), creating (6):
3416
3437
let ( revoke_msg_0, commitment_signed) = nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & commitment_signed_0) . unwrap ( ) ;
3417
3438
assert ! ( commitment_signed. is_none( ) ) ;
3418
3439
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
3419
3440
3441
+ // Deliver (5):
3420
3442
let resp_option = nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & revoke_msg) . unwrap ( ) ;
3421
3443
assert ! ( resp_option. is_none( ) ) ;
3422
3444
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
3423
3445
3446
+ // Deliver (6), creating (7):
3424
3447
let resp_option = nodes[ 1 ] . node . handle_revoke_and_ack ( & nodes[ 0 ] . node . get_our_node_id ( ) , & revoke_msg_0) . unwrap ( ) ;
3425
3448
let commitment_signed = resp_option. unwrap ( ) . commitment_signed ;
3426
3449
check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
3427
3450
3451
+ // Deliver (7)
3428
3452
let ( revoke_msg, commitment_signed) = nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & commitment_signed) . unwrap ( ) ;
3429
3453
assert ! ( commitment_signed. is_none( ) ) ;
3430
3454
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
0 commit comments