diff --git a/beacon_node/http_api/src/lib.rs b/beacon_node/http_api/src/lib.rs index cec5ff621cd..ce62ed63f22 100644 --- a/beacon_node/http_api/src/lib.rs +++ b/beacon_node/http_api/src/lib.rs @@ -2889,8 +2889,8 @@ pub fn serve( let syncing_data = api_types::SyncingData { is_syncing: !network_globals.sync_state.read().is_synced(), - is_optimistic: Some(is_optimistic), - el_offline: Some(el_offline), + is_optimistic, + el_offline, head_slot, sync_distance, }; diff --git a/beacon_node/http_api/tests/status_tests.rs b/beacon_node/http_api/tests/status_tests.rs index d37026d406e..801cd44074d 100644 --- a/beacon_node/http_api/tests/status_tests.rs +++ b/beacon_node/http_api/tests/status_tests.rs @@ -56,8 +56,8 @@ async fn el_syncing_then_synced() { mock_el.el.upcheck().await; let api_response = tester.client.get_node_syncing().await.unwrap().data; - assert_eq!(api_response.el_offline, Some(false)); - assert_eq!(api_response.is_optimistic, Some(false)); + assert_eq!(api_response.el_offline, false); + assert_eq!(api_response.is_optimistic, false); assert_eq!(api_response.is_syncing, false); // EL synced @@ -65,8 +65,8 @@ async fn el_syncing_then_synced() { mock_el.el.upcheck().await; let api_response = tester.client.get_node_syncing().await.unwrap().data; - assert_eq!(api_response.el_offline, Some(false)); - assert_eq!(api_response.is_optimistic, Some(false)); + assert_eq!(api_response.el_offline, false); + assert_eq!(api_response.is_optimistic, false); assert_eq!(api_response.is_syncing, false); } @@ -84,8 +84,8 @@ async fn el_offline() { mock_el.el.upcheck().await; let api_response = tester.client.get_node_syncing().await.unwrap().data; - assert_eq!(api_response.el_offline, Some(true)); - assert_eq!(api_response.is_optimistic, Some(false)); + assert_eq!(api_response.el_offline, true); + assert_eq!(api_response.is_optimistic, false); assert_eq!(api_response.is_syncing, false); } @@ -127,8 +127,8 @@ async fn el_error_on_new_payload() { // The EL should now be *offline* according to the API. let api_response = tester.client.get_node_syncing().await.unwrap().data; - assert_eq!(api_response.el_offline, Some(true)); - assert_eq!(api_response.is_optimistic, Some(false)); + assert_eq!(api_response.el_offline, true); + assert_eq!(api_response.is_optimistic, false); assert_eq!(api_response.is_syncing, false); // Processing a block successfully should remove the status. @@ -143,8 +143,8 @@ async fn el_error_on_new_payload() { harness.process_block_result((block, blobs)).await.unwrap(); let api_response = tester.client.get_node_syncing().await.unwrap().data; - assert_eq!(api_response.el_offline, Some(false)); - assert_eq!(api_response.is_optimistic, Some(false)); + assert_eq!(api_response.el_offline, false); + assert_eq!(api_response.is_optimistic, false); assert_eq!(api_response.is_syncing, false); } diff --git a/beacon_node/http_api/tests/tests.rs b/beacon_node/http_api/tests/tests.rs index 0733b60f7d5..d51799b8661 100644 --- a/beacon_node/http_api/tests/tests.rs +++ b/beacon_node/http_api/tests/tests.rs @@ -2159,9 +2159,9 @@ impl ApiTester { let expected = SyncingData { is_syncing: false, - is_optimistic: Some(false), + is_optimistic: false, // these tests run without the Bellatrix fork enabled - el_offline: Some(true), + el_offline: true, head_slot, sync_distance, }; diff --git a/common/eth2/src/types.rs b/common/eth2/src/types.rs index bbcbda3ae55..fa5fb654b72 100644 --- a/common/eth2/src/types.rs +++ b/common/eth2/src/types.rs @@ -599,8 +599,8 @@ pub struct VersionData { #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct SyncingData { pub is_syncing: bool, - pub is_optimistic: Option, - pub el_offline: Option, + pub is_optimistic: bool, + pub el_offline: bool, pub head_slot: Slot, pub sync_distance: Slot, } diff --git a/validator_client/src/check_synced.rs b/validator_client/src/check_synced.rs index fb88d33dae3..6437682512d 100644 --- a/validator_client/src/check_synced.rs +++ b/validator_client/src/check_synced.rs @@ -36,10 +36,8 @@ pub async fn check_synced( } }; - // Default EL status to "online" for backwards-compatibility with BNs that don't include it. - let el_offline = resp.data.el_offline.unwrap_or(false); let bn_is_synced = !resp.data.is_syncing || (resp.data.sync_distance.as_u64() < SYNC_TOLERANCE); - let is_synced = bn_is_synced && !el_offline; + let is_synced = bn_is_synced && !resp.data.el_offline; if let Some(log) = log_opt { if !is_synced { @@ -55,7 +53,7 @@ pub async fn check_synced( "sync_distance" => resp.data.sync_distance.as_u64(), "head_slot" => resp.data.head_slot.as_u64(), "endpoint" => %beacon_node, - "el_offline" => el_offline, + "el_offline" => resp.data.el_offline, ); }