Cleanup Comments & Fix get_pow_block_hash_at_ttd() (#2835)

This commit is contained in:
ethDreamer 2021-11-29 18:56:49 -06:00 committed by Paul Hauner
parent 1b56ebf85e
commit c2f2813385
No known key found for this signature in database
GPG Key ID: 5E2CFF9B75FA63DF
2 changed files with 16 additions and 41 deletions

View File

@ -624,18 +624,6 @@ mod test {
.await .await
.with_preloaded_responses( .with_preloaded_responses(
// engine_forkchoiceUpdatedV1 (prepare payload) RESPONSE validation // engine_forkchoiceUpdatedV1 (prepare payload) RESPONSE validation
//
// NOTE THIS HAD TO BE MODIFIED FROM ORIGINAL RESPONSE
// {
// "jsonrpc":"2.0",
// "id":67,
// "result":{
// "status":"VALID", // <- This must be SUCCESS
// "payloadId":"0xa247243752eb10b4"
// }
// }
// see spec for engine_forkchoiceUpdatedV1 response:
// https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.4/src/engine/specification.md#response-1
vec![json!({ vec![json!({
"id": STATIC_ID, "id": STATIC_ID,
"jsonrpc": JSONRPC_VERSION, "jsonrpc": JSONRPC_VERSION,
@ -779,18 +767,6 @@ mod test {
.await .await
.with_preloaded_responses( .with_preloaded_responses(
// engine_executePayloadV1 RESPONSE validation // engine_executePayloadV1 RESPONSE validation
//
// NOTE THIS HAD TO BE MODIFIED FROM ORIGINAL RESPONSE
// {
// "jsonrpc":"2.0",
// "id":67,
// "result":{
// "status":"SUCCESS", // <- This must be VALID
// "latestValidHash":"0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858"
// }
// }
// see spec for engine_executePayloadV1 response:
// https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.4/src/engine/specification.md#response
vec![json!({ vec![json!({
"jsonrpc": JSONRPC_VERSION, "jsonrpc": JSONRPC_VERSION,
"id": STATIC_ID, "id": STATIC_ID,
@ -852,7 +828,7 @@ mod test {
"id": STATIC_ID, "id": STATIC_ID,
"result": { "result": {
"status":"SUCCESS", "status":"SUCCESS",
"payloadId": serde_json::Value::Null "payloadId": JSON_NULL,
} }
})], })],
|client| async move { |client| async move {

View File

@ -530,24 +530,23 @@ impl ExecutionLayer {
// this implementation becomes canonical. // this implementation becomes canonical.
loop { loop {
let block_reached_ttd = block.total_difficulty >= spec.terminal_total_difficulty; let block_reached_ttd = block.total_difficulty >= spec.terminal_total_difficulty;
if block_reached_ttd && block.parent_hash == Hash256::zero() { if block_reached_ttd {
return Ok(Some(block.block_hash)); if block.parent_hash == Hash256::zero() {
} else if block.parent_hash == Hash256::zero() { return Ok(Some(block.block_hash));
// The end of the chain has been reached without finding the TTD, there is no }
// terminal block. let parent = self
return Ok(None); .get_pow_block(engine, block.parent_hash)
} .await?
.ok_or(ApiError::ExecutionBlockNotFound(block.parent_hash))?;
let parent_reached_ttd = parent.total_difficulty >= spec.terminal_total_difficulty;
let parent = self if block_reached_ttd && !parent_reached_ttd {
.get_pow_block(engine, block.parent_hash) return Ok(Some(block.block_hash));
.await? } else {
.ok_or(ApiError::ExecutionBlockNotFound(block.parent_hash))?; block = parent;
let parent_reached_ttd = parent.total_difficulty >= spec.terminal_total_difficulty; }
if block_reached_ttd && !parent_reached_ttd {
return Ok(Some(block.block_hash));
} else { } else {
block = parent; return Ok(None);
} }
} }
} }