Merge branch 'unstable' into eip4844

This commit is contained in:
Diva M
2023-03-03 14:14:18 -05:00
21 changed files with 154 additions and 244 deletions

View File

@@ -10,7 +10,9 @@ use types::ExecutionBlockHash;
pub enum PayloadStatus {
Valid,
Invalid {
latest_valid_hash: ExecutionBlockHash,
/// The EE will provide a `None` LVH when it is unable to determine the
/// latest valid ancestor.
latest_valid_hash: Option<ExecutionBlockHash>,
validation_error: Option<String>,
},
Syncing,
@@ -55,22 +57,10 @@ pub fn process_payload_status(
})
}
}
PayloadStatusV1Status::Invalid => {
if let Some(latest_valid_hash) = response.latest_valid_hash {
// The response is only valid if `latest_valid_hash` is not `null`.
Ok(PayloadStatus::Invalid {
latest_valid_hash,
validation_error: response.validation_error.clone(),
})
} else {
Err(EngineError::Api {
error: ApiError::BadResponse(
"new_payload: response.status = INVALID but null latest_valid_hash"
.to_string(),
),
})
}
}
PayloadStatusV1Status::Invalid => Ok(PayloadStatus::Invalid {
latest_valid_hash: response.latest_valid_hash,
validation_error: response.validation_error,
}),
PayloadStatusV1Status::InvalidBlockHash => {
// In the interests of being liberal with what we accept, only raise a
// warning here.