@@ -4235,13 +4235,19 @@ where
4235
4235
PersistenceNotifierGuard :: optionally_notify ( & self . total_consistency_lock , & self . persistence_notifier , || {
4236
4236
let mut should_persist = self . process_background_events ( ) ;
4237
4237
4238
- let new_feerate = self . fee_estimator . bounded_sat_per_1000_weight ( ConfirmationTarget :: Normal ) ;
4238
+ let normal_feerate = self . fee_estimator . bounded_sat_per_1000_weight ( ConfirmationTarget :: Normal ) ;
4239
+ let min_mempool_feerate = self . fee_estimator . bounded_sat_per_1000_weight ( ConfirmationTarget :: MempoolMinimum ) ;
4239
4240
4240
4241
let per_peer_state = self . per_peer_state . read ( ) . unwrap ( ) ;
4241
4242
for ( _cp_id, peer_state_mutex) in per_peer_state. iter ( ) {
4242
4243
let mut peer_state_lock = peer_state_mutex. lock ( ) . unwrap ( ) ;
4243
4244
let peer_state = & mut * peer_state_lock;
4244
4245
for ( chan_id, chan) in peer_state. channel_by_id . iter_mut ( ) {
4246
+ let new_feerate = if chan. context . get_channel_type ( ) . supports_anchors_zero_fee_htlc_tx ( ) {
4247
+ min_mempool_feerate
4248
+ } else {
4249
+ normal_feerate
4250
+ } ;
4245
4251
let chan_needs_persist = self . update_channel_fee ( chan_id, chan, new_feerate) ;
4246
4252
if chan_needs_persist == NotifyOption :: DoPersist { should_persist = NotifyOption :: DoPersist ; }
4247
4253
}
@@ -4271,7 +4277,8 @@ where
4271
4277
PersistenceNotifierGuard :: optionally_notify ( & self . total_consistency_lock , & self . persistence_notifier , || {
4272
4278
let mut should_persist = self . process_background_events ( ) ;
4273
4279
4274
- let new_feerate = self . fee_estimator . bounded_sat_per_1000_weight ( ConfirmationTarget :: Normal ) ;
4280
+ let normal_feerate = self . fee_estimator . bounded_sat_per_1000_weight ( ConfirmationTarget :: Normal ) ;
4281
+ let min_mempool_feerate = self . fee_estimator . bounded_sat_per_1000_weight ( ConfirmationTarget :: MempoolMinimum ) ;
4275
4282
4276
4283
let mut handle_errors: Vec < ( Result < ( ) , _ > , _ ) > = Vec :: new ( ) ;
4277
4284
let mut timed_out_mpp_htlcs = Vec :: new ( ) ;
@@ -4284,6 +4291,11 @@ where
4284
4291
let pending_msg_events = & mut peer_state. pending_msg_events ;
4285
4292
let counterparty_node_id = * counterparty_node_id;
4286
4293
peer_state. channel_by_id . retain ( |chan_id, chan| {
4294
+ let new_feerate = if chan. context . get_channel_type ( ) . supports_anchors_zero_fee_htlc_tx ( ) {
4295
+ min_mempool_feerate
4296
+ } else {
4297
+ normal_feerate
4298
+ } ;
4287
4299
let chan_needs_persist = self . update_channel_fee ( chan_id, chan, new_feerate) ;
4288
4300
if chan_needs_persist == NotifyOption :: DoPersist { should_persist = NotifyOption :: DoPersist ; }
4289
4301
0 commit comments