@@ -24,13 +24,13 @@ use bitcoin::secp256k1::PublicKey;
2424use bitcoin:: secp256k1:: { Secp256k1 , ecdsa:: Signature } ;
2525use bitcoin:: secp256k1;
2626
27- use crate :: chain:: chaininterface:: compute_feerate_sat_per_1000_weight;
27+ use crate :: chain:: chaininterface:: { ConfirmationTarget , compute_feerate_sat_per_1000_weight} ;
2828use crate :: sign:: { ChannelDerivationParameters , HTLCDescriptor , ChannelSigner , EntropySource , SignerProvider , ecdsa:: EcdsaChannelSigner } ;
2929use crate :: ln:: msgs:: DecodeError ;
3030use crate :: ln:: types:: PaymentPreimage ;
3131use crate :: ln:: chan_utils:: { self , ChannelTransactionParameters , HTLCOutputInCommitment , HolderCommitmentTransaction } ;
3232use crate :: chain:: ClaimId ;
33- use crate :: chain:: chaininterface:: { ConfirmationTarget , FeeEstimator , BroadcasterInterface , LowerBoundedFeeEstimator } ;
33+ use crate :: chain:: chaininterface:: { FeeEstimator , BroadcasterInterface , LowerBoundedFeeEstimator } ;
3434use crate :: chain:: channelmonitor:: { ANTI_REORG_DELAY , CLTV_SHARED_CLAIM_BUFFER } ;
3535use crate :: chain:: package:: { PackageSolvingData , PackageTemplate } ;
3636use crate :: chain:: transaction:: MaybeSignedTransaction ;
@@ -487,7 +487,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
487487 /// connections, like on mobile.
488488 pub ( super ) fn rebroadcast_pending_claims < B : Deref , F : Deref , L : Logger > (
489489 & mut self , current_height : u32 , feerate_strategy : FeerateStrategy , broadcaster : & B ,
490- fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L ,
490+ conf_target : ConfirmationTarget , fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L ,
491491 )
492492 where
493493 B :: Target : BroadcasterInterface ,
@@ -500,7 +500,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
500500 bump_requests. push ( ( * claim_id, request. clone ( ) ) ) ;
501501 }
502502 for ( claim_id, request) in bump_requests {
503- self . generate_claim ( current_height, & request, & feerate_strategy, fee_estimator, logger)
503+ self . generate_claim ( current_height, & request, & feerate_strategy, conf_target , fee_estimator, logger)
504504 . map ( |( _, new_feerate, claim) | {
505505 let mut bumped_feerate = false ;
506506 if let Some ( mut_request) = self . pending_claim_requests . get_mut ( & claim_id) {
@@ -552,7 +552,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
552552 /// events are not expected to fail, and if they do, we may lose funds.
553553 fn generate_claim < F : Deref , L : Logger > (
554554 & mut self , cur_height : u32 , cached_request : & PackageTemplate , feerate_strategy : & FeerateStrategy ,
555- fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L ,
555+ conf_target : ConfirmationTarget , fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L ,
556556 ) -> Option < ( u32 , u64 , OnchainClaim ) >
557557 where F :: Target : FeeEstimator ,
558558 {
@@ -600,7 +600,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
600600 if cached_request. is_malleable ( ) {
601601 if cached_request. requires_external_funding ( ) {
602602 let target_feerate_sat_per_1000_weight = cached_request. compute_package_feerate (
603- fee_estimator, ConfirmationTarget :: OnChainSweep , feerate_strategy,
603+ fee_estimator, conf_target , feerate_strategy,
604604 ) ;
605605 if let Some ( htlcs) = cached_request. construct_malleable_package_with_external_funding ( self ) {
606606 return Some ( (
@@ -620,7 +620,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
620620 let predicted_weight = cached_request. package_weight ( & self . destination_script ) ;
621621 if let Some ( ( output_value, new_feerate) ) = cached_request. compute_package_output (
622622 predicted_weight, self . destination_script . minimal_non_dust ( ) . to_sat ( ) ,
623- feerate_strategy, fee_estimator, logger,
623+ feerate_strategy, conf_target , fee_estimator, logger,
624624 ) {
625625 assert ! ( new_feerate != 0 ) ;
626626
@@ -650,7 +650,6 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
650650 debug_assert_eq ! ( tx. 0 . compute_txid( ) , self . holder_commitment. trust( ) . txid( ) ,
651651 "Holder commitment transaction mismatch" ) ;
652652
653- let conf_target = ConfirmationTarget :: OnChainSweep ;
654653 let package_target_feerate_sat_per_1000_weight = cached_request
655654 . compute_package_feerate ( fee_estimator, conf_target, feerate_strategy) ;
656655 if let Some ( input_amount_sat) = output. funding_amount {
@@ -728,7 +727,8 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
728727 /// `cur_height`, however it must never be higher than `cur_height`.
729728 pub ( super ) fn update_claims_view_from_requests < B : Deref , F : Deref , L : Logger > (
730729 & mut self , requests : Vec < PackageTemplate > , conf_height : u32 , cur_height : u32 ,
731- broadcaster : & B , fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L
730+ broadcaster : & B , conf_target : ConfirmationTarget ,
731+ fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L
732732 ) where
733733 B :: Target : BroadcasterInterface ,
734734 F :: Target : FeeEstimator ,
@@ -798,7 +798,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
798798 // height timer expiration (i.e in how many blocks we're going to take action).
799799 for mut req in preprocessed_requests {
800800 if let Some ( ( new_timer, new_feerate, claim) ) = self . generate_claim (
801- cur_height, & req, & FeerateStrategy :: ForceBump , & * fee_estimator, & * logger,
801+ cur_height, & req, & FeerateStrategy :: ForceBump , conf_target , & * fee_estimator, & * logger,
802802 ) {
803803 req. set_timer ( new_timer) ;
804804 req. set_feerate ( new_feerate) ;
@@ -863,7 +863,8 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
863863 /// provided via `cur_height`, however it must never be higher than `cur_height`.
864864 pub ( super ) fn update_claims_view_from_matched_txn < B : Deref , F : Deref , L : Logger > (
865865 & mut self , txn_matched : & [ & Transaction ] , conf_height : u32 , conf_hash : BlockHash ,
866- cur_height : u32 , broadcaster : & B , fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L
866+ cur_height : u32 , broadcaster : & B , conf_target : ConfirmationTarget ,
867+ fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L
867868 ) where
868869 B :: Target : BroadcasterInterface ,
869870 F :: Target : FeeEstimator ,
@@ -1014,7 +1015,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
10141015
10151016 for ( claim_id, request) in bump_candidates. iter ( ) {
10161017 if let Some ( ( new_timer, new_feerate, bump_claim) ) = self . generate_claim (
1017- cur_height, & request, & FeerateStrategy :: ForceBump , & * fee_estimator, & * logger,
1018+ cur_height, & request, & FeerateStrategy :: ForceBump , conf_target , & * fee_estimator, & * logger,
10181019 ) {
10191020 match bump_claim {
10201021 OnchainClaim :: Tx ( bump_tx) => {
@@ -1049,6 +1050,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
10491050 & mut self ,
10501051 txid : & Txid ,
10511052 broadcaster : B ,
1053+ conf_target : ConfirmationTarget ,
10521054 fee_estimator : & LowerBoundedFeeEstimator < F > ,
10531055 logger : & L ,
10541056 ) where
@@ -1064,11 +1066,14 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
10641066 }
10651067
10661068 if let Some ( height) = height {
1067- self . block_disconnected ( height, broadcaster, fee_estimator, logger) ;
1069+ self . block_disconnected ( height, broadcaster, conf_target , fee_estimator, logger) ;
10681070 }
10691071 }
10701072
1071- pub ( super ) fn block_disconnected < B : Deref , F : Deref , L : Logger > ( & mut self , height : u32 , broadcaster : B , fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L )
1073+ pub ( super ) fn block_disconnected < B : Deref , F : Deref , L : Logger > (
1074+ & mut self , height : u32 , broadcaster : B , conf_target : ConfirmationTarget ,
1075+ fee_estimator : & LowerBoundedFeeEstimator < F > , logger : & L ,
1076+ )
10721077 where B :: Target : BroadcasterInterface ,
10731078 F :: Target : FeeEstimator ,
10741079 {
@@ -1100,7 +1105,7 @@ impl<ChannelSigner: EcdsaChannelSigner> OnchainTxHandler<ChannelSigner> {
11001105 // `height` is the height being disconnected, so our `current_height` is 1 lower.
11011106 let current_height = height - 1 ;
11021107 if let Some ( ( new_timer, new_feerate, bump_claim) ) = self . generate_claim (
1103- current_height, & request, & FeerateStrategy :: ForceBump , fee_estimator, logger
1108+ current_height, & request, & FeerateStrategy :: ForceBump , conf_target , fee_estimator, logger
11041109 ) {
11051110 request. set_timer ( new_timer) ;
11061111 request. set_feerate ( new_feerate) ;
0 commit comments