@@ -424,22 +424,18 @@ pub(super) struct Channel<Signer: Sign> {
424
424
monitor_pending_forwards : Vec < ( PendingHTLCInfo , u64 ) > ,
425
425
monitor_pending_failures : Vec < ( HTLCSource , PaymentHash , HTLCFailReason ) > ,
426
426
427
- // pending_update_fee is filled when sending and receiving update_fee
428
- // For outbound channel, feerate_per_kw is updated with the value from
429
- // pending_update_fee when revoke_and_ack is received
427
+ // pending_update_fee is filled when sending and receiving update_fee.
430
428
//
431
- // For inbound channel, feerate_per_kw is updated when it receives
432
- // commitment_signed and revoke_and_ack is generated
433
- // The pending value is kept when another pair of update_fee and commitment_signed
434
- // is received during AwaitingRemoteRevoke and relieved when the expected
435
- // revoke_and_ack is received and new commitment_signed is generated to be
436
- // sent to the funder. Otherwise, the pending value is removed when receiving
437
- // commitment_signed.
429
+ // Because it follows the same commitment flow as HTLCs, `FeeUpdateState` is either `Outbound`
430
+ // or matches a subset of the `InboundHTLCOutput` variants. It is then updated/used when
431
+ // generating new commitment transactions with exactly the same criteria as inbound/outbound
432
+ // HTLCs with similar state.
438
433
pending_update_fee : Option < ( u32 , FeeUpdateState ) > ,
439
- // update_fee() during ChannelState::AwaitingRemoteRevoke is hold in
440
- // holdina_cell_update_fee then moved to pending_udpate_fee when revoke_and_ack
441
- // is received. holding_cell_update_fee is updated when there are additional
442
- // update_fee() during ChannelState::AwaitingRemoteRevoke.
434
+ // If an update_fee() call is made with ChannelState::AwaitingRemoteRevoke set, we place it
435
+ // here instead of `pending_update_fee` in the same way as we place outbound HTLC updates in
436
+ // `holding_cell_htlc_updates` instead of `pending_outbound_htlcs`. It is released into
437
+ // `pending_update_fee` with the same criteria as outbound HTLC updates but can be updated by
438
+ // further `update_fee` calls, dropping the previous holding cell update entirely.
443
439
holding_cell_update_fee : Option < u32 > ,
444
440
next_holder_htlc_id : u64 ,
445
441
next_counterparty_htlc_id : u64 ,
0 commit comments