Skip to content

Commit 191a887

Browse files
committed
Always pass height to OnchainTxHandler::update_claims_view
This simplifies logic somewhat and avoids duplicating the storage of the current height in OnchainTxHandler.
1 parent e08e1a2 commit 191a887

File tree

2 files changed

+5
-14
lines changed

2 files changed

+5
-14
lines changed

lightning/src/chain/channelmonitor.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,7 +1386,7 @@ impl<Signer: Sign> ChannelMonitorImpl<Signer> {
13861386
macro_rules! claim_htlcs {
13871387
($commitment_number: expr, $txid: expr) => {
13881388
let htlc_claim_reqs = self.get_counterparty_htlc_output_claim_reqs($commitment_number, $txid, None);
1389-
self.onchain_tx_handler.update_claims_view(&Vec::new(), htlc_claim_reqs, None, broadcaster, fee_estimator, logger);
1389+
self.onchain_tx_handler.update_claims_view(&Vec::new(), htlc_claim_reqs, self.best_block.height(), broadcaster, fee_estimator, logger);
13901390
}
13911391
}
13921392
if let Some(txid) = self.current_counterparty_commitment_txid {
@@ -1409,10 +1409,10 @@ impl<Signer: Sign> ChannelMonitorImpl<Signer> {
14091409
// holder commitment transactions.
14101410
if self.broadcasted_holder_revokable_script.is_some() {
14111411
let (claim_reqs, _) = self.get_broadcasted_holder_claims(&self.current_holder_commitment_tx, 0);
1412-
self.onchain_tx_handler.update_claims_view(&Vec::new(), claim_reqs, None, broadcaster, fee_estimator, logger);
1412+
self.onchain_tx_handler.update_claims_view(&Vec::new(), claim_reqs, self.best_block.height(), broadcaster, fee_estimator, logger);
14131413
if let Some(ref tx) = self.prev_holder_signed_commitment_tx {
14141414
let (claim_reqs, _) = self.get_broadcasted_holder_claims(&tx, 0);
1415-
self.onchain_tx_handler.update_claims_view(&Vec::new(), claim_reqs, None, broadcaster, fee_estimator, logger);
1415+
self.onchain_tx_handler.update_claims_view(&Vec::new(), claim_reqs, self.best_block.height(), broadcaster, fee_estimator, logger);
14161416
}
14171417
}
14181418
}
@@ -2142,7 +2142,7 @@ impl<Signer: Sign> ChannelMonitorImpl<Signer> {
21422142
}
21432143
}
21442144

2145-
self.onchain_tx_handler.update_claims_view(&txn_matched, claimable_outpoints, Some(height), &&*broadcaster, &&*fee_estimator, &&*logger);
2145+
self.onchain_tx_handler.update_claims_view(&txn_matched, claimable_outpoints, height, &&*broadcaster, &&*fee_estimator, &&*logger);
21462146

21472147
// Determine new outputs to watch by comparing against previously known outputs to watch,
21482148
// updating the latter in the process.

lightning/src/chain/onchaintx.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ pub struct OnchainTxHandler<ChannelSigner: Sign> {
166166

167167
onchain_events_awaiting_threshold_conf: Vec<OnchainEventEntry>,
168168

169-
latest_height: u32,
170169

171170
pub(super) secp_ctx: Secp256k1<secp256k1::All>,
172171
}
@@ -221,7 +220,6 @@ impl<ChannelSigner: Sign> OnchainTxHandler<ChannelSigner> {
221220
}
222221
}
223222
}
224-
self.latest_height.write(writer)?;
225223

226224
write_tlv_fields!(writer, {}, {});
227225
Ok(())
@@ -288,7 +286,6 @@ impl<'a, K: KeysInterface> ReadableArgs<&'a K> for OnchainTxHandler<K::Signer> {
288286
};
289287
onchain_events_awaiting_threshold_conf.push(OnchainEventEntry { txid, height, event });
290288
}
291-
let latest_height = Readable::read(reader)?;
292289

293290
read_tlv_fields!(reader, {}, {});
294291

@@ -306,7 +303,6 @@ impl<'a, K: KeysInterface> ReadableArgs<&'a K> for OnchainTxHandler<K::Signer> {
306303
claimable_outpoints,
307304
pending_claim_requests,
308305
onchain_events_awaiting_threshold_conf,
309-
latest_height,
310306
secp_ctx,
311307
})
312308
}
@@ -325,7 +321,6 @@ impl<ChannelSigner: Sign> OnchainTxHandler<ChannelSigner> {
325321
pending_claim_requests: HashMap::new(),
326322
claimable_outpoints: HashMap::new(),
327323
onchain_events_awaiting_threshold_conf: Vec::new(),
328-
latest_height: 0,
329324

330325
secp_ctx,
331326
}
@@ -369,15 +364,11 @@ impl<ChannelSigner: Sign> OnchainTxHandler<ChannelSigner> {
369364
/// for this channel, provide new relevant on-chain transactions and/or new claim requests.
370365
/// Formerly this was named `block_connected`, but it is now also used for claiming an HTLC output
371366
/// if we receive a preimage after force-close.
372-
pub(crate) fn update_claims_view<B: Deref, F: Deref, L: Deref>(&mut self, txn_matched: &[&Transaction], requests: Vec<PackageTemplate>, latest_height: Option<u32>, broadcaster: &B, fee_estimator: &F, logger: &L)
367+
pub(crate) fn update_claims_view<B: Deref, F: Deref, L: Deref>(&mut self, txn_matched: &[&Transaction], requests: Vec<PackageTemplate>, height: u32, broadcaster: &B, fee_estimator: &F, logger: &L)
373368
where B::Target: BroadcasterInterface,
374369
F::Target: FeeEstimator,
375370
L::Target: Logger,
376371
{
377-
let height = match latest_height {
378-
Some(h) => h,
379-
None => self.latest_height,
380-
};
381372
log_trace!(logger, "Updating claims view at height {} with {} matched transactions and {} claim requests", height, txn_matched.len(), requests.len());
382373
let mut preprocessed_requests = Vec::with_capacity(requests.len());
383374
let mut aggregated_request = None;

0 commit comments

Comments
 (0)