From 76e299df6ca1aa237625ef2962c1944745729cfb Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Fri, 12 Aug 2022 10:12:41 +1000 Subject: [PATCH 1/5] Increase merge readiness lookahead to 3 weeks --- beacon_node/beacon_chain/src/merge_readiness.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon_node/beacon_chain/src/merge_readiness.rs b/beacon_node/beacon_chain/src/merge_readiness.rs index 4a7b38bdb49..7f508dd2e52 100644 --- a/beacon_node/beacon_chain/src/merge_readiness.rs +++ b/beacon_node/beacon_chain/src/merge_readiness.rs @@ -9,7 +9,7 @@ use types::*; /// The time before the Bellatrix fork when we will start issuing warnings about preparation. const SECONDS_IN_A_WEEK: u64 = 604800; -pub const MERGE_READINESS_PREPARATION_SECONDS: u64 = SECONDS_IN_A_WEEK; +pub const MERGE_READINESS_PREPARATION_SECONDS: u64 = SECONDS_IN_A_WEEK * 3; #[derive(Default, Debug, Serialize, Deserialize)] pub struct MergeConfig { From 26b445f42ee002a0aeb7f893e08036f693be856d Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Fri, 12 Aug 2022 10:14:03 +1000 Subject: [PATCH 2/5] Set to 2.5 weeks --- beacon_node/beacon_chain/src/merge_readiness.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon_node/beacon_chain/src/merge_readiness.rs b/beacon_node/beacon_chain/src/merge_readiness.rs index 7f508dd2e52..d6213b30517 100644 --- a/beacon_node/beacon_chain/src/merge_readiness.rs +++ b/beacon_node/beacon_chain/src/merge_readiness.rs @@ -9,7 +9,7 @@ use types::*; /// The time before the Bellatrix fork when we will start issuing warnings about preparation. const SECONDS_IN_A_WEEK: u64 = 604800; -pub const MERGE_READINESS_PREPARATION_SECONDS: u64 = SECONDS_IN_A_WEEK * 3; +pub const MERGE_READINESS_PREPARATION_SECONDS: u64 = SECONDS_IN_A_WEEK * 5 / 2; #[derive(Default, Debug, Serialize, Deserialize)] pub struct MergeConfig { From 12bd25f7816d50032b3a0ffcb39af3f18fa2bd48 Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Fri, 12 Aug 2022 10:29:22 +1000 Subject: [PATCH 3/5] Go back to 2 weeks --- beacon_node/beacon_chain/src/merge_readiness.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon_node/beacon_chain/src/merge_readiness.rs b/beacon_node/beacon_chain/src/merge_readiness.rs index d6213b30517..f760bc72c3e 100644 --- a/beacon_node/beacon_chain/src/merge_readiness.rs +++ b/beacon_node/beacon_chain/src/merge_readiness.rs @@ -9,7 +9,7 @@ use types::*; /// The time before the Bellatrix fork when we will start issuing warnings about preparation. const SECONDS_IN_A_WEEK: u64 = 604800; -pub const MERGE_READINESS_PREPARATION_SECONDS: u64 = SECONDS_IN_A_WEEK * 5 / 2; +pub const MERGE_READINESS_PREPARATION_SECONDS: u64 = SECONDS_IN_A_WEEK * 2; #[derive(Default, Debug, Serialize, Deserialize)] pub struct MergeConfig { From 8e1f7bf97eae1a81162a24eb8365521dd1fad781 Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Fri, 12 Aug 2022 10:38:52 +1000 Subject: [PATCH 4/5] Always log readiness if an EL is configured --- beacon_node/beacon_chain/src/merge_readiness.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/beacon_node/beacon_chain/src/merge_readiness.rs b/beacon_node/beacon_chain/src/merge_readiness.rs index f760bc72c3e..4ef2102fd51 100644 --- a/beacon_node/beacon_chain/src/merge_readiness.rs +++ b/beacon_node/beacon_chain/src/merge_readiness.rs @@ -130,16 +130,22 @@ impl fmt::Display for MergeReadiness { } impl BeaconChain { - /// Returns `true` if the Bellatrix fork has occurred or will occur within - /// `MERGE_READINESS_PREPARATION_SECONDS`. + /// Returns `true` if user has an EL configured, or if the Bellatrix fork has occurred or will + /// occur within `MERGE_READINESS_PREPARATION_SECONDS`. pub fn is_time_to_prepare_for_bellatrix(&self, current_slot: Slot) -> bool { if let Some(bellatrix_epoch) = self.spec.bellatrix_fork_epoch { let bellatrix_slot = bellatrix_epoch.start_slot(T::EthSpec::slots_per_epoch()); let merge_readiness_preparation_slots = MERGE_READINESS_PREPARATION_SECONDS / self.spec.seconds_per_slot; - // Return `true` if Bellatrix has happened or is within the preparation time. - current_slot + merge_readiness_preparation_slots > bellatrix_slot + if self.execution_layer.is_some() { + // The user has already configured an execution layer, start checking for readiness + // right away. + true + } else { + // Return `true` if Bellatrix has happened or is within the preparation time. + current_slot + merge_readiness_preparation_slots > bellatrix_slot + } } else { // The Bellatrix fork epoch has not been defined yet, no need to prepare. false From 64adce83729cf9f16931cda245f6fabfa86414ab Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Mon, 15 Aug 2022 10:40:49 +1000 Subject: [PATCH 5/5] Add hint for exchange config failure --- beacon_node/client/src/notifier.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/beacon_node/client/src/notifier.rs b/beacon_node/client/src/notifier.rs index 9f82cd2012e..ae8f024b718 100644 --- a/beacon_node/client/src/notifier.rs +++ b/beacon_node/client/src/notifier.rs @@ -387,6 +387,7 @@ async fn merge_readiness_logging( log, "Not ready for merge"; "info" => %readiness, + "hint" => "try updating Lighthouse and/or the execution layer", ) } readiness @ MergeReadiness::NotSynced => warn!(