diff --git a/eth1_api/src/execution_service.rs b/eth1_api/src/execution_service.rs index 628fe4cc..0827d89e 100644 --- a/eth1_api/src/execution_service.rs +++ b/eth1_api/src/execution_service.rs @@ -114,6 +114,8 @@ impl ExecutionService { finalized_eth1_block_hash: ExecutionBlockHash, payload_attributes: Either>, ) -> Option { + let payload_id_expected = payload_attributes.as_ref().right().is_some(); + let response = self .api .forkchoice_updated( @@ -126,6 +128,10 @@ impl ExecutionService { match response { Ok(response) => { + if response.payload_id.is_none() && payload_id_expected { + warn!("payload_id expected but was none: {response:?}"); + } + if response.payload_status.status.is_invalid() { warn!( "engine_forkchoiceUpdated returned INVALID status \ diff --git a/validator/src/validator.rs b/validator/src/validator.rs index 73b498dd..4ab2aa81 100644 --- a/validator/src/validator.rs +++ b/validator/src/validator.rs @@ -873,6 +873,10 @@ impl Validator { }; let Some(payload_id) = payload_id else { + error!( + "payload_id from execution layer was not received; This will lead to missed block" + ); + return Ok(None); };