Skip to content

Commit 10439b8

Browse files
committed
Require two channel updates in Regtest mode
In order to generate a snapshot with information about a channel, it needs two channel updates (one for each end). The change is for Regtest because usually there are only few channels.
1 parent 05d5420 commit 10439b8

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/tracking.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use std::ops::Deref;
55
use std::sync::Arc;
66
use std::time::{Duration, Instant};
77

8+
use bitcoin::constants::ChainHash;
89
use bitcoin::secp256k1::PublicKey;
910
use hex_conservative::display::DisplayHex;
1011
use lightning::ln::peer_handler::{
@@ -38,6 +39,7 @@ pub(crate) async fn download_gossip<L: Deref + Clone + Send + Sync + 'static>(pe
3839

3940
let keys_manager = Arc::new(KeysManager::new(&key, 0xdeadbeef, 0xdeadbeef));
4041

42+
let chain_hash = network_graph.get_chain_hash();
4143
let router = Arc::new(GossipRouter::new(network_graph, persistence_sender.clone(), logger.clone()));
4244

4345
let message_handler = MessageHandler {
@@ -118,7 +120,14 @@ pub(crate) async fn download_gossip<L: Deref + Clone + Send + Sync + 'static>(pe
118120

119121
let was_previously_caught_up_with_gossip = is_caught_up_with_gossip;
120122
// TODO: make new message threshold (20) adjust based on connected peer count
121-
is_caught_up_with_gossip = new_message_count < 20 && previous_announcement_count > 0 && previous_update_count > 0;
123+
if chain_hash == ChainHash::REGTEST {
124+
// There must be two channel updates (one for each end)
125+
// to generate a snapshot with information about the channel.
126+
is_caught_up_with_gossip = new_message_count < 20 && previous_announcement_count > 0 && previous_update_count > 0 && counter.channel_updates > 1;
127+
} else {
128+
is_caught_up_with_gossip = new_message_count < 20 && previous_announcement_count > 0 && previous_update_count > 0;
129+
}
130+
122131
if new_message_count > 0 {
123132
latest_new_gossip_time = Instant::now();
124133
}

0 commit comments

Comments
 (0)