@@ -317,7 +317,7 @@ impl HolderCommitment {
317
317
let delayed_payment_key = & tx_keys. broadcaster_delayed_payment_key ;
318
318
let per_commitment_point = & tx_keys. per_commitment_point ;
319
319
320
- let mut nondust_htlcs = self . tx . htlcs ( ) . iter ( ) . zip ( self . tx . counterparty_htlc_sigs . iter ( ) ) ;
320
+ let mut nondust_htlcs = self . tx . nondust_htlcs ( ) . iter ( ) . zip ( self . tx . counterparty_htlc_sigs . iter ( ) ) ;
321
321
let mut sources = self . nondust_htlc_sources . iter ( ) ;
322
322
323
323
// Use an iterator to write `htlc_outputs` to avoid allocations.
@@ -937,7 +937,7 @@ impl TryFrom<(HolderCommitmentTransaction, HolderSignedTx)> for HolderCommitment
937
937
// HTLC sources, separately. All offered, non-dust HTLCs must have a source available.
938
938
939
939
let mut missing_nondust_source = false ;
940
- let mut nondust_htlc_sources = Vec :: with_capacity ( holder_commitment_tx. htlcs ( ) . len ( ) ) ;
940
+ let mut nondust_htlc_sources = Vec :: with_capacity ( holder_commitment_tx. nondust_htlcs ( ) . len ( ) ) ;
941
941
let dust_htlcs = holder_signed_tx. htlc_outputs . into_iter ( ) . filter_map ( |( htlc, _, source) | {
942
942
// Filter our non-dust HTLCs, while at the same time pushing their sources into
943
943
// `nondust_htlc_sources`.
@@ -967,16 +967,16 @@ impl TryFrom<(HolderCommitmentTransaction, HolderSignedTx)> for HolderCommitment
967
967
968
968
impl HolderCommitment {
969
969
fn has_htlcs ( & self ) -> bool {
970
- self . tx . htlcs ( ) . len ( ) > 0 || self . dust_htlcs . len ( ) > 0
970
+ self . tx . nondust_htlcs ( ) . len ( ) > 0 || self . dust_htlcs . len ( ) > 0
971
971
}
972
972
973
973
fn htlcs ( & self ) -> impl Iterator < Item = & HTLCOutputInCommitment > {
974
- self . tx . htlcs ( ) . iter ( ) . chain ( self . dust_htlcs . iter ( ) . map ( |( htlc, _) | htlc) )
974
+ self . tx . nondust_htlcs ( ) . iter ( ) . chain ( self . dust_htlcs . iter ( ) . map ( |( htlc, _) | htlc) )
975
975
}
976
976
977
977
fn htlcs_with_sources ( & self ) -> impl Iterator < Item = ( & HTLCOutputInCommitment , Option < & HTLCSource > ) > {
978
978
let mut sources = self . nondust_htlc_sources . iter ( ) ;
979
- let nondust_htlcs = self . tx . htlcs ( ) . iter ( ) . map ( move |htlc| {
979
+ let nondust_htlcs = self . tx . nondust_htlcs ( ) . iter ( ) . map ( move |htlc| {
980
980
let mut source = None ;
981
981
if htlc. offered && htlc. transaction_output_index . is_some ( ) {
982
982
source = sources. next ( ) ;
@@ -3098,8 +3098,8 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
3098
3098
// If we have non-dust HTLCs in htlc_outputs, ensure they match the HTLCs in the
3099
3099
// `holder_commitment_tx`. In the future, we'll no longer provide the redundant data
3100
3100
// and just pass in source data via `nondust_htlc_sources`.
3101
- debug_assert_eq ! ( htlc_outputs. iter( ) . filter( |( _, s, _) | s. is_some( ) ) . count( ) , holder_commitment_tx. trust( ) . htlcs ( ) . len( ) ) ;
3102
- for ( a, b) in htlc_outputs. iter ( ) . filter ( |( _, s, _) | s. is_some ( ) ) . map ( |( h, _, _) | h) . zip ( holder_commitment_tx. trust ( ) . htlcs ( ) . iter ( ) ) {
3101
+ debug_assert_eq ! ( htlc_outputs. iter( ) . filter( |( _, s, _) | s. is_some( ) ) . count( ) , holder_commitment_tx. trust( ) . nondust_htlcs ( ) . len( ) ) ;
3102
+ for ( a, b) in htlc_outputs. iter ( ) . filter ( |( _, s, _) | s. is_some ( ) ) . map ( |( h, _, _) | h) . zip ( holder_commitment_tx. trust ( ) . nondust_htlcs ( ) . iter ( ) ) {
3103
3103
debug_assert_eq ! ( a, b) ;
3104
3104
}
3105
3105
debug_assert_eq ! ( htlc_outputs. iter( ) . filter( |( _, s, _) | s. is_some( ) ) . count( ) , holder_commitment_tx. counterparty_htlc_sigs. len( ) ) ;
@@ -3109,7 +3109,7 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
3109
3109
3110
3110
// Backfill the non-dust HTLC sources.
3111
3111
debug_assert ! ( nondust_htlc_sources. is_empty( ) ) ;
3112
- nondust_htlc_sources. reserve_exact ( holder_commitment_tx. htlcs ( ) . len ( ) ) ;
3112
+ nondust_htlc_sources. reserve_exact ( holder_commitment_tx. nondust_htlcs ( ) . len ( ) ) ;
3113
3113
let dust_htlcs = htlc_outputs. into_iter ( ) . filter_map ( |( htlc, _, source) | {
3114
3114
// Filter our non-dust HTLCs, while at the same time pushing their sources into
3115
3115
// `nondust_htlc_sources`.
@@ -3129,18 +3129,18 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
3129
3129
// `nondust_htlc_sources` and the `holder_commitment_tx`
3130
3130
{
3131
3131
let mut prev = -1 ;
3132
- for htlc in holder_commitment_tx. trust ( ) . htlcs ( ) . iter ( ) {
3132
+ for htlc in holder_commitment_tx. trust ( ) . nondust_htlcs ( ) . iter ( ) {
3133
3133
assert ! ( htlc. transaction_output_index. unwrap( ) as i32 > prev) ;
3134
3134
prev = htlc. transaction_output_index . unwrap ( ) as i32 ;
3135
3135
}
3136
3136
}
3137
3137
3138
3138
debug_assert ! ( htlc_outputs. iter( ) . all( |( htlc, _, _) | htlc. transaction_output_index. is_none( ) ) ) ;
3139
3139
debug_assert ! ( htlc_outputs. iter( ) . all( |( _, sig_opt, _) | sig_opt. is_none( ) ) ) ;
3140
- debug_assert_eq ! ( holder_commitment_tx. trust( ) . htlcs ( ) . len( ) , holder_commitment_tx. counterparty_htlc_sigs. len( ) ) ;
3140
+ debug_assert_eq ! ( holder_commitment_tx. trust( ) . nondust_htlcs ( ) . len( ) , holder_commitment_tx. counterparty_htlc_sigs. len( ) ) ;
3141
3141
3142
3142
let mut sources = nondust_htlc_sources. iter ( ) ;
3143
- for htlc in holder_commitment_tx. trust ( ) . htlcs ( ) . iter ( ) {
3143
+ for htlc in holder_commitment_tx. trust ( ) . nondust_htlcs ( ) . iter ( ) {
3144
3144
if htlc. offered {
3145
3145
let source = sources. next ( ) . expect ( "Non-dust HTLC sources didn't match commitment tx" ) ;
3146
3146
assert ! ( source. possibly_matches_output( htlc) ) ;
@@ -3955,9 +3955,9 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
3955
3955
& self , holder_tx : & HolderCommitmentTransaction ,
3956
3956
) -> Vec < HTLCDescriptor > {
3957
3957
let tx = holder_tx. trust ( ) ;
3958
- let mut htlcs = Vec :: with_capacity ( holder_tx. htlcs ( ) . len ( ) ) ;
3959
- debug_assert_eq ! ( holder_tx. htlcs ( ) . len( ) , holder_tx. counterparty_htlc_sigs. len( ) ) ;
3960
- for ( htlc, counterparty_sig) in holder_tx. htlcs ( ) . iter ( ) . zip ( holder_tx. counterparty_htlc_sigs . iter ( ) ) {
3958
+ let mut htlcs = Vec :: with_capacity ( holder_tx. nondust_htlcs ( ) . len ( ) ) ;
3959
+ debug_assert_eq ! ( holder_tx. nondust_htlcs ( ) . len( ) , holder_tx. counterparty_htlc_sigs. len( ) ) ;
3960
+ for ( htlc, counterparty_sig) in holder_tx. nondust_htlcs ( ) . iter ( ) . zip ( holder_tx. counterparty_htlc_sigs . iter ( ) ) {
3961
3961
assert ! ( htlc. transaction_output_index. is_some( ) , "Expected transaction output index for non-dust HTLC" ) ;
3962
3962
3963
3963
let preimage = if htlc. offered {
@@ -4026,9 +4026,9 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
4026
4026
4027
4027
// Returns holder HTLC outputs to watch and react to in case of spending.
4028
4028
fn get_broadcasted_holder_watch_outputs ( & self , holder_tx : & HolderCommitmentTransaction ) -> Vec < ( u32 , TxOut ) > {
4029
- let mut watch_outputs = Vec :: with_capacity ( holder_tx. htlcs ( ) . len ( ) ) ;
4029
+ let mut watch_outputs = Vec :: with_capacity ( holder_tx. nondust_htlcs ( ) . len ( ) ) ;
4030
4030
let tx = holder_tx. trust ( ) ;
4031
- for htlc in holder_tx. htlcs ( ) {
4031
+ for htlc in holder_tx. nondust_htlcs ( ) {
4032
4032
if let Some ( transaction_output_index) = htlc. transaction_output_index {
4033
4033
watch_outputs. push ( (
4034
4034
transaction_output_index,
@@ -4121,7 +4121,7 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
4121
4121
let txid = self . funding . current_holder_commitment . tx . trust ( ) . txid ( ) ;
4122
4122
log_trace ! ( logger, "Canceling claims for previously broadcast holder commitment {}" , txid) ;
4123
4123
let mut outpoint = BitcoinOutPoint { txid, vout : 0 } ;
4124
- for htlc in self . funding . current_holder_commitment . tx . htlcs ( ) {
4124
+ for htlc in self . funding . current_holder_commitment . tx . nondust_htlcs ( ) {
4125
4125
if let Some ( vout) = htlc. transaction_output_index {
4126
4126
outpoint. vout = vout;
4127
4127
self . onchain_tx_handler . abandon_claim ( & outpoint) ;
@@ -4135,7 +4135,7 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
4135
4135
if txid != * confirmed_commitment_txid {
4136
4136
log_trace ! ( logger, "Canceling claims for previously broadcast holder commitment {}" , txid) ;
4137
4137
let mut outpoint = BitcoinOutPoint { txid, vout : 0 } ;
4138
- for htlc in prev_holder_commitment. tx . htlcs ( ) {
4138
+ for htlc in prev_holder_commitment. tx . nondust_htlcs ( ) {
4139
4139
if let Some ( vout) = htlc. transaction_output_index {
4140
4140
outpoint. vout = vout;
4141
4141
self . onchain_tx_handler . abandon_claim ( & outpoint) ;
0 commit comments