Return only `Some(block_hash)` in CM rel. txids
authorElias Rohrer <ero@tnull.de>
Tue, 31 Jan 2023 23:07:31 +0000 (17:07 -0600)
committerElias Rohrer <ero@tnull.de>
Tue, 31 Jan 2023 23:07:31 +0000 (17:07 -0600)
As of now the `Confirm::get_relevant_txids()` docs state that it won't
return any transactions for which we hadn't previously seen a
confirmation. To align its functionality a bit more with the docs, at
least for `ChannelManager`, we only return values for which we had
registered a confirmation block hash before.

lightning/src/ln/channelmanager.rs

index b2a23c7c1d44cbdf03137263c663acaa285774c1..d6068c10536740a7aeef96b02d0d1cf05ac836cd 100644 (file)
@@ -5786,8 +5786,8 @@ where
                        let mut peer_state_lock = peer_state_mutex.lock().unwrap();
                        let peer_state = &mut *peer_state_lock;
                        for chan in peer_state.channel_by_id.values() {
-                               if let (Some(funding_txo), block_hash) = (chan.get_funding_txo(), chan.get_funding_tx_confirmed_in()) {
-                                       res.push((funding_txo.txid, block_hash));
+                               if let (Some(funding_txo), Some(block_hash)) = (chan.get_funding_txo(), chan.get_funding_tx_confirmed_in()) {
+                                       res.push((funding_txo.txid, Some(block_hash)));
                                }
                        }
                }