From 19fc31a75be727ff811f54c249db19159003e90b Mon Sep 17 00:00:00 2001 From: Michael Sproul Date: Tue, 25 Feb 2025 16:30:27 +1100 Subject: [PATCH] Allow invalidation of "valid" nodes --- consensus/proto_array/src/proto_array.rs | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/consensus/proto_array/src/proto_array.rs b/consensus/proto_array/src/proto_array.rs index 5d0bee4c85..da110a9da4 100644 --- a/consensus/proto_array/src/proto_array.rs +++ b/consensus/proto_array/src/proto_array.rs @@ -531,15 +531,7 @@ impl ProtoArray { || latest_valid_ancestor_is_descendant { match &node.execution_status { - // It's illegal for an execution client to declare that some previously-valid block - // is now invalid. This is a consensus failure on their behalf. - ExecutionStatus::Valid(hash) => { - return Err(Error::ValidExecutionStatusBecameInvalid { - block_root: node.root, - payload_block_hash: *hash, - }) - } - ExecutionStatus::Optimistic(hash) => { + ExecutionStatus::Valid(hash) | ExecutionStatus::Optimistic(hash) => { invalidated_indices.insert(index); node.execution_status = ExecutionStatus::Invalid(*hash);