From 98313a0beabe1d2cfa640e251192e8ba9d47ef1e Mon Sep 17 00:00:00 2001 From: ligt Date: Wed, 4 Feb 2026 18:45:40 +0700 Subject: [PATCH] fix(engine): ensure block in memory before setting canonical head (#21693) --- crates/engine/tree/src/tree/mod.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/crates/engine/tree/src/tree/mod.rs b/crates/engine/tree/src/tree/mod.rs index d2f7ad551d..c6700ad6d5 100644 --- a/crates/engine/tree/src/tree/mod.rs +++ b/crates/engine/tree/src/tree/mod.rs @@ -969,14 +969,13 @@ where &self, canonical_header: &SealedHeader, ) -> ProviderResult<()> { - let new_head_number = canonical_header.number(); - let new_head_hash = canonical_header.hash(); + // Load the block into memory if it's not already present + self.ensure_block_in_memory(canonical_header.number(), canonical_header.hash())?; // Update the canonical head header self.canonical_in_memory_state.set_canonical_head(canonical_header.clone()); - // Load the block into memory if it's not already present - self.ensure_block_in_memory(new_head_number, new_head_hash) + Ok(()) } /// Ensures a block is loaded into memory if not already present.