@@ -148,10 +148,6 @@ pub(crate) trait TxBuilder {
148
148
fn commit_tx_fee_sat (
149
149
& self , feerate_per_kw : u32 , nondust_htlc_count : usize , channel_type : & ChannelTypeFeatures ,
150
150
) -> u64 ;
151
- fn subtract_non_htlc_outputs (
152
- & self , is_outbound_from_holder : bool , value_to_self_after_htlcs : u64 ,
153
- value_to_remote_after_htlcs : u64 , channel_type : & ChannelTypeFeatures ,
154
- ) -> ( u64 , u64 ) ;
155
151
fn build_commitment_transaction < L : Deref > (
156
152
& self , local : bool , commitment_number : u64 , per_commitment_point : & PublicKey ,
157
153
channel_parameters : & ChannelTransactionParameters , secp_ctx : & Secp256k1 < secp256k1:: All > ,
@@ -413,36 +409,6 @@ impl TxBuilder for SpecTxBuilder {
413
409
) -> u64 {
414
410
commit_tx_fee_sat ( feerate_per_kw, nondust_htlc_count, channel_type)
415
411
}
416
- fn subtract_non_htlc_outputs (
417
- & self , is_outbound_from_holder : bool , value_to_self_after_htlcs : u64 ,
418
- value_to_remote_after_htlcs : u64 , channel_type : & ChannelTypeFeatures ,
419
- ) -> ( u64 , u64 ) {
420
- let total_anchors_sat = if channel_type. supports_anchors_zero_fee_htlc_tx ( ) {
421
- ANCHOR_OUTPUT_VALUE_SATOSHI * 2
422
- } else {
423
- 0
424
- } ;
425
-
426
- let mut local_balance_before_fee_msat = value_to_self_after_htlcs;
427
- let mut remote_balance_before_fee_msat = value_to_remote_after_htlcs;
428
-
429
- // We MUST use saturating subs here, as the funder's balance is not guaranteed to be greater
430
- // than or equal to `total_anchors_sat`.
431
- //
432
- // This is because when the remote party sends an `update_fee` message, we build the new
433
- // commitment transaction *before* checking whether the remote party's balance is enough to
434
- // cover the total anchor sum.
435
-
436
- if is_outbound_from_holder {
437
- local_balance_before_fee_msat =
438
- local_balance_before_fee_msat. saturating_sub ( total_anchors_sat * 1000 ) ;
439
- } else {
440
- remote_balance_before_fee_msat =
441
- remote_balance_before_fee_msat. saturating_sub ( total_anchors_sat * 1000 ) ;
442
- }
443
-
444
- ( local_balance_before_fee_msat, remote_balance_before_fee_msat)
445
- }
446
412
#[ rustfmt:: skip]
447
413
fn build_commitment_transaction < L : Deref > (
448
414
& self , local : bool , commitment_number : u64 , per_commitment_point : & PublicKey ,
@@ -497,8 +463,10 @@ impl TxBuilder for SpecTxBuilder {
497
463
let value_to_self_after_htlcs_msat = value_to_self_msat. checked_sub ( local_htlc_total_msat) . unwrap ( ) ;
498
464
let value_to_remote_after_htlcs_msat =
499
465
( channel_parameters. channel_value_satoshis * 1000 ) . checked_sub ( value_to_self_msat) . unwrap ( ) . checked_sub ( remote_htlc_total_msat) . unwrap ( ) ;
500
- let ( local_balance_before_fee_msat, remote_balance_before_fee_msat) =
501
- self . subtract_non_htlc_outputs ( channel_parameters. is_outbound_from_holder , value_to_self_after_htlcs_msat, value_to_remote_after_htlcs_msat, & channel_parameters. channel_type_features ) ;
466
+ let ( local_balance_before_fee_msat, remote_balance_before_fee_msat) = subtract_addl_outputs (
467
+ channel_parameters. is_outbound_from_holder , Some ( value_to_self_after_htlcs_msat) , Some ( value_to_remote_after_htlcs_msat) , & channel_parameters. channel_type_features ) ;
468
+ let local_balance_before_fee_msat = local_balance_before_fee_msat. unwrap_or ( 0 ) ;
469
+ let remote_balance_before_fee_msat = remote_balance_before_fee_msat. unwrap_or ( 0 ) ;
502
470
503
471
// We MUST use saturating subs here, as the funder's balance is not guaranteed to be greater
504
472
// than or equal to `commit_tx_fee_sat`.
0 commit comments